1 ################################################################################
5 ################################################################################
7 LIBSELINUX_VERSION = 2.1.13
8 LIBSELINUX_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20130423
9 LIBSELINUX_LICENSE = Public Domain
10 LIBSELINUX_LICENSE_FILES = LICENSE
12 LIBSELINUX_DEPENDENCIES = libsepol pcre
14 LIBSELINUX_INSTALL_STAGING = YES
16 LIBSELINUX_MAKE_OPTS = \
17 $(TARGET_CONFIGURE_OPTS) \
18 LDFLAGS="$(TARGET_LDFLAGS) -lpcre -lpthread"
20 define LIBSELINUX_BUILD_CMDS
21 # DESTDIR is needed during the compile to compute library and
23 $(MAKE) -C $(@D) $(LIBSELINUX_MAKE_OPTS) DESTDIR=$(STAGING_DIR) all
26 define LIBSELINUX_INSTALL_STAGING_CMDS
27 $(MAKE) -C $(@D) $(LIBSELINUX_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install
30 define LIBSELINUX_INSTALL_TARGET_CMDS
31 $(MAKE) -C $(@D) $(LIBSELINUX_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install
32 # Create the selinuxfs mount point
33 if [ ! -d "$(TARGET_DIR)/selinux" ]; then mkdir $(TARGET_DIR)/selinux; fi
34 if ! grep -q "selinuxfs" $(TARGET_DIR)/etc/fstab; then \
35 echo "none /selinux selinuxfs noauto 0 0" >> $(TARGET_DIR)/etc/fstab ; fi
38 HOST_LIBSELINUX_DEPENDENCIES = \
39 host-libsepol host-pcre host-swig
41 ifeq ($(BR2_PACKAGE_PYTHON3),y)
42 HOST_LIBSELINUX_DEPENDENCIES += host-python3
43 HOST_LIBSELINUX_PYTHONLIBDIR = -L$(HOST_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/
44 HOST_LIBSELINUX_PYINC = -I$(HOST_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR)m/
45 HOST_LIBSELINUX_PYLIBVER = python$(PYTHON3_VERSION_MAJOR)
47 HOST_LIBSELINUX_DEPENDENCIES += host-python
48 HOST_LIBSELINUX_PYTHONLIBDIR = -L$(HOST_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/
49 HOST_LIBSELINUX_PYINC = -I$(HOST_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)/
50 HOST_LIBSELINUX_PYLIBVER = python$(PYTHON_VERSION_MAJOR)
53 HOST_LIBSELINUX_MAKE_OPTS = \
54 $(HOST_CONFIGURE_OPTS) \
55 LDFLAGS="$(HOST_LDFLAGS) -lpcre -lpthread" \
56 PYINC="$(HOST_LIBSELINUX_PYINC)" \
57 PYTHONLIBDIR="$(HOST_LIBSELINUX_PYTHONLIBDIR)" \
58 PYLIBVER="$(HOST_LIBSELINUX_PYLIBVER)" \
59 SWIG_LIB="$(HOST_DIR)/usr/share/swig/$(SWIG_VERSION)/"
61 define HOST_LIBSELINUX_BUILD_CMDS
62 # DESTDIR is needed during the compile to compute library and
64 $(MAKE1) -C $(@D) $(HOST_LIBSELINUX_MAKE_OPTS) DESTDIR=$(HOST_DIR) \
65 SHLIBDIR=$(HOST_DIR)/usr/lib all
66 # Generate python interface wrapper
67 $(MAKE1) -C $(@D) $(HOST_LIBSELINUX_MAKE_OPTS) DESTDIR=$(HOST_DIR) swigify pywrap
70 define HOST_LIBSELINUX_INSTALL_CMDS
71 $(MAKE) -C $(@D) $(HOST_LIBSELINUX_MAKE_OPTS) DESTDIR=$(HOST_DIR) \
72 SHLIBDIR=$(HOST_DIR)/usr/lib SBINDIR=$(HOST_DIR)/usr/sbin install
73 (cd $(HOST_DIR)/usr/lib; $(HOSTLN) -sf libselinux.so.1 libselinux.so)
74 # Install python interface wrapper
75 $(MAKE) -C $(@D) $(HOST_LIBSELINUX_MAKE_OPTS) DESTDIR=$(HOST_DIR) install-pywrap
78 $(eval $(generic-package))
79 $(eval $(host-generic-package))