e6a7c6b6c6dadcdc7cd743906766be739130c2b5
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / package / libselinux / libselinux.mk
1 ################################################################################
2 #
3 # libselinux
4 #
5 ################################################################################
6
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
11
12 LIBSELINUX_DEPENDENCIES = libsepol pcre
13
14 LIBSELINUX_INSTALL_STAGING = YES
15
16 LIBSELINUX_MAKE_OPTS = \
17         $(TARGET_CONFIGURE_OPTS) \
18         LDFLAGS="$(TARGET_LDFLAGS) -lpcre -lpthread"
19
20 define LIBSELINUX_BUILD_CMDS
21         # DESTDIR is needed during the compile to compute library and
22         # header paths.
23         $(MAKE) -C $(@D) $(LIBSELINUX_MAKE_OPTS) DESTDIR=$(STAGING_DIR) all
24 endef
25
26 define LIBSELINUX_INSTALL_STAGING_CMDS
27         $(MAKE) -C $(@D) $(LIBSELINUX_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install
28 endef
29
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
36 endef
37
38 HOST_LIBSELINUX_DEPENDENCIES = \
39         host-libsepol host-pcre host-swig
40
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)
46 else
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)
51 endif
52
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)/"
60
61 define HOST_LIBSELINUX_BUILD_CMDS
62         # DESTDIR is needed during the compile to compute library and
63         # header paths.
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
68 endef
69
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
76 endef
77
78 $(eval $(generic-package))
79 $(eval $(host-generic-package))