-
Notifications
You must be signed in to change notification settings - Fork 0
/
configure.ac
153 lines (131 loc) · 4.49 KB
/
configure.ac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# Process this file with autoconf to produce a configure script.
AC_INIT(nocat, [0.93pre2], [schuyler@nocat.net], [NoCatSplash])
AC_CONFIG_SRCDIR([src/http.c])
AM_CONFIG_HEADER(src/config.h)
AM_INIT_AUTOMAKE
AM_MAINTAINER_MODE
# Checks for programs.
AC_PROG_CC
AC_PROG_MAKE_SET
AC_PROG_RANLIB
# Checks for libraries.
# FIXME: Replace `main' with a function in `-lsplash':
# AC_CHECK_LIB([splash], [http_request_new])
AM_PATH_GLIB( 1.2.0, :, AC_MSG_ERROR([You must have glib-1.2 installed.]), : )
# Checks for header files.
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS([arpa/inet.h fcntl.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_OFF_T
AC_TYPE_PID_T
# Checks for library functions.
AC_FUNC_FORK
AC_FUNC_MMAP
AC_TYPE_SIGNAL
AC_FUNC_STRTOD
AC_CHECK_FUNCS([munmap socket strchr strcspn strrchr strstr strtol])
# Make sure we have values for prefix and exec_prefix
if test "$prefix" = "NONE"; then
prefix="$ac_default_prefix"
fi
if test "$exec_prefix" = "NONE"; then
exec_prefix="$prefix"
fi
if test "$pkgdatadir" = ""; then
pkgdatadir="$datadir/$PACKAGE_NAME"
fi
# which g/w mode?
AC_ARG_WITH(mode,
[ --with-mode Authentication mode (open) ],
[case "${withval}" in
open) splashd_mode="open.c" ;;
passive)
splashd_mode="passive.c base64.c"
AC_CHECK_LIB([crypt], [crypt])
;;
*) AC_MSG_ERROR(bad value ${withval} for --with-mode) ;;
esac
AC_DEFINE_UNQUOTED(NC_SPLASHD_MODE, "${withval}",
[Which mode the gateway runs in.])
],
splashd_mode="open.c"
)
AC_ARG_WITH(remote-splash,
[ --with-remote-splash Fetch splash page from a configurable service. ],
[ splashd_mode="$splashd_mode ../libghttp/libghttp.a";
splashd_subdirs="libghttp";
HAVE_LIBGHTTP=1;
AC_SUBST(HAVE_LIBGHTTP) ]
)
AC_SUBST(SPLASHD_MODE, "$splashd_mode")
AC_SUBST(SPLASHD_SUBDIRS, "$splashd_subdirs")
# with ghttpd?
AC_ARG_WITH(ghttpd,
[ --with-ghttpd Build and install ghttpd, a lightweight httpd.],
AC_SUBST(GHTTPD_PROGRAM, "ghttpd"),
:
)
# Check for firewall software
supported_fw=`find libexec/ -type d ! -path "*CVS*" -exec echo -n "{} " \;`
AC_ARG_WITH(firewall,
[ --with-firewall=FW Firewall to configure NoCat for.],
firewall="$withval",
AC_CHECK_PROGS(firewall, `cd ./libexec; ls | grep -v CVS`, "")
)
if test "$firewall" = ""; then
AC_MSG_ERROR(No supported firewalls found in \$PATH.)
fi
AC_SUBST(libexecscripts,
`find libexec/$firewall -type f ! -path "*CVS*" -exec echo -n "{} " \;`)
AC_SUBST(pkglibexecdir, $libexecdir/$PACKAGE_NAME)
eval "NC_FIREWALL_PATH=`eval echo ${pkglibexecdir}`"
AC_DEFINE_UNQUOTED(NC_FIREWALL_PATH, "$NC_FIREWALL_PATH",
[Where to find firewall scripts?])
# Check for htdocs files
AC_ARG_WITH(docroot,
[ --with-docroot=PATH Directory to store HTML templates in.],
htdocsdir="$withval", htdocsdir="${pkgdatadir}/htdocs")
AC_SUBST(htdocsdir)
AC_SUBST(imagesdir, $htdocsdir/images)
eval "NC_DOCUMENT_ROOT=`eval echo ${htdocsdir}`"
AC_DEFINE_UNQUOTED(NC_DOCUMENT_ROOT, "$NC_DOCUMENT_ROOT",
[Where to serve documents from?])
# Where do I find nocat.conf?
eval "NC_CONF_PATH=`eval echo ${sysconfdir}`"
AC_DEFINE_UNQUOTED(NC_CONF_PATH, "$NC_CONF_PATH",
[Where to find our nocat.conf, by default])
eval "NC_STATE_DIR=`eval echo ${localstatedir}`"
AC_DEFINE_UNQUOTED(NC_STATE_DIR, "$NC_STATE_DIR",
[Where to chdir after daemonizing, by default])
AC_DEFINE_UNQUOTED(NC_PID_FILE, "$NC_STATE_DIR/run/splashd.pid",
[Where to store our PID file, by default])
# PGP files?
AC_SUBST(pgpdir, "$pkgdatadir/pgp")
eval "NC_PGP_PATH=`eval echo ${pgpdir}`"
AC_DEFINE_UNQUOTED(NC_PGP_PATH, "$NC_PGP_PATH",
[Where to find our PGP keys?])
# libghttp configuration details
GHTTP_MAJOR_VERSION=1
GHTTP_MINOR_VERSION=0
GHTTP_MICRO_VERSION=9
GHTTP_VERSION=$GHTTP_MAJOR_VERSION.$GHTTP_MINOR_VERSION.$GHTTP_MICRO_VERSION
AC_SUBST(GHTTP_MAJOR_VERSION)
AC_SUBST(GHTTP_MINOR_VERSION)
AC_SUBST(GHTTP_MICRO_VERSION)
AC_SUBST(GHTTP_VERSION)
AC_DEFINE_UNQUOTED(GHTTP_MAJOR_VERSION, $GHTTP_MAJOR_VERSION)
AC_DEFINE_UNQUOTED(GHTTP_MINOR_VERSION, $GHTTP_MINOR_VERSION)
AC_DEFINE_UNQUOTED(GHTTP_MICRO_VERSION, $GHTTP_MICRO_VERSION)
GHTTP_LIBDIR='-L${libdir}'
GHTTP_INCLUDEDIR='-I${includedir}'
GHTTP_LIBS="-lghttp"
AC_SUBST(GHTTP_LIBDIR)
AC_SUBST(GHTTP_LIBS)
AC_SUBST(GHTTP_INCLUDEDIR)
# Build makefiles
AC_CONFIG_FILES([Makefile
src/Makefile
libghttp/Makefile])
AC_OUTPUT