util-linux-libs.mk 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. ################################################################################
  2. #
  3. # util-linux-libs
  4. #
  5. ################################################################################
  6. # Please keep this file as similar as possible to util-linux.mk
  7. UTIL_LINUX_LIBS_VERSION = $(UTIL_LINUX_VERSION)
  8. UTIL_LINUX_LIBS_SOURCE = $(UTIL_LINUX_SOURCE)
  9. UTIL_LINUX_LIBS_SITE = $(UTIL_LINUX_SITE)
  10. UTIL_LINUX_LIBS_DL_SUBDIR = $(UTIL_LINUX_DL_SUBDIR)
  11. UTIL_LINUX_LIBS_CPE_ID_VENDOR = $(UTIL_LINUX_CPE_ID_VENDOR)
  12. UTIL_LINUX_LIBS_CPE_ID_PRODUCT = $(UTIL_LINUX_CPE_ID_PRODUCT)
  13. # README.licensing claims that some files are GPL-2.0 only, but this is not
  14. # true. Some files are GPL-3.0+ but only in tests and optionally in hwclock
  15. # (but we disable that option). rfkill uses an ISC-style license.
  16. UTIL_LINUX_LIBS_LICENSE = LGPL-2.1+ (libblkid, libfdisk, libmount), BSD-3-Clause (libuuid)
  17. UTIL_LINUX_LIBS_LICENSE_FILES = README.licensing \
  18. Documentation/licenses/COPYING.BSD-3-Clause \
  19. Documentation/licenses/COPYING.LGPL-2.1-or-later
  20. UTIL_LINUX_LIBS_INSTALL_STAGING = YES
  21. UTIL_LINUX_LIBS_DEPENDENCIES = \
  22. host-pkgconf \
  23. $(TARGET_NLS_DEPENDENCIES)
  24. UTIL_LINUX_LIBS_CONF_OPTS += \
  25. --disable-rpath \
  26. --disable-makeinstall-chown
  27. UTIL_LINUX_LIBS_LINK_LIBS = $(TARGET_NLS_LIBS)
  28. # Prevent the installation from attempting to move shared libraries from
  29. # ${usrlib_execdir} (/usr/lib) to ${libdir} (/lib), since both paths are
  30. # the same when merged usr is in use.
  31. ifeq ($(BR2_ROOTFS_MERGED_USR),y)
  32. UTIL_LINUX_LIBS_CONF_OPTS += --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/usr/lib
  33. endif
  34. # systemd depends on util-linux-libs so we disable systemd support
  35. UTIL_LINUX_LIBS_CONF_OPTS += \
  36. --without-systemd \
  37. --with-systemdsystemunitdir=no
  38. # systemd/eudev depend on util-linux-libs so we disable udev support
  39. UTIL_LINUX_LIBS_CONF_OPTS += --without-udev
  40. # No libs use wchar
  41. UTIL_LINUX_LIBS_CONF_OPTS += --disable-widechar
  42. # No libs use ncurses
  43. UTIL_LINUX_LIBS_CONF_OPTS += --without-ncursesw --without-ncurses
  44. # workaround for static_assert on uclibc-ng < 1.0.42
  45. UTIL_LINUX_LIBS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -Dstatic_assert=_Static_assert"
  46. # Unfortunately, the util-linux does LIBS="" at the end of its
  47. # configure script. So we have to pass the proper LIBS value when
  48. # calling the configure script to make configure tests pass properly,
  49. # and then pass it again at build time.
  50. UTIL_LINUX_LIBS_CONF_ENV += LIBS="$(UTIL_LINUX_LIBS_LINK_LIBS)"
  51. UTIL_LINUX_LIBS_MAKE_OPTS += LIBS="$(UTIL_LINUX_LIBS_LINK_LIBS)"
  52. # libmount optionally uses selinux
  53. ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT)$(BR2_PACKAGE_LIBSELINUX),yy)
  54. UTIL_LINUX_LIBS_DEPENDENCIES += libselinux
  55. UTIL_LINUX_LIBS_CONF_OPTS += --with-selinux
  56. else
  57. UTIL_LINUX_LIBS_CONF_OPTS += --without-selinux
  58. endif
  59. # Disable utilities
  60. UTIL_LINUX_LIBS_CONF_OPTS += \
  61. --disable-all-programs \
  62. $(if $(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),--enable-libblkid,--disable-libblkid) \
  63. $(if $(BR2_PACKAGE_UTIL_LINUX_LIBFDISK),--enable-libfdisk,--disable-libfdisk) \
  64. $(if $(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),--enable-libmount,--disable-libmount) \
  65. $(if $(BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS),--enable-libsmartcols,--disable-libsmartcols) \
  66. $(if $(BR2_PACKAGE_UTIL_LINUX_LIBUUID),--enable-libuuid,--disable-libuuid)
  67. # libmount python bindings are separate, will be installed by full util-linux
  68. UTIL_LINUX_LIBS_CONF_OPTS += --without-python --disable-pylibmount
  69. # No libs use readline
  70. UTIL_LINUX_LIBS_CONF_OPTS += --without-readline
  71. # No libs use audit
  72. UTIL_LINUX_LIBS_CONF_OPTS += --without-audit
  73. # No libs use libmagic
  74. UTIL_LINUX_LIBS_CONF_OPTS += --without-libmagic
  75. $(eval $(autotools-package))