aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac159
1 files changed, 64 insertions, 95 deletions
diff --git a/configure.ac b/configure.ac
index 5ef97cbd0..bf501506d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,9 +12,10 @@
12# 12#
13 13
14AC_PREREQ([2.68]) 14AC_PREREQ([2.68])
15AC_INIT([firejail],[0.9.67],[netblue30@protonmail.com],[],[https://firejail.wordpress.com]) 15AC_INIT([firejail], [0.9.67], [netblue30@protonmail.com], [],
16AC_CONFIG_SRCDIR([src/firejail/main.c]) 16 [https://firejail.wordpress.com])
17 17
18AC_CONFIG_SRCDIR([src/firejail/main.c])
18AC_CONFIG_MACRO_DIR([m4]) 19AC_CONFIG_MACRO_DIR([m4])
19 20
20AC_PROG_CC 21AC_PROG_CC
@@ -40,13 +41,14 @@ AX_CHECK_COMPILE_FLAG(
40) 41)
41 42
42AC_ARG_ENABLE([analyzer], 43AC_ARG_ENABLE([analyzer],
43 AS_HELP_STRING([--enable-analyzer], [enable GCC static analyzer])) 44 [AS_HELP_STRING([--enable-analyzer], [enable GCC static analyzer])])
44AS_IF([test "x$enable_analyzer" = "xyes"], [ 45AS_IF([test "x$enable_analyzer" = "xyes"], [
45 EXTRA_CFLAGS="$EXTRA_CFLAGS -fanalyzer -Wno-analyzer-malloc-leak" 46 EXTRA_CFLAGS="$EXTRA_CFLAGS -fanalyzer -Wno-analyzer-malloc-leak"
46]) 47])
47 48
48AC_ARG_ENABLE([sanitizer], 49AC_ARG_ENABLE([sanitizer],
49 AS_HELP_STRING([--enable-sanitizer=@<:@address | memory | undefined@:>@], [enable a compiler-based sanitizer (debug)]), [], [enable_sanitizer=no]) 50 [AS_HELP_STRING([--enable-sanitizer=@<:@address | memory | undefined@:>@], [enable a compiler-based sanitizer (debug)])],
51 [], [enable_sanitizer=no])
50AS_IF([test "x$enable_sanitizer" != "xno" ], 52AS_IF([test "x$enable_sanitizer" != "xno" ],
51 [AX_CHECK_COMPILE_FLAG([-fsanitize=$enable_sanitizer], [ 53 [AX_CHECK_COMPILE_FLAG([-fsanitize=$enable_sanitizer], [
52 EXTRA_CFLAGS="$EXTRA_CFLAGS -fsanitize=$enable_sanitizer -fno-omit-frame-pointer" 54 EXTRA_CFLAGS="$EXTRA_CFLAGS -fsanitize=$enable_sanitizer -fno-omit-frame-pointer"
@@ -55,22 +57,22 @@ AS_IF([test "x$enable_sanitizer" != "xno" ],
55)]) 57)])
56 58
57HAVE_APPARMOR="" 59HAVE_APPARMOR=""
60AC_SUBST([HAVE_APPARMOR])
58AC_ARG_ENABLE([apparmor], 61AC_ARG_ENABLE([apparmor],
59 AS_HELP_STRING([--enable-apparmor], [enable apparmor])) 62 [AS_HELP_STRING([--enable-apparmor], [enable apparmor])])
60AS_IF([test "x$enable_apparmor" = "xyes"], [ 63AS_IF([test "x$enable_apparmor" = "xyes"], [
61 HAVE_APPARMOR="-DHAVE_APPARMOR" 64 HAVE_APPARMOR="-DHAVE_APPARMOR"
62 PKG_CHECK_MODULES([AA], libapparmor, 65 PKG_CHECK_MODULES([AA], [libapparmor],
63 [EXTRA_CFLAGS="$EXTRA_CFLAGS $AA_CFLAGS" && EXTRA_LDFLAGS="$EXTRA_LDFLAGS $AA_LIBS"]) 66 [EXTRA_CFLAGS="$EXTRA_CFLAGS $AA_CFLAGS" && EXTRA_LDFLAGS="$EXTRA_LDFLAGS $AA_LIBS"])
64 AC_SUBST(HAVE_APPARMOR)
65]) 67])
66 68
67HAVE_SELINUX="" 69HAVE_SELINUX=""
70AC_SUBST([HAVE_SELINUX])
68AC_ARG_ENABLE([selinux], 71AC_ARG_ENABLE([selinux],
69 AS_HELP_STRING([--enable-selinux], [SELinux labeling support])) 72 [AS_HELP_STRING([--enable-selinux], [SELinux labeling support])])
70AS_IF([test "x$enable_selinux" = "xyes"], [ 73AS_IF([test "x$enable_selinux" = "xyes"], [
71 HAVE_SELINUX="-DHAVE_SELINUX" 74 HAVE_SELINUX="-DHAVE_SELINUX"
72 EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lselinux " 75 EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lselinux"
73 AC_SUBST(HAVE_SELINUX)
74]) 76])
75 77
76AC_SUBST([EXTRA_CFLAGS]) 78AC_SUBST([EXTRA_CFLAGS])
@@ -78,220 +80,187 @@ AC_SUBST([EXTRA_LDFLAGS])
78 80
79 81
80HAVE_DBUSPROXY="" 82HAVE_DBUSPROXY=""
83AC_SUBST([HAVE_DBUSPROXY])
81AC_ARG_ENABLE([dbusproxy], 84AC_ARG_ENABLE([dbusproxy],
82 AS_HELP_STRING([--disable-dbusproxy], [disable dbus proxy])) 85 [AS_HELP_STRING([--disable-dbusproxy], [disable dbus proxy])])
83AS_IF([test "x$enable_dbusproxy" != "xno"], [ 86AS_IF([test "x$enable_dbusproxy" != "xno"], [
84 HAVE_DBUSPROXY="-DHAVE_DBUSPROXY" 87 HAVE_DBUSPROXY="-DHAVE_DBUSPROXY"
85 AC_SUBST(HAVE_DBUSPROXY)
86]) 88])
87 89
88# overlayfs features temporarily disabled pending fixes 90# overlayfs features temporarily disabled pending fixes
89HAVE_OVERLAYFS="" 91HAVE_OVERLAYFS=""
90AC_SUBST(HAVE_OVERLAYFS) 92AC_SUBST([HAVE_OVERLAYFS])
91#
92#AC_ARG_ENABLE([overlayfs], 93#AC_ARG_ENABLE([overlayfs],
93# AS_HELP_STRING([--disable-overlayfs], [disable overlayfs])) 94# [AS_HELP_STRING([--disable-overlayfs], [disable overlayfs])])
94#AS_IF([test "x$enable_overlayfs" != "xno"], [ 95#AS_IF([test "x$enable_overlayfs" != "xno"], [
95# HAVE_OVERLAYFS="-DHAVE_OVERLAYFS" 96# HAVE_OVERLAYFS="-DHAVE_OVERLAYFS"
96# AC_SUBST(HAVE_OVERLAYFS)
97#]) 97#])
98 98
99HAVE_OUTPUT="" 99HAVE_OUTPUT=""
100AC_SUBST([HAVE_OUTPUT])
100AC_ARG_ENABLE([output], 101AC_ARG_ENABLE([output],
101 AS_HELP_STRING([--disable-output], [disable --output logging])) 102 [AS_HELP_STRING([--disable-output], [disable --output logging])])
102AS_IF([test "x$enable_output" != "xno"], [ 103AS_IF([test "x$enable_output" != "xno"], [
103 HAVE_OUTPUT="-DHAVE_OUTPUT" 104 HAVE_OUTPUT="-DHAVE_OUTPUT"
104 AC_SUBST(HAVE_OUTPUT)
105]) 105])
106 106
107HAVE_USERTMPFS="" 107HAVE_USERTMPFS=""
108AC_SUBST([HAVE_USERTMPFS])
108AC_ARG_ENABLE([usertmpfs], 109AC_ARG_ENABLE([usertmpfs],
109 AS_HELP_STRING([--disable-usertmpfs], [disable tmpfs as regular user])) 110 [AS_HELP_STRING([--disable-usertmpfs], [disable tmpfs as regular user])])
110AS_IF([test "x$enable_usertmpfs" != "xno"], [ 111AS_IF([test "x$enable_usertmpfs" != "xno"], [
111 HAVE_USERTMPFS="-DHAVE_USERTMPFS" 112 HAVE_USERTMPFS="-DHAVE_USERTMPFS"
112 AC_SUBST(HAVE_USERTMPFS)
113]) 113])
114 114
115HAVE_MAN="no" 115HAVE_MAN="no"
116AC_SUBST([HAVE_MAN])
116AC_ARG_ENABLE([man], 117AC_ARG_ENABLE([man],
117 AS_HELP_STRING([--disable-man], [disable man pages])) 118 [AS_HELP_STRING([--disable-man], [disable man pages])])
118AS_IF([test "x$enable_man" != "xno"], [ 119AS_IF([test "x$enable_man" != "xno"], [
119 HAVE_MAN="-DHAVE_MAN" 120 HAVE_MAN="-DHAVE_MAN"
120 AC_SUBST(HAVE_MAN)
121 AC_CHECK_PROG([HAVE_GAWK], [gawk], [yes], [no]) 121 AC_CHECK_PROG([HAVE_GAWK], [gawk], [yes], [no])
122 AS_IF([test "x$HAVE_GAWK" != "xyes"], [AC_MSG_ERROR("*** gawk not found ***")]) 122 AS_IF([test "x$HAVE_GAWK" != "xyes"], [AC_MSG_ERROR([*** gawk not found ***])])
123]) 123])
124 124
125HAVE_FIRETUNNEL="" 125HAVE_FIRETUNNEL=""
126AC_SUBST([HAVE_FIRETUNNEL])
126AC_ARG_ENABLE([firetunnel], 127AC_ARG_ENABLE([firetunnel],
127 AS_HELP_STRING([--disable-firetunnel], [disable firetunnel])) 128 [AS_HELP_STRING([--disable-firetunnel], [disable firetunnel])])
128AS_IF([test "x$enable_firetunnel" != "xno"], [ 129AS_IF([test "x$enable_firetunnel" != "xno"], [
129 HAVE_FIRETUNNEL="-DHAVE_FIRETUNNEL" 130 HAVE_FIRETUNNEL="-DHAVE_FIRETUNNEL"
130 AC_SUBST(HAVE_FIRETUNNEL)
131]) 131])
132 132
133HAVE_PRIVATEHOME="" 133HAVE_PRIVATEHOME=""
134AC_SUBST([HAVE_PRIVATE_HOME])
134AC_ARG_ENABLE([private-home], 135AC_ARG_ENABLE([private-home],
135 AS_HELP_STRING([--disable-private-home], [disable private home feature])) 136 [AS_HELP_STRING([--disable-private-home], [disable private home feature])])
136AS_IF([test "x$enable_private_home" != "xno"], [ 137AS_IF([test "x$enable_private_home" != "xno"], [
137 HAVE_PRIVATE_HOME="-DHAVE_PRIVATE_HOME" 138 HAVE_PRIVATE_HOME="-DHAVE_PRIVATE_HOME"
138 AC_SUBST(HAVE_PRIVATE_HOME)
139]) 139])
140 140
141HAVE_CHROOT="" 141HAVE_CHROOT=""
142AC_SUBST([HAVE_CHROOT])
142AC_ARG_ENABLE([chroot], 143AC_ARG_ENABLE([chroot],
143 AS_HELP_STRING([--disable-chroot], [disable chroot])) 144 [AS_HELP_STRING([--disable-chroot], [disable chroot])])
144AS_IF([test "x$enable_chroot" != "xno"], [ 145AS_IF([test "x$enable_chroot" != "xno"], [
145 HAVE_CHROOT="-DHAVE_CHROOT" 146 HAVE_CHROOT="-DHAVE_CHROOT"
146 AC_SUBST(HAVE_CHROOT)
147]) 147])
148 148
149HAVE_GLOBALCFG="" 149HAVE_GLOBALCFG=""
150AC_SUBST([HAVE_GLOBALCFG])
150AC_ARG_ENABLE([globalcfg], 151AC_ARG_ENABLE([globalcfg],
151 AS_HELP_STRING([--disable-globalcfg], [if the global config file firejail.cfg is not present, continue the program using defaults])) 152 [AS_HELP_STRING([--disable-globalcfg],
153 [if the global config file firejail.cfg is not present, continue the program using defaults])])
152AS_IF([test "x$enable_globalcfg" != "xno"], [ 154AS_IF([test "x$enable_globalcfg" != "xno"], [
153 HAVE_GLOBALCFG="-DHAVE_GLOBALCFG" 155 HAVE_GLOBALCFG="-DHAVE_GLOBALCFG"
154 AC_SUBST(HAVE_GLOBALCFG)
155]) 156])
156 157
157HAVE_NETWORK="" 158HAVE_NETWORK=""
159AC_SUBST([HAVE_NETWORK])
158AC_ARG_ENABLE([network], 160AC_ARG_ENABLE([network],
159 AS_HELP_STRING([--disable-network], [disable network])) 161 [AS_HELP_STRING([--disable-network], [disable network])])
160AS_IF([test "x$enable_network" != "xno"], [ 162AS_IF([test "x$enable_network" != "xno"], [
161 HAVE_NETWORK="-DHAVE_NETWORK" 163 HAVE_NETWORK="-DHAVE_NETWORK"
162 AC_SUBST(HAVE_NETWORK)
163]) 164])
164 165
165HAVE_USERNS="" 166HAVE_USERNS=""
167AC_SUBST([HAVE_USERNS])
166AC_ARG_ENABLE([userns], 168AC_ARG_ENABLE([userns],
167 AS_HELP_STRING([--disable-userns], [disable user namespace])) 169 [AS_HELP_STRING([--disable-userns], [disable user namespace])])
168AS_IF([test "x$enable_userns" != "xno"], [ 170AS_IF([test "x$enable_userns" != "xno"], [
169 HAVE_USERNS="-DHAVE_USERNS" 171 HAVE_USERNS="-DHAVE_USERNS"
170 AC_SUBST(HAVE_USERNS)
171]) 172])
172 173
173HAVE_X11="" 174HAVE_X11=""
175AC_SUBST([HAVE_X11])
174AC_ARG_ENABLE([x11], 176AC_ARG_ENABLE([x11],
175 AS_HELP_STRING([--disable-x11], [disable X11 sandboxing support])) 177 [AS_HELP_STRING([--disable-x11], [disable X11 sandboxing support])])
176AS_IF([test "x$enable_x11" != "xno"], [ 178AS_IF([test "x$enable_x11" != "xno"], [
177 HAVE_X11="-DHAVE_X11" 179 HAVE_X11="-DHAVE_X11"
178 AC_SUBST(HAVE_X11)
179]) 180])
180 181
181HAVE_FILE_TRANSFER="" 182HAVE_FILE_TRANSFER=""
183AC_SUBST([HAVE_FILE_TRANSFER])
182AC_ARG_ENABLE([file-transfer], 184AC_ARG_ENABLE([file-transfer],
183 AS_HELP_STRING([--disable-file-transfer], [disable file transfer])) 185 [AS_HELP_STRING([--disable-file-transfer], [disable file transfer])])
184AS_IF([test "x$enable_file_transfer" != "xno"], [ 186AS_IF([test "x$enable_file_transfer" != "xno"], [
185 HAVE_FILE_TRANSFER="-DHAVE_FILE_TRANSFER" 187 HAVE_FILE_TRANSFER="-DHAVE_FILE_TRANSFER"
186 AC_SUBST(HAVE_FILE_TRANSFER)
187]) 188])
188 189
189HAVE_SUID="" 190HAVE_SUID=""
191AC_SUBST([HAVE_SUID])
190AC_ARG_ENABLE([suid], 192AC_ARG_ENABLE([suid],
191 AS_HELP_STRING([--disable-suid], [install as a non-SUID executable])) 193 [AS_HELP_STRING([--disable-suid], [install as a non-SUID executable])])
192AS_IF([test "x$enable_suid" = "xno"], 194AS_IF([test "x$enable_suid" != "xno"], [
193 [HAVE_SUID="no"], 195 HAVE_SUID="-DHAVE_SUID"
194 [HAVE_SUID="yes"] 196])
195)
196AC_SUBST(HAVE_SUID)
197 197
198HAVE_FATAL_WARNINGS="" 198HAVE_FATAL_WARNINGS=""
199AC_SUBST([HAVE_FATAL_WARNINGS])
199AC_ARG_ENABLE([fatal_warnings], 200AC_ARG_ENABLE([fatal_warnings],
200 AS_HELP_STRING([--enable-fatal-warnings], [-W -Wall -Werror])) 201 [AS_HELP_STRING([--enable-fatal-warnings], [-W -Wall -Werror])])
201AS_IF([test "x$enable_fatal_warnings" = "xyes"], [ 202AS_IF([test "x$enable_fatal_warnings" = "xyes"], [
202 HAVE_FATAL_WARNINGS="-W -Wall -Werror" 203 HAVE_FATAL_WARNINGS="-W -Wall -Werror"
203 AC_SUBST(HAVE_FATAL_WARNINGS)
204]) 204])
205 205
206BUSYBOX_WORKAROUND="no" 206BUSYBOX_WORKAROUND="no"
207AC_SUBST([BUSYBOX_WORKAROUND])
207AC_ARG_ENABLE([busybox-workaround], 208AC_ARG_ENABLE([busybox-workaround],
208 AS_HELP_STRING([--enable-busybox-workaround], [enable busybox workaround])) 209 [AS_HELP_STRING([--enable-busybox-workaround], [enable busybox workaround])])
209AS_IF([test "x$enable_busybox_workaround" = "xyes"], [ 210AS_IF([test "x$enable_busybox_workaround" = "xyes"], [
210 BUSYBOX_WORKAROUND="yes" 211 BUSYBOX_WORKAROUND="yes"
211 AC_SUBST(BUSYBOX_WORKAROUND)
212]) 212])
213 213
214 214
215HAVE_GCOV="" 215HAVE_GCOV=""
216AC_SUBST([HAVE_GCOV])
216AC_ARG_ENABLE([gcov], 217AC_ARG_ENABLE([gcov],
217 AS_HELP_STRING([--enable-gcov], [Gcov instrumentation])) 218 [AS_HELP_STRING([--enable-gcov], [Gcov instrumentation])])
218AS_IF([test "x$enable_gcov" = "xyes"], [ 219AS_IF([test "x$enable_gcov" = "xyes"], [
219 HAVE_GCOV="--coverage -DHAVE_GCOV " 220 HAVE_GCOV="--coverage -DHAVE_GCOV"
220 EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lgcov --coverage " 221 EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lgcov --coverage"
221 AC_SUBST(HAVE_GCOV)
222]) 222])
223 223
224HAVE_CONTRIB_INSTALL="yes" 224HAVE_CONTRIB_INSTALL="yes"
225AC_SUBST([HAVE_CONTRIB_INSTALL])
225AC_ARG_ENABLE([contrib-install], 226AC_ARG_ENABLE([contrib-install],
226 AS_HELP_STRING([--enable-contrib-install], [install contrib scripts])) 227 [AS_HELP_STRING([--enable-contrib-install], [install contrib scripts])])
227AS_IF([test "x$enable_contrib_install" = "xno"], 228AS_IF([test "x$enable_contrib_install" = "xno"], [
228 [HAVE_CONTRIB_INSTALL="no"], 229 HAVE_CONTRIB_INSTALL="no"
229 [HAVE_CONTRIB_INSTALL="yes"] 230])
230)
231AC_SUBST(HAVE_CONTRIB_INSTALL)
232 231
233HAVE_FORCE_NONEWPRIVS="" 232HAVE_FORCE_NONEWPRIVS=""
233AC_SUBST([HAVE_FORCE_NONEWPRIVS])
234AC_ARG_ENABLE([force-nonewprivs], 234AC_ARG_ENABLE([force-nonewprivs],
235 AS_HELP_STRING([--enable-force-nonewprivs], [enable force nonewprivs])) 235 [AS_HELP_STRING([--enable-force-nonewprivs], [enable force nonewprivs])])
236AS_IF([test "x$enable_force_nonewprivs" = "xyes"], [ 236AS_IF([test "x$enable_force_nonewprivs" = "xyes"], [
237 HAVE_FORCE_NONEWPRIVS="-DHAVE_FORCE_NONEWPRIVS" 237 HAVE_FORCE_NONEWPRIVS="-DHAVE_FORCE_NONEWPRIVS"
238 AC_SUBST(HAVE_FORCE_NONEWPRIVS)
239]) 238])
240 239
241HAVE_LTS="" 240HAVE_LTS=""
241AC_SUBST([HAVE_LTS])
242AC_ARG_ENABLE([lts], 242AC_ARG_ENABLE([lts],
243 AS_HELP_STRING([--enable-lts], [enable long-term support software version (LTS)])) 243 [AS_HELP_STRING([--enable-lts], [enable long-term support software version (LTS)])])
244AS_IF([test "x$enable_lts" = "xyes"], [ 244AS_IF([test "x$enable_lts" = "xyes"], [
245 HAVE_LTS="-DHAVE_LTS" 245 HAVE_LTS="-DHAVE_LTS"
246 AC_SUBST(HAVE_LTS)
247
248 HAVE_DBUSPROXY="" 246 HAVE_DBUSPROXY=""
249 AC_SUBST(HAVE_DBUSPROXY)
250
251 HAVE_OVERLAYFS="" 247 HAVE_OVERLAYFS=""
252 AC_SUBST(HAVE_OVERLAYFS)
253
254 HAVE_OUTPUT="" 248 HAVE_OUTPUT=""
255 AC_SUBST(HAVE_OUTPUT)
256
257 HAVE_USERTMPFS="" 249 HAVE_USERTMPFS=""
258 AC_SUBST(HAVE_USERTMPFS)
259
260 HAVE_MAN="-DHAVE_MAN" 250 HAVE_MAN="-DHAVE_MAN"
261 AC_SUBST(HAVE_MAN)
262
263 HAVE_FIRETUNNEL="" 251 HAVE_FIRETUNNEL=""
264 AC_SUBST(HAVE_FIRETUNNEL)
265
266 HAVE_PRIVATEHOME="" 252 HAVE_PRIVATEHOME=""
267 AC_SUBST(HAVE_PRIVATE_HOME)
268
269 HAVE_CHROOT="" 253 HAVE_CHROOT=""
270 AC_SUBST(HAVE_CHROOT)
271
272 HAVE_GLOBALCFG="" 254 HAVE_GLOBALCFG=""
273 AC_SUBST(HAVE_GLOBALCFG)
274
275 HAVE_USERNS="" 255 HAVE_USERNS=""
276 AC_SUBST(HAVE_USERNS)
277
278 HAVE_X11="" 256 HAVE_X11=""
279 AC_SUBST(HAVE_X11)
280
281 HAVE_FILE_TRANSFER="" 257 HAVE_FILE_TRANSFER=""
282 AC_SUBST(HAVE_FILE_TRANSFER) 258 HAVE_SUID="-DHAVE_SUID"
283
284 HAVE_SUID="yes"
285 AC_SUBST(HAVE_SUID)
286
287 BUSYBOX_WORKAROUND="no" 259 BUSYBOX_WORKAROUND="no"
288 AC_SUBST(BUSYBOX_WORKAROUND)
289
290 HAVE_CONTRIB_INSTALL="no", 260 HAVE_CONTRIB_INSTALL="no",
291 AC_SUBST(HAVE_CONTRIB_INSTALL)
292]) 261])
293 262
294AC_CHECK_HEADER([linux/seccomp.h],,AC_MSG_ERROR([*** SECCOMP support is not installed (/usr/include/linux/seccomp.h missing) ***])) 263AC_CHECK_HEADER([linux/seccomp.h], [], AC_MSG_ERROR([*** SECCOMP support is not installed (/usr/include/linux/seccomp.h missing) ***]))
295 264
296# set sysconfdir 265# set sysconfdir
297if test "$prefix" = /usr; then 266if test "$prefix" = /usr; then