Release 1.3.9.
[fwd] / configure.ac
1 dnl -*-autoconf-*-
2 dnl
3 dnl Configuration script for fwd
4 dnl
5 dnl (c) 2008 Straylight/Edgeware
6 dnl
7
8 dnl ----- Licensing notice --------------------------------------------------
9 dnl
10 dnl This file is part of the `fwd' port forwarder.
11 dnl
12 dnl `fwd' is free software; you can redistribute it and/or modify
13 dnl it under the terms of the GNU General Public License as published by
14 dnl the Free Software Foundation; either version 2 of the License, or
15 dnl (at your option) any later version.
16 dnl
17 dnl `fwd' is distributed in the hope that it will be useful,
18 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
19 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 dnl GNU General Public License for more details.
21 dnl
22 dnl You should have received a copy of the GNU General Public License
23 dnl along with `fwd'; if not, write to the Free Software Foundation,
24 dnl Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25
26 dnl--------------------------------------------------------------------------
27 dnl Initialization.
28
29 mdw_AUTO_VERSION
30 AC_INIT([fwd], AUTO_VERSION, [mdw@distorted.org.uk])
31 AC_CONFIG_SRCDIR([fwd.c])
32 AC_CONFIG_AUX_DIR([config])
33
34 AM_INIT_AUTOMAKE([foreign])
35 mdw_SILENT_RULES
36
37 dnl--------------------------------------------------------------------------
38 dnl C programming environment.
39
40 dnl Compiler.
41 AC_PROG_CC
42 AX_CFLAGS_WARN_ALL
43
44 dnl Headers.
45 AC_CHECK_HEADERS([unistd.h])
46
47 dnl Types.
48 AC_TYPE_UID_T
49 AC_TYPE_PID_T
50 AX_TYPE_SOCKLEN_T
51
52 dnl Declarations.
53 AC_CHECK_DECLS([environ])
54 AC_CHECK_DECLS([_sys_siglist])
55
56 dnl Libraries.
57 AC_SEARCH_LIBS([modf], [m])
58 AC_SEARCH_LIBS([socket], [socket])
59 AC_SEARCH_LIBS([gethostbyname], [nsl resolv])
60
61 dnl Packages.
62 PKG_CHECK_MODULES([mLib], [mLib >= 2.2.1])
63
64 dnl Functions.
65 AC_CHECK_FUNCS([inet_aton])
66 AC_CHECK_FUNCS([setrlimit])
67 AC_CHECK_FUNCS([setgroups])
68 AC_CHECK_FUNCS([getnetbyname])
69 AC_CHECK_FUNCS([strsignal])
70
71 dnl Logging is weird under Termux. Unfortunately, it involves macros, so we
72 dnl have to do this the hard way.
73 AC_CACHE_CHECK(
74 [library needed for syslog], [mdw_cv_syslog_lib],
75 [mdw_ORIG_LIBS=$LIBS LIBS=
76 for i in 0 1; do
77 AC_TRY_LINK([#include <syslog.h>],
78 [openlog("test", LOG_PID, LOG_DAEMON);
79 syslog(LOG_ERR, "this is a test");],
80 [ok=t], [ok=nil])
81 case $i,$ok in
82 *,t) mdw_cv_syslog_lib=${LIBS:-none}; break ;;
83 0,nil) LIBS="-llog" ;;
84 1,nil) AC_MSG_ERROR("failed to link test program") ;;
85 esac
86 done
87 LIBS=$mdw_ORIG_LIBS])
88 case $mdw_cv_syslog_lib in
89 none) ;;
90 *) LIBS="$LIBS $mdw_cv_syslog_lib" ;;
91 esac
92 AC_SUBST([LOGLIBS])
93
94 dnl--------------------------------------------------------------------------
95 dnl Output.
96
97 AC_CONFIG_HEADER([config/config.h])
98 AC_CONFIG_FILES([Makefile])
99
100 AC_OUTPUT
101
102 dnl ----- That's all, folks -------------------------------------------------