12a9fb947c
libsepol has a pretty peculiar interpretation of DESTDIR and PREFIX. PREFIX is not consistently used: some installation paths are forced to $(DESTDIR)/usr/... . Also, the shared lib symlink is forced to ../../lib (i.e. assumes it's installed under /usr). For these reasons, the host build and install commands are a bit unusual: they use DESTDIR instead of PREFIX, DESTDIR points to $(HOST_DIR) without /usr, and some additional fixup is needed to correct the installation directory of libsepol.so.1 and the symlink to it. This can be simplified quite a lot by passing both DESTDIR and PREFIX, and including the /usr part in both. The symlink still has to be fixed, but that's much simpler. Note that a side effect is that the man pages are now installed under $(HOST_DIR)/usr/usr/man. While not very nice, we don't really care about man pages. In addition, this will resolve itself when we later move $(HOST_DIR)/usr to $(HOST_DIR). Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
52 lines
1.5 KiB
Makefile
52 lines
1.5 KiB
Makefile
################################################################################
|
|
#
|
|
# libsepol
|
|
#
|
|
################################################################################
|
|
|
|
LIBSEPOL_VERSION = 2.6
|
|
LIBSEPOL_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20161014
|
|
LIBSEPOL_LICENSE = LGPL-2.1+
|
|
LIBSEPOL_LICENSE_FILES = COPYING
|
|
|
|
LIBSEPOL_INSTALL_STAGING = YES
|
|
LIBSEPOL_DEPENDENCIES = host-flex
|
|
HOST_LIBSEPOL_DEPENDENCIES = host-flex
|
|
|
|
LIBSEPOL_MAKE_FLAGS = $(TARGET_CONFIGURE_OPTS)
|
|
|
|
ifeq ($(BR2_STATIC_LIBS),y)
|
|
LIBSEPOL_MAKE_FLAGS += STATIC=1
|
|
endif
|
|
|
|
define LIBSEPOL_BUILD_CMDS
|
|
# DESTDIR is needed during the compile to compute library and
|
|
# header paths.
|
|
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(STAGING_DIR)
|
|
endef
|
|
|
|
define LIBSEPOL_INSTALL_STAGING_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(STAGING_DIR)
|
|
endef
|
|
|
|
define LIBSEPOL_INSTALL_TARGET_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(TARGET_DIR)
|
|
endef
|
|
|
|
HOST_LIBSEPOL_MAKE_ENV = \
|
|
$(HOST_MAKE_ENV) \
|
|
DESTDIR=$(HOST_DIR)/usr \
|
|
PREFIX=$(HOST_DIR)/usr
|
|
|
|
define HOST_LIBSEPOL_BUILD_CMDS
|
|
$(HOST_LIBSEPOL_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CONFIGURE_OPTS)
|
|
endef
|
|
|
|
define HOST_LIBSEPOL_INSTALL_CMDS
|
|
$(HOST_LIBSEPOL_MAKE_ENV) $(MAKE) -C $(@D) install $(HOST_CONFIGURE_OPTS)
|
|
ln -sf libsepol.so.1 $(HOST_DIR)/usr/lib/libsepol.so
|
|
endef
|
|
|
|
$(eval $(generic-package))
|
|
$(eval $(host-generic-package))
|