xref: /OK3568_Linux_fs/buildroot/package/util-linux/util-linux-libs/util-linux-libs.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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