]> git.ipfire.org Git - location/libloc.git/blame - configure.ac
configure: Add option to enable GCC's -fanalyzer
[location/libloc.git] / configure.ac
CommitLineData
46aded9a
MT
1AC_PREREQ(2.60)
2AC_INIT([libloc],
582a9102 3 [0.9.7],
3b4f1368 4 [location@lists.ipfire.org],
46aded9a 5 [libloc],
3b4f1368 6 [https://location.ipfire.org/])
46aded9a
MT
7
8AC_CONFIG_SRCDIR([src/libloc.c])
9AC_CONFIG_AUX_DIR([build-aux])
10AM_INIT_AUTOMAKE([
11 foreign
12 1.11
13 -Wall
14 -Wno-portability
15 silent-rules
16 tar-pax
17 no-dist-gzip
18 dist-xz
19 subdir-objects
20])
21AC_PROG_CC_STDC
22AC_USE_SYSTEM_EXTENSIONS
23AC_SYS_LARGEFILE
24AC_CONFIG_MACRO_DIR([m4])
25AM_SILENT_RULES([yes])
26LT_INIT([
27 disable-static
28 pic-only
29])
30AC_PREFIX_DEFAULT([/usr])
a76b0b96 31gl_LD_VERSION_SCRIPT
46aded9a 32
2bb7d64e 33IT_PROG_INTLTOOL([0.40.0])
7b76dffa
MT
34
35# Interpret embedded Python in HTML files
36XGETTEXT="${XGETTEXT} -L Python --keyword=_:1,2 --keyword=N_:1,2 --no-location"
37
2bb7d64e
MT
38GETTEXT_PACKAGE=${PACKAGE_TARNAME}
39AC_SUBST(GETTEXT_PACKAGE)
40
46aded9a
MT
41AC_PROG_SED
42AC_PROG_MKDIR_P
43
161ac92d
MT
44# - man ------------------------------------------------------------------------
45
5b4bd18a
MT
46have_man_pages=no
47AC_ARG_ENABLE(man_pages, AS_HELP_STRING([--disable-man-pages],
161ac92d 48 [do not install man pages]))
5b4bd18a
MT
49AS_IF([test "x$enable_man_pages" != xno], [have_man_pages=yes])
50AM_CONDITIONAL(ENABLE_MAN_PAGES, [test "x$have_man_pages" = "xyes"])
161ac92d
MT
51
52AC_PATH_PROG([XSLTPROC], [xsltproc])
53
54AC_CHECK_PROGS(ASCIIDOC, [asciidoc])
5b4bd18a 55if test "${have_man_pages}" = "yes" && test -z "${ASCIIDOC}"; then
161ac92d
MT
56 AC_MSG_ERROR([Required program 'asciidoc' not found])
57fi
58# - debug ----------------------------------------------------------------------
59
46aded9a
MT
60AC_ARG_ENABLE([debug],
61 AS_HELP_STRING([--enable-debug], [enable debug messages @<:@default=disabled@:>@]),
62 [], [enable_debug=no])
63AS_IF([test "x$enable_debug" = "xyes"], [
64 AC_DEFINE(ENABLE_DEBUG, [1], [Debug messages.])
65])
66
dda7cfb5
MT
67AC_CHECK_HEADERS_ONCE([
68 arpa/inet.h \
f7b7019a
MT
69 arpa/nameser.h \
70 arpa/nameser_compat.h \
dda7cfb5
MT
71 endian.h \
72 netinet/in.h \
f4fef543 73 resolv.h \
dda7cfb5
MT
74 string.h \
75])
76
46aded9a 77AC_CHECK_FUNCS([ \
f4fef543
MT
78 be16toh \
79 be32toh \
80 be64toh \
81 htobe16 \
82 htobe32 \
83 htobe64 \
84 mmap \
85 munmap \
86 res_query \
46aded9a 87 __secure_getenv \
a5db3e49 88 secure_getenv \
f4fef543 89 qsort \
46aded9a
MT
90])
91
92my_CFLAGS="\
93-Wall \
94-Wchar-subscripts \
95-Wformat-security \
96-Wmissing-declarations \
97-Wmissing-prototypes \
98-Wnested-externs \
99-Wpointer-arith \
100-Wshadow \
101-Wsign-compare \
102-Wstrict-prototypes \
103-Wtype-limits \
104"
105AC_SUBST([my_CFLAGS])
106
40ae2a9c
MT
107# Enable -fanalyzer if requested
108AC_ARG_ENABLE([analyzer],
109 AS_HELP_STRING([--enable-analyzer], [enable static analyzer (-fanalyzer) @<:@default=disabled@:>@]),
110 [], [enable_analyzer=no])
111AS_IF([test "x$enable_analyzer" = "xyes"],
112 CC_CHECK_FLAGS_APPEND([my_CFLAGS], [CFLAGS], [-fanalyzer])
113)
114
be748fa8
MT
115# ------------------------------------------------------------------------------
116
117AC_ARG_WITH([systemd],
118 AS_HELP_STRING([--with-systemd], [Enable systemd support.])
119)
120
121AS_IF([test "x$with_systemd" != "xno"],
122 [PKG_CHECK_MODULES(systemd, [libsystemd],
123 [have_systemd=yes], [have_systemd=no])],
124 [have_systemd=no]
125)
126
127AS_IF([test "x$have_systemd" = "xyes"],
128 [AC_MSG_CHECKING([for systemd system unit directory])
129 AC_ARG_WITH([systemdsystemunitdir],
130 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
131 [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]
132 )
133
134 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
135
136 if test -n "$systemdsystemunitdir" -a "x$systemdsystemunitdir" != xno; then
137 AC_MSG_RESULT([$systemdsystemunitdir])
138 else
139 AC_MSG_ERROR([not found (try --with-systemdsystemunitdir)])
140 fi
141 ],
142 [AS_IF([test "x$with_systemd" = "xyes"],
143 [AC_MSG_ERROR([Systemd support is enabled but no systemd has been found.])
144 ])
145])
146
147AM_CONDITIONAL(HAVE_SYSTEMD, [test "x$have_systemd" = "xyes"])
148
149# ------------------------------------------------------------------------------
150
18e2b14c
MT
151# Python
152AM_PATH_PYTHON([3.4])
153PKG_CHECK_MODULES([PYTHON], [python-${PYTHON_VERSION}])
154
747cbcb1
MT
155# Perl
156AC_PATH_PROG(PERL, perl, no)
157AC_SUBST(PERL)
158
159AX_PROG_PERL_MODULES(ExtUtils::MakeMaker,, AC_MSG_WARN(Need some Perl modules))
160
161AC_ARG_ENABLE(perl, AS_HELP_STRING([--disable-perl], [do not build the perl modules]), [],[enable_perl=yes])
162AM_CONDITIONAL(ENABLE_PERL, test "$enable_perl" = "yes")
163
f4fef543 164dnl Checking for libresolv
f60ee33f
MT
165case "${host}" in
166 *-gnu*)
167 AC_CHECK_LIB(resolv, ns_msg_getflag, [LIBS="-lresolv $LIBS"], AC_MSG_ERROR([libresolv has not been found]), -lresolv)
168 ;;
169 *)
170 AC_CHECK_LIB(resolv, res_init, [LIBS="-lresolv $LIBS"], AC_MSG_ERROR([libresolv has not been found]), -lresolv)
171 ;;
172esac
f4fef543 173RESOLV_LIBS="${LIBS}"
18ecd261 174AC_SUBST(RESOLV_LIBS)
f4fef543 175
e568f8d4
MT
176dnl Checking for OpenSSL
177LIBS=
178AC_CHECK_LIB(crypto, EVP_EncryptInit,, AC_MSG_ERROR([libcrypto has not been found]))
179OPENSSL_LIBS="${LIBS}"
18ecd261 180AC_SUBST(OPENSSL_LIBS)
e568f8d4 181
46aded9a
MT
182AC_CONFIG_HEADERS(config.h)
183AC_CONFIG_FILES([
184 Makefile
2bb7d64e 185 po/Makefile.in
46aded9a
MT
186])
187
188AC_OUTPUT
189AC_MSG_RESULT([
190 $PACKAGE $VERSION
191 =====
192
193 prefix: ${prefix}
194 sysconfdir: ${sysconfdir}
195 libdir: ${libdir}
196 includedir: ${includedir}
197
198 compiler: ${CC}
199 cflags: ${CFLAGS}
200 ldflags: ${LDFLAGS}
201
46aded9a 202 debug: ${enable_debug}
be748fa8 203 systemd support: ${have_systemd}
747cbcb1
MT
204
205 Bindings:
206 perl: ${enable_perl}
46aded9a 207])