]> git.ipfire.org Git - network.git/blob - configure.ac
networkd: Install a dbus policy
[network.git] / configure.ac
1 ###############################################################################
2 # #
3 # Pakfire - The IPFire package management system #
4 # Copyright (C) 2013 IPFire Network Development Team #
5 # #
6 # This program is free software: you can redistribute it and/or modify #
7 # it under the terms of the GNU General Public License as published by #
8 # the Free Software Foundation, either version 3 of the License, or #
9 # (at your option) any later version. #
10 # #
11 # This program is distributed in the hope that it will be useful, #
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of #
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
14 # GNU General Public License for more details. #
15 # #
16 # You should have received a copy of the GNU General Public License #
17 # along with this program. If not, see <http://www.gnu.org/licenses/>. #
18 # #
19 ###############################################################################
20
21 AC_PREREQ([2.64])
22
23 AC_INIT([network],
24 [011],
25 [info@ipfire.org],
26 [network],
27 [http://www.ipfire.org/])
28
29 AC_CONFIG_AUX_DIR([build-aux])
30
31 AC_PREFIX_DEFAULT([/usr])
32
33 AM_INIT_AUTOMAKE([
34 foreign
35 1.11
36 -Wall
37 -Wno-portability
38 silent-rules
39 tar-pax
40 subdir-objects
41 ])
42 AM_SILENT_RULES([yes])
43
44 LT_INIT([
45 disable-static
46 pic-only
47 ])
48
49 AC_PROG_LN_S
50 AC_PROG_MKDIR_P
51 AC_PROG_SED
52
53 AC_PATH_PROG([NITSI], [nitsi])
54 AC_PATH_PROG([WGET], [wget])
55 AC_PATH_PROG([XSLTPROC], [xsltproc])
56
57 # pkg-config
58 PKG_PROG_PKG_CONFIG
59 # This makes sure pkg.m4 is available.
60 m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config])
61
62 # C Compiler
63 AC_PROG_CC
64 AC_PROG_CC_C99
65 AC_PROG_CC_C_O
66 AC_PROG_GCC_TRADITIONAL
67
68 AC_USE_SYSTEM_EXTENSIONS
69
70 CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
71 -pipe \
72 -Wall \
73 -Wextra \
74 -Wno-inline \
75 -Wundef \
76 "-Wformat=2 -Wformat-security -Wformat-nonliteral" \
77 -Wno-unused-parameter \
78 -Wno-unused-result \
79 -fno-strict-aliasing \
80 -ffunction-sections \
81 -fdata-sections \
82 -fstack-protector-all \
83 --param=ssp-buffer-size=4])
84 AC_SUBST([OUR_CFLAGS], $with_cflags)
85
86 AS_CASE([$CFLAGS], [*-O[[12345g\ ]]*],
87 [CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\
88 -Wp,-D_FORTIFY_SOURCE=2])],
89 [AC_MSG_RESULT([skipping -D_FORTIFY_SOURCE, optimization not enabled])])
90 AC_SUBST([OUR_CPPFLAGS], $with_cppflags)
91
92 CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\
93 -Wl,--as-needed \
94 -Wl,--no-undefined \
95 -Wl,--gc-sections \
96 -Wl,-z,relro \
97 -Wl,-z,now])
98 AC_SUBST([OUR_LDFLAGS], $with_ldflags)
99
100 # ------------------------------------------------------------------------------
101
102 AC_CHECK_HEADERS_ONCE([
103 ctype.h
104 errno.h
105 linux/netlink.h
106 net/if.h
107 stdarg.h
108 stdio.h
109 stdlib.h
110 string.h
111 syslog.h
112 ])
113
114 AC_CHECK_FUNCS([ \
115 __secure_getenv \
116 secure_getenv \
117 ])
118
119 # ------------------------------------------------------------------------------
120
121 AC_ARG_ENABLE([debug],
122 AS_HELP_STRING([--enable-debug], [enable debug messages @<:@default=disabled@:>@]),
123 [], [enable_debug=no])
124 AS_IF([test "x$enable_debug" = "xyes"], [
125 AC_DEFINE(ENABLE_DEBUG, [1], [Debug messages.])
126 ])
127
128 # ------------------------------------------------------------------------------
129
130 have_manpages=no
131 AC_ARG_ENABLE(manpages, AS_HELP_STRING([--disable-man-pages],
132 [do not install man pages]))
133 AS_IF([test "x$enable_manpages" != xno], [have_manpages=yes])
134 AM_CONDITIONAL(ENABLE_MANPAGES, [test "x$have_manpages" = "xyes"])
135
136 # ------------------------------------------------------------------------------
137
138 AC_ARG_WITH(
139 [dbuspolicydir],
140 AS_HELP_STRING(
141 [--with-dbuspolicydir=arg],
142 [directory for D-Bus policies (default: ${dbusdatadir|datarootdir}/dbus-1/system.d)]
143 ),
144 [dbuspolicydir="$withval"],
145 [PKG_CHECK_VAR([dbusdatadir], [dbus-1], [datadir],, [dbusdatadir="${datarootdir}"])
146 dbuspolicydir="${dbusdatadir}/dbus-1/system.d"]
147 )
148 AC_SUBST(dbuspolicydir)
149
150 AC_ARG_WITH([dbussystembusdir], AS_HELP_STRING([--with-dbussystembusdir=DIR],
151 [path to D-Bus system bus services directory]), [with_dbussystembusdir=${withval}])
152 if test -z "${with_dbussystembusdir}"; then
153 AC_MSG_CHECKING([D-Bus system bus services dir])
154 with_dbussystembusdir="$($PKG_CONFIG --variable=system_bus_services_dir dbus-1)"
155 if test -z "${with_dbussystembusdir}"; then
156 AC_MSG_ERROR([D-Bus system bus services directory is required])
157 fi
158 AC_MSG_RESULT([${with_dbussystembusdir}])
159 fi
160 AC_SUBST(dbussystembusdir, [${with_dbussystembusdir}])
161
162 # ------------------------------------------------------------------------------
163 AC_ARG_WITH([systemdsystemunitdir],
164 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
165 [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
166 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
167 AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir"])
168
169 # ------------------------------------------------------------------------------
170 AC_ARG_WITH([udevdir],
171 AS_HELP_STRING([--with-udevdir=DIR], [Directory for udev files]),
172 [], [with_udevdir=$($PKG_CONFIG --variable=udevdir udev)])
173 AC_SUBST([udevdir], [$with_udevdir])
174 AM_CONDITIONAL(HAVE_UDEV, [test -n "$with_udevdir"])
175
176 # ------------------------------------------------------------------------------
177
178 PKG_CHECK_MODULES([LIBNL], [libnl-3.0 libnl-genl-3.0])
179 PKG_CHECK_MODULES([SYSTEMD], [libsystemd])
180
181 # ------------------------------------------------------------------------------
182
183 AC_CHECK_PROGS(ASCIIDOC, [asciidoc])
184 if test "${have_manpages}" = "yes" && test -z "${ASCIIDOC}"; then
185 AC_MSG_ERROR([Required program 'asciidoc' not found])
186 fi
187
188 # ------------------------------------------------------------------------------
189
190 AC_CONFIG_HEADERS(config.h)
191 AC_CONFIG_FILES([
192 Makefile
193 ])
194
195 AC_OUTPUT
196 AC_MSG_RESULT([
197 $PACKAGE_NAME $VERSION
198
199 CFLAGS: ${OUR_CFLAGS} ${CFLAGS}
200 CPPFLAGS: ${OUR_CPPFLAGS} ${CPPFLAGS}
201 LDFLAGS: ${OUR_LDFLAGS} ${LDFLAGS}
202
203 prefix: $prefix
204
205 dbussystembusdir: ${dbussystembusdir}
206 systemdsystemunitdir: $systemdsystemunitdir
207 udevdir: $udevdir
208
209 Generate man-pages: ${have_manpages}
210 ])