]> git.ipfire.org Git - people/ms/network.git/blame_incremental - configure.ac
networkd: Use typedef to keep type names shorter
[people/ms/network.git] / configure.ac
... / ...
CommitLineData
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
21AC_PREREQ([2.64])
22
23AC_INIT([network],
24 [011],
25 [info@ipfire.org],
26 [network],
27 [http://www.ipfire.org/])
28
29AC_CONFIG_AUX_DIR([build-aux])
30
31AC_USE_SYSTEM_EXTENSIONS
32AC_SYS_LARGEFILE
33AC_PREFIX_DEFAULT([/usr])
34
35AM_INIT_AUTOMAKE([
36 foreign
37 1.11
38 -Wall
39 -Wno-portability
40 silent-rules
41 tar-pax
42 subdir-objects
43])
44AM_SILENT_RULES([yes])
45
46LT_INIT([
47 disable-static
48 pic-only
49])
50
51AC_PROG_LN_S
52AC_PROG_MKDIR_P
53AC_PROG_SED
54
55AC_PATH_PROG([NITSI], [nitsi])
56AC_PATH_PROG([WGET], [wget])
57AC_PATH_PROG([XSLTPROC], [xsltproc])
58
59# pkg-config
60PKG_PROG_PKG_CONFIG
61# This makes sure pkg.m4 is available.
62m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config])
63
64# C Compiler
65AC_PROG_CC
66AC_PROG_CC_C99
67AC_PROG_CC_C_O
68AC_PROG_GCC_TRADITIONAL
69
70CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
71 -Wall \
72 -Wchar-subscripts \
73 -Wformat-security \
74 -Wmissing-declarations \
75 -Wmissing-prototypes \
76 -Wnested-externs \
77 -Wpointer-arith \
78 -Wshadow \
79 -Wsign-compare \
80 -Wstrict-prototypes \
81 -Wtype-limits \
82])
83
84AC_SUBST([OUR_CFLAGS], $with_cflags)
85
86# ------------------------------------------------------------------------------
87
88AC_CHECK_HEADERS_ONCE([
89 ctype.h
90 errno.h
91 linux/netlink.h
92 net/if.h
93 stdarg.h
94 stdio.h
95 stdlib.h
96 string.h
97 syslog.h
98])
99
100AC_CHECK_FUNCS([ \
101 __secure_getenv \
102 secure_getenv \
103])
104
105# ------------------------------------------------------------------------------
106
107AC_ARG_ENABLE([debug],
108 AS_HELP_STRING([--enable-debug], [enable debug messages @<:@default=disabled@:>@]),
109 [], [enable_debug=no])
110AS_IF([test "x$enable_debug" = "xyes"], [
111 AC_DEFINE(ENABLE_DEBUG, [1], [Debug messages.])
112])
113
114# ------------------------------------------------------------------------------
115
116have_manpages=no
117AC_ARG_ENABLE(manpages, AS_HELP_STRING([--disable-man-pages],
118 [do not install man pages]))
119AS_IF([test "x$enable_manpages" != xno], [have_manpages=yes])
120AM_CONDITIONAL(ENABLE_MANPAGES, [test "x$have_manpages" = "xyes"])
121
122# ------------------------------------------------------------------------------
123
124AC_ARG_WITH(
125 [dbuspolicydir],
126 AS_HELP_STRING(
127 [--with-dbuspolicydir=arg],
128 [directory for D-Bus policies (default: ${dbusdatadir|datarootdir}/dbus-1/system.d)]
129 ),
130 [dbuspolicydir="$withval"],
131 [PKG_CHECK_VAR([dbusdatadir], [dbus-1], [datadir],, [dbusdatadir="${datarootdir}"])
132 dbuspolicydir="${dbusdatadir}/dbus-1/system.d"]
133)
134AC_SUBST(dbuspolicydir)
135
136AC_ARG_WITH(
137 [dbussystembusdir],
138 AS_HELP_STRING(
139 [--with-dbussystembusdir=arg],
140 [path to D-Bus system bus services directory]
141 ),
142 [dbussystembusdir="$withval"],
143 [PKG_CHECK_VAR([dbussystembusdir], [dbus-1], [system_bus_services_dir],, [dbussystembusdir="${datarootdir}"])]
144)
145AC_SUBST(dbuspolicydir)
146
147AC_ARG_WITH(
148 [polkitpolicydir],
149 AS_HELP_STRING(
150 [--with-polkitpolicydir=arg],
151 [directory for PolicyKit policies]
152 ),
153 [polkitpolicydir="$withval"],
154 [PKG_CHECK_VAR([polkitpolicydir], [polkit], [actiondir])
155 polkitpolicydir="${datadir}/polkit-1/actions"]
156)
157AC_SUBST(polkitpolicydir)
158
159# ------------------------------------------------------------------------------
160AC_ARG_WITH([systemdsystemunitdir],
161 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
162 [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
163AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
164AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir"])
165
166# ------------------------------------------------------------------------------
167AC_ARG_WITH([udevdir],
168 AS_HELP_STRING([--with-udevdir=DIR], [Directory for udev files]),
169 [], [with_udevdir=$($PKG_CONFIG --variable=udevdir udev)])
170AC_SUBST([udevdir], [$with_udevdir])
171AM_CONDITIONAL(HAVE_UDEV, [test -n "$with_udevdir"])
172
173# ------------------------------------------------------------------------------
174
175PKG_CHECK_MODULES([CAP], [libcap])
176PKG_CHECK_MODULES([LIBNL], [libnl-3.0 libnl-genl-3.0])
177PKG_CHECK_MODULES([SYSTEMD], [libsystemd])
178
179# ------------------------------------------------------------------------------
180
181AC_CHECK_PROGS(ASCIIDOC, [asciidoc])
182if test "${have_manpages}" = "yes" && test -z "${ASCIIDOC}"; then
183 AC_MSG_ERROR([Required program 'asciidoc' not found])
184fi
185
186# ------------------------------------------------------------------------------
187
188AC_CONFIG_HEADERS(config.h)
189AC_CONFIG_FILES([
190 Makefile
191])
192
193AC_OUTPUT
194AC_MSG_RESULT([
195 $PACKAGE_NAME $VERSION
196
197 CFLAGS: ${OUR_CFLAGS} ${CFLAGS}
198 CPPFLAGS: ${OUR_CPPFLAGS} ${CPPFLAGS}
199 LDFLAGS: ${OUR_LDFLAGS} ${LDFLAGS}
200
201 prefix: $prefix
202
203 dbuspolicydir: ${dbuspolicydir}
204 dbussystembusdir: ${dbussystembusdir}
205 polkitpolicydir: ${polkitpolicydir}
206 systemdsystemunitdir: $systemdsystemunitdir
207 udevdir: $udevdir
208
209 Generate man-pages: ${have_manpages}
210])