1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# util-linux-libs 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun# Please keep this file as similar as possible to util-linux.mk 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunUTIL_LINUX_LIBS_VERSION = $(UTIL_LINUX_VERSION) 10*4882a593SmuzhiyunUTIL_LINUX_LIBS_SOURCE = $(UTIL_LINUX_SOURCE) 11*4882a593SmuzhiyunUTIL_LINUX_LIBS_SITE = $(UTIL_LINUX_SITE) 12*4882a593SmuzhiyunUTIL_LINUX_LIBS_DL_SUBDIR = $(UTIL_LINUX_DL_SUBDIR) 13*4882a593SmuzhiyunUTIL_LINUX_LIBS_CPE_ID_VENDOR = $(UTIL_LINUX_CPE_ID_VENDOR) 14*4882a593SmuzhiyunUTIL_LINUX_LIBS_CPE_ID_PRODUCT = $(UTIL_LINUX_CPE_ID_PRODUCT) 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun# README.licensing claims that some files are GPL-2.0 only, but this is not 17*4882a593Smuzhiyun# true. Some files are GPL-3.0+ but only in tests and optionally in hwclock 18*4882a593Smuzhiyun# (but we disable that option). rfkill uses an ISC-style license. 19*4882a593SmuzhiyunUTIL_LINUX_LIBS_LICENSE = LGPL-2.1+ (libblkid, libfdisk, libmount), BSD-3-Clause (libuuid) 20*4882a593SmuzhiyunUTIL_LINUX_LIBS_LICENSE_FILES = README.licensing \ 21*4882a593Smuzhiyun Documentation/licenses/COPYING.BSD-3-Clause \ 22*4882a593Smuzhiyun Documentation/licenses/COPYING.LGPL-2.1-or-later 23*4882a593Smuzhiyun 24*4882a593SmuzhiyunUTIL_LINUX_LIBS_INSTALL_STAGING = YES 25*4882a593SmuzhiyunUTIL_LINUX_LIBS_DEPENDENCIES = \ 26*4882a593Smuzhiyun host-pkgconf \ 27*4882a593Smuzhiyun $(TARGET_NLS_DEPENDENCIES) 28*4882a593SmuzhiyunUTIL_LINUX_LIBS_CONF_OPTS += \ 29*4882a593Smuzhiyun --disable-rpath \ 30*4882a593Smuzhiyun --disable-makeinstall-chown 31*4882a593Smuzhiyun 32*4882a593SmuzhiyunUTIL_LINUX_LIBS_LINK_LIBS = $(TARGET_NLS_LIBS) 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun# Prevent the installation from attempting to move shared libraries from 35*4882a593Smuzhiyun# ${usrlib_execdir} (/usr/lib) to ${libdir} (/lib), since both paths are 36*4882a593Smuzhiyun# the same when merged usr is in use. 37*4882a593Smuzhiyunifeq ($(BR2_ROOTFS_MERGED_USR),y) 38*4882a593SmuzhiyunUTIL_LINUX_LIBS_CONF_OPTS += --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/usr/lib 39*4882a593Smuzhiyunendif 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun# systemd depends on util-linux-libs so we disable systemd support 42*4882a593SmuzhiyunUTIL_LINUX_LIBS_CONF_OPTS += \ 43*4882a593Smuzhiyun --without-systemd \ 44*4882a593Smuzhiyun --with-systemdsystemunitdir=no 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun# systemd/eudev depend on util-linux-libs so we disable udev support 47*4882a593SmuzhiyunUTIL_LINUX_LIBS_CONF_OPTS += --without-udev 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun# No libs use wchar 50*4882a593SmuzhiyunUTIL_LINUX_LIBS_CONF_OPTS += --disable-widechar 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun# No libs use ncurses 53*4882a593SmuzhiyunUTIL_LINUX_LIBS_CONF_OPTS += --without-ncursesw --without-ncurses 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun# Unfortunately, the util-linux does LIBS="" at the end of its 56*4882a593Smuzhiyun# configure script. So we have to pass the proper LIBS value when 57*4882a593Smuzhiyun# calling the configure script to make configure tests pass properly, 58*4882a593Smuzhiyun# and then pass it again at build time. 59*4882a593SmuzhiyunUTIL_LINUX_LIBS_CONF_ENV += LIBS="$(UTIL_LINUX_LIBS_LINK_LIBS)" 60*4882a593SmuzhiyunUTIL_LINUX_LIBS_MAKE_OPTS += LIBS="$(UTIL_LINUX_LIBS_LINK_LIBS)" 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun# libmount optionally uses selinux 63*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT)$(BR2_PACKAGE_LIBSELINUX),yy) 64*4882a593SmuzhiyunUTIL_LINUX_LIBS_DEPENDENCIES += libselinux 65*4882a593SmuzhiyunUTIL_LINUX_LIBS_CONF_OPTS += --with-selinux 66*4882a593Smuzhiyunelse 67*4882a593SmuzhiyunUTIL_LINUX_LIBS_CONF_OPTS += --without-selinux 68*4882a593Smuzhiyunendif 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun# Disable utilities 71*4882a593SmuzhiyunUTIL_LINUX_LIBS_CONF_OPTS += \ 72*4882a593Smuzhiyun --disable-all-programs \ 73*4882a593Smuzhiyun $(if $(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),--enable-libblkid,--disable-libblkid) \ 74*4882a593Smuzhiyun $(if $(BR2_PACKAGE_UTIL_LINUX_LIBFDISK),--enable-libfdisk,--disable-libfdisk) \ 75*4882a593Smuzhiyun $(if $(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),--enable-libmount,--disable-libmount) \ 76*4882a593Smuzhiyun $(if $(BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS),--enable-libsmartcols,--disable-libsmartcols) \ 77*4882a593Smuzhiyun $(if $(BR2_PACKAGE_UTIL_LINUX_LIBUUID),--enable-libuuid,--disable-libuuid) 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun# libmount python bindings are separate, will be installed by full util-linux 80*4882a593SmuzhiyunUTIL_LINUX_LIBS_CONF_OPTS += --without-python --disable-pylibmount 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun# No libs use readline 83*4882a593SmuzhiyunUTIL_LINUX_LIBS_CONF_OPTS += --without-readline 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun# No libs use audit 86*4882a593SmuzhiyunUTIL_LINUX_LIBS_CONF_OPTS += --without-audit 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun# No libs use libmagic 89*4882a593SmuzhiyunUTIL_LINUX_LIBS_CONF_OPTS += --without-libmagic 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun$(eval $(autotools-package)) 92