aboutsummaryrefslogtreecommitdiff
path: root/package/setools/setools.mk
blob: 532e3d036a65d3e609e77a40836675c094322867 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
################################################################################
#
# setools
#
################################################################################

SETOOLS_VERSION = 3.3.8
SETOOLS_SOURCE = setools-$(SETOOLS_VERSION).tar.bz2
SETOOLS_SITE = https://raw.githubusercontent.com/wiki/TresysTechnology/setools3/files/dists/setools-$(SETOOLS_VERSION)
SETOOLS_DEPENDENCIES = libselinux libsepol sqlite libxml2 bzip2 host-bison host-flex
SETOOLS_INSTALL_STAGING = YES
SETOOLS_LICENSE = GPL-2.0+, LGPL-2.1+
SETOOLS_LICENSE_FILES = COPYING COPYING.GPL COPYING.LGPL

# configure.ac is patched by the cross compile patch,
# so autoreconf is necessary
SETOOLS_AUTORECONF = YES

# Notes: Need "disable-selinux-check" so the configure does not check to see
#        if host has selinux enabled.
#        No python support as only the libraries and commandline tools are
#        installed on target
SETOOLS_CONF_OPTS = \
	--disable-debug \
	--disable-gui \
	--disable-bwidget-check \
	--disable-selinux-check \
	--disable-swig-java \
	--disable-swig-python \
	--disable-swig-tcl \
	--with-sepol-devel="$(STAGING_DIR)/usr" \
	--with-selinux-devel="$(STAGING_DIR)/usr"

ifeq ($(BR2_sparc64):$(BR2_STATIC_LIBS),y:)
SETOOLS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -fPIC"
endif

HOST_SETOOLS_DEPENDENCIES = host-libselinux host-libsepol host-sqlite \
	host-libxml2 host-bzip2 host-bison

ifeq ($(BR2_PACKAGE_PYTHON3),y)
HOST_SETOOLS_PYTHON_VERSION=$(PYTHON3_VERSION_MAJOR)
HOST_SETOOLS_DEPENDENCIES += host-python3
HOST_SETOOLS_CONF_ENV += am_cv_python_version=$(PYTHON3_VERSION)
else
HOST_SETOOLS_PYTHON_VERSION=$(PYTHON_VERSION_MAJOR)
HOST_SETOOLS_DEPENDENCIES += host-python
HOST_SETOOLS_CONF_ENV += am_cv_python_version=$(PYTHON_VERSION)
endif

HOST_SETOOLS_PYTHON_SITE_PACKAGES = $(HOST_DIR)/usr/lib/python$(HOST_SETOOLS_PYTHON_VERSION)/site-packages
HOST_SETOOLS_PYTHON_INCLUDES = $(HOST_DIR)/usr/include/python$(HOST_SETOOLS_PYTHON_VERSION)
HOST_SETOOLS_PYTHON_LIB = -lpython$(HOST_SETOOLS_PYTHON_VERSION)

# Notes: Need "disable-selinux-check" so the configure does not check to see
#        if host has selinux enabled.
#        Host builds with python support to enable tools for offline target
#        policy analysis
HOST_SETOOLS_CONF_OPTS = \
	--disable-debug \
	--disable-gui \
	--disable-bwidget-check \
	--disable-selinux-check \
	--disable-swig-java \
	--disable-swig-python \
	--disable-swig-tcl \
	--with-sepol-devel="$(HOST_DIR)/usr" \
	--with-selinux-devel="$(HOST_DIR)/usr" \
	PYTHON_LDFLAGS="-L$(HOST_DIR)/usr/lib/" \
	PYTHON_CPPFLAGS="-I$(HOST_SETOOLS_PYTHON_INCLUDES)" \
	PYTHON_SITE_PKG="$(HOST_SETOOLS_PYTHON_SITE_PACKAGES)" \
	PYTHON_EXTRA_LIBS="-lpthread -ldl -lutil $(HOST_SETOOLS_PYTHON_LIB)"

HOST_SETOOLS_CONF_ENV += \
	am_cv_pathless_PYTHON=python \
	ac_cv_path_PYTHON=$(HOST_DIR)/usr/bin/python \
	am_cv_python_platform=linux2 \
	am_cv_python_version=$(HOST_SETOOLS_PYTHON_VERSION) \
	am_cv_python_pythondir=$(HOST_SETOOLS_PYTHON_SITE_PACKAGES) \
	am_cv_python_pyexecdir=$(HOST_SETOOLS_PYTHON_SITE_PACKAGES) \
	am_cv_python_includes=-I$(HOST_SETOOLS_PYTHON_INCLUDES)

$(eval $(autotools-package))
$(eval $(host-autotools-package))