4 [location@lists.ipfire.org],
6 [https://location.ipfire.org/])
8 AC_CONFIG_SRCDIR([src/libloc.c])
9 AC_CONFIG_AUX_DIR([build-aux])
22 AC_USE_SYSTEM_EXTENSIONS
24 AC_CONFIG_MACRO_DIR([m4])
25 AM_SILENT_RULES([yes])
30 AC_PREFIX_DEFAULT([/usr])
33 IT_PROG_INTLTOOL([0.40.0])
35 # Interpret embedded Python in HTML files
36 XGETTEXT="${XGETTEXT} -L Python --keyword=_:1,2 --keyword=N_:1,2 --no-location"
38 GETTEXT_PACKAGE=${PACKAGE_TARNAME}
39 AC_SUBST(GETTEXT_PACKAGE)
44 # - man ------------------------------------------------------------------------
47 AC_ARG_ENABLE(man_pages, AS_HELP_STRING([--disable-man-pages],
48 [do not install man pages]))
49 AS_IF([test "x$enable_man_pages" != xno], [have_man_pages=yes])
50 AM_CONDITIONAL(ENABLE_MAN_PAGES, [test "x$have_man_pages" = "xyes"])
52 AC_PATH_PROG([XSLTPROC], [xsltproc])
54 AC_CHECK_PROGS(ASCIIDOC, [asciidoc])
55 if test "${have_man_pages}" = "yes" && test -z "${ASCIIDOC}"; then
56 AC_MSG_ERROR([Required program 'asciidoc' not found])
59 # - pkg-config -----------------------------------------------------------------
61 m4_ifndef([PKG_PROG_PKG_CONFIG],
62 [m4_fatal([Could not locate the pkg-config autoconf
63 macros. These are usually located in /usr/share/aclocal/pkg.m4.
64 If your macros are in a different location, try setting the
65 environment variable AL_OPTS="-I/other/macro/dir" before running
66 ./autogen.sh or autoreconf again. Make sure pkg-config is installed.])])
69 PKG_INSTALLDIR(['${usrlib_execdir}/pkgconfig'])
71 # - bash-completion ------------------------------------------------------------
73 #enable_bash_completion=yes
74 AC_ARG_WITH([bashcompletiondir],
75 AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
77 [AS_IF([`$PKG_CONFIG --exists bash-completion`], [
78 with_bashcompletiondir=`$PKG_CONFIG --variable=completionsdir bash-completion`
80 with_bashcompletiondir=${datadir}/bash-completion/completions
84 AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
86 AC_ARG_ENABLE([bash-completion],
87 AS_HELP_STRING([--disable-bash-completion], [do not install bash completion files]),
88 [], [enable_bash_completion=yes]
91 AM_CONDITIONAL([BUILD_BASH_COMPLETION], [test "x$enable_bash_completion" = xyes])
93 # - debug ----------------------------------------------------------------------
95 AC_ARG_ENABLE([debug],
96 AS_HELP_STRING([--enable-debug], [enable debug messages @<:@default=disabled@:>@]),
97 [], [enable_debug=no])
98 AS_IF([test "x$enable_debug" = "xyes"], [
99 AC_DEFINE(ENABLE_DEBUG, [1], [Debug messages.])
102 AC_CHECK_HEADERS_ONCE([
105 arpa/nameser_compat.h \
132 -Wmissing-declarations \
133 -Wmissing-prototypes \
138 -Wstrict-prototypes \
141 AC_SUBST([my_CFLAGS])
142 AC_SUBST([my_LDFLAGS])
144 # Enable -fanalyzer if requested
145 AC_ARG_ENABLE([analyzer],
146 AS_HELP_STRING([--enable-analyzer], [enable static analyzer (-fanalyzer) @<:@default=disabled@:>@]),
147 [], [enable_analyzer=no])
148 AS_IF([test "x$enable_analyzer" = "xyes"],
149 CC_CHECK_FLAGS_APPEND([my_CFLAGS], [CFLAGS], [-fanalyzer])
152 # Enable -fno-semantic-interposition (if available)
153 CC_CHECK_FLAGS_APPEND([my_CFLAGS], [CFLAGS], [-fno-semantic-interposition])
154 CC_CHECK_FLAGS_APPEND([my_LDFLAGS], [LDFLAGS], [-fno-semantic-interposition])
156 # ------------------------------------------------------------------------------
158 AC_ARG_WITH([database-path],
159 AS_HELP_STRING([--with-database-path], [The default database path]),
160 [], [with_database_path=/var/lib/location/database.db]
163 if test -z "${with_database_path}"; then
164 AC_MSG_ERROR([The default database path is empty])
167 AC_DEFINE_UNQUOTED([LIBLOC_DEFAULT_DATABASE_PATH], ["${with_database_path}"],
168 [The default path for the database])
169 AC_SUBST([DEFAULT_DATABASE_PATH], [${with_database_path}])
171 AC_ARG_WITH([systemd],
172 AS_HELP_STRING([--with-systemd], [Enable systemd support.])
175 AS_IF([test "x$with_systemd" != "xno"],
176 [PKG_CHECK_MODULES(systemd, [libsystemd],
177 [have_systemd=yes], [have_systemd=no])],
181 AS_IF([test "x$have_systemd" = "xyes"],
182 [AC_MSG_CHECKING([for systemd system unit directory])
183 AC_ARG_WITH([systemdsystemunitdir],
184 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
185 [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]
188 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
190 if test -n "$systemdsystemunitdir" -a "x$systemdsystemunitdir" != xno; then
191 AC_MSG_RESULT([$systemdsystemunitdir])
193 AC_MSG_ERROR([not found (try --with-systemdsystemunitdir)])
196 [AS_IF([test "x$with_systemd" = "xyes"],
197 [AC_MSG_ERROR([Systemd support is enabled but no systemd has been found.])
201 AM_CONDITIONAL(HAVE_SYSTEMD, [test "x$have_systemd" = "xyes"])
203 # ------------------------------------------------------------------------------
206 AM_PATH_PYTHON([3.4])
207 PKG_CHECK_MODULES([PYTHON], [python-${PYTHON_VERSION}])
210 AC_PATH_PROG(PERL, perl, no)
213 AX_PROG_PERL_MODULES(Config ExtUtils::MakeMaker,, AC_MSG_WARN(Need some Perl modules))
215 AC_ARG_ENABLE(perl, AS_HELP_STRING([--disable-perl], [do not build the perl modules]), [],[enable_perl=yes])
216 AM_CONDITIONAL(ENABLE_PERL, test "$enable_perl" = "yes")
217 AS_IF([test "$enable_perl" = "yes"],
219 PERL_MODPATH=$($PERL -MConfig -e 'print $Config{installvendorarch}')
220 PERL_MANPATH=$($PERL -MConfig -e 'print $Config{installvendorman3dir}')
221 AC_SUBST(PERL_MODPATH)
222 AC_SUBST(PERL_MANPATH)
226 dnl Checking for libresolv
229 AC_CHECK_LIB(resolv, ns_msg_getflag, [LIBS="-lresolv $LIBS"], AC_MSG_ERROR([libresolv has not been found]), -lresolv)
232 AC_CHECK_LIB(resolv, res_init, [LIBS="-lresolv $LIBS"], AC_MSG_ERROR([libresolv has not been found]), -lresolv)
235 RESOLV_LIBS="${LIBS}"
236 AC_SUBST(RESOLV_LIBS)
238 dnl Checking for OpenSSL
240 AC_CHECK_LIB(crypto, EVP_EncryptInit,, AC_MSG_ERROR([libcrypto has not been found]))
241 OPENSSL_LIBS="${LIBS}"
242 AC_SUBST(OPENSSL_LIBS)
244 AC_CONFIG_HEADERS(config.h)
256 sysconfdir: ${sysconfdir}
258 includedir: ${includedir}
264 database path: ${with_database_path}
265 debug: ${enable_debug}
266 systemd support: ${have_systemd}
267 bash-completion: ${enable_bash_completion}
271 Perl module path: ${PERL_MODPATH}
272 Perl manual path: ${PERL_MANPATH}