Skip to content

Commit

Permalink
build system: use pkg-config to look up selinux libs
Browse files Browse the repository at this point in the history
Newer versions of libselinux has started linking against more libs.
Rather than continuing hardcoding things, switch to using pkg-config
to query for its dependencies.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
  • Loading branch information
vapier committed Oct 20, 2012
1 parent 67dc7b2 commit 5694afd
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,7 @@ NM = $(CROSS_COMPILE)nm
STRIP = $(CROSS_COMPILE)strip
OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump
PKG_CONFIG ?= $(CROSS_COMPILE)pkg-config
AWK = awk
GENKSYMS = scripts/genksyms/genksyms
DEPMOD = /sbin/depmod
Expand Down
12 changes: 11 additions & 1 deletion Makefile.flags
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,12 @@ ARCH_FPIC ?= -fpic
ARCH_FPIE ?= -fpie
ARCH_PIE ?= -pie

# Usage: $(eval $(call pkg_check_modules,VARIABLE-PREFIX,MODULES))
define pkg_check_modules
$(1)_CFLAGS := $(shell $(PKG_CONFIG) $(PKG_CONFIG_FLAGS) --cflags $(2))
$(1)_LIBS := $(shell $(PKG_CONFIG) $(PKG_CONFIG_FLAGS) --libs $(2))
endef

ifeq ($(CONFIG_BUILD_LIBBUSYBOX),y)
# on i386: 14% smaller libbusybox.so
# (code itself is 9% bigger, we save on relocs/PLT/GOT)
Expand All @@ -89,6 +95,7 @@ endif

ifeq ($(CONFIG_STATIC),y)
CFLAGS_busybox += -static
PKG_CONFIG_FLAGS += --static
endif

ifeq ($(CONFIG_PIE),y)
Expand Down Expand Up @@ -131,7 +138,10 @@ LDLIBS += pam pam_misc pthread
endif

ifeq ($(CONFIG_SELINUX),y)
LDLIBS += selinux sepol
SELINUX_PC_MODULES = libselinux libsepol
$(eval $(call pkg_check_modules,SELINUX,$(SELINUX_PC_MODULES)))
CPPFLAGS += $(SELINUX_CFLAGS)
LDLIBS += $(if $(SELINUX_LIBS),$(SELINUX_LIBS:-l%=%),$(SELINUX_PC_MODULES:lib%=%))
endif

ifeq ($(CONFIG_EFENCE),y)
Expand Down

0 comments on commit 5694afd

Please sign in to comment.