kumquat-buildroot/package/procps-ng/procps-ng.mk
Thomas Petazzoni 9bccca26fb procps-ng: fix BR2_STATIC_LIBS=y build
The procps-ng package currently fails to build on BR2_STATIC_LIBS=y
configurations. Indeed, by default NUMA support is enabled, and it
requires dlopen(). As hinted by the configure script, passing
--disable-numa allows to disable NUMA support.

However, once this is done, another issue pops up: dlopen() is also used
by the SELinux support. But even when SELinux support is disabled, the
procps-ng code incorrectly includes <dlfcn.h>. This is addressed by the
addition of a patch.

Fixes:

  http://autobuild.buildroot.net/results/b385bf435085728aece6323a5006ba9fa6631744/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-08-09 15:48:46 +02:00

57 lines
1.7 KiB
Makefile

################################################################################
#
# procps-ng
#
################################################################################
PROCPS_NG_VERSION = 3.3.11
PROCPS_NG_SOURCE = procps-ng-$(PROCPS_NG_VERSION).tar.xz
PROCPS_NG_SITE = http://downloads.sourceforge.net/project/procps-ng/Production
PROCPS_NG_LICENSE = GPLv2+, libproc and libps LGPLv2+
PROCPS_NG_LICENSE_FILES = COPYING COPYING.LIB
PROCPS_NG_INSTALL_STAGING = YES
PROCPS_NG_DEPENDENCIES = ncurses host-pkgconf
# For 0002-use-pkgconfig-for-ncursesw-cflags.patch
PROCPS_NG_AUTORECONF = YES
PROCPS_NG_GETTEXTIZE = YES
# If both procps-ng and busybox are selected, make certain procps-ng
# wins the fight over who gets to have their utils actually installed.
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
PROCPS_NG_DEPENDENCIES += busybox
endif
ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
PROCPS_NG_DEPENDENCIES += gettext
PROCPS_NG_CONF_OPTS += LIBS=-lintl
endif
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
PROCPS_NG_DEPENDENCIES += systemd
PROCPS_NG_CONF_OPTS += --with-systemd
else
PROCPS_NG_CONF_OPTS += --without-systemd
endif
# Make sure binaries get installed in /bin, so that they overwrite
# their busybox counterparts.
# Make sure libprocps.pc is installed in STAGING_DIR/usr/lib/pkgconfig/
# otherwise it's installed in STAGING_DIR/lib/pkgconfig/ breaking
# pkg-config --libs libprocps.
PROCPS_NG_CONF_OPTS += --exec-prefix=/ \
--libdir=/usr/lib
# Allows unicode characters to show in 'watch'
ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
PROCPS_NG_CONF_OPTS += \
--enable-watch8bit
endif
# numa support requires libdl, so explicitly disable it when
# BR2_STATIC_LIBS=y
ifeq ($(BR2_STATIC_LIBS),y)
PROCPS_NG_CONF_OPTS += --disable-numa
endif
$(eval $(autotools-package))