chiark / gitweb /
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 -------------------------------------------------