Completely reorganized the file. I'm trying to follow the layout specified
in the Autoconf manual.
This commit is contained in:
parent
883d4f5062
commit
91af06dd1a
304
configure.in
304
configure.in
@ -1,4 +1,18 @@
|
|||||||
dnl $Id: configure.in,v 1.13 2001-06-05 16:08:45 rjkaes Exp $
|
dnl $Id: configure.in,v 1.14 2001-06-06 19:32:09 rjkaes Exp $
|
||||||
|
|
||||||
|
dnl Devlopers, please strive to achieve this order:
|
||||||
|
dnl
|
||||||
|
dnl 0. Initialization and options processing
|
||||||
|
dnl 1. Programs
|
||||||
|
dnl 2. Libraries
|
||||||
|
dnl 3. Header files
|
||||||
|
dnl 4. Types
|
||||||
|
dnl 5. Structures
|
||||||
|
dnl 6. Compiler characteristics
|
||||||
|
dnl 7. Functions, global variables
|
||||||
|
dnl 8. System services
|
||||||
|
dnl
|
||||||
|
dnl Read the Autoconf manual for details.
|
||||||
|
|
||||||
AC_INIT()
|
AC_INIT()
|
||||||
AM_INIT_AUTOMAKE(tinyproxy,1.4.0pre7)
|
AM_INIT_AUTOMAKE(tinyproxy,1.4.0pre7)
|
||||||
@ -7,13 +21,66 @@ AM_CONFIG_HEADER(config.h)
|
|||||||
AC_CANONICAL_HOST
|
AC_CANONICAL_HOST
|
||||||
AC_CANONICAL_TARGET
|
AC_CANONICAL_TARGET
|
||||||
|
|
||||||
dnl Checks for programs.
|
dnl
|
||||||
|
dnl Command line options
|
||||||
|
dnl
|
||||||
|
|
||||||
|
dnl Set the URL name for find the statistics of tinyproxy
|
||||||
|
AC_ARG_WITH(stathost, [ --with-stathost=HOST Default status host],
|
||||||
|
AC_DEFINE_UNQUOTED(DEFAULT_STATHOST, "$withval"))
|
||||||
|
|
||||||
|
dnl Set the default configuration file location
|
||||||
|
AC_ARG_WITH(config,
|
||||||
|
[ --with-config=FILE Set the default location of the config file],
|
||||||
|
AC_DEFINE_UNQUOTED(DEFAULT_CONF_FILE, "$withval"))
|
||||||
|
|
||||||
|
dnl Add compiler-specific optimization flags
|
||||||
|
AC_ARG_ENABLE(debug,
|
||||||
|
[ --enable-debug Disable aggressive optimizations [default=no]],
|
||||||
|
debug_enabled=yes, debug_enabled=no)
|
||||||
|
|
||||||
|
dnl Include SOCKS support
|
||||||
|
AC_ARG_ENABLE(socks,
|
||||||
|
[ --enable-socks Enable SOCKS support [default=no]],
|
||||||
|
socks_enabled=yes, socks_enabled=no)
|
||||||
|
|
||||||
|
dnl Check to see if the XTinyproxy header is to be included
|
||||||
|
AC_ARG_ENABLE(xtinyproxy,
|
||||||
|
[ --enable-xtinyproxy Include X-Tinyproxy header [default=yes]],
|
||||||
|
xtinyproxy_enabled=yes, xtinyproxy_enabled=yes)
|
||||||
|
if test "$xtinyproxy_enabled" = "yes"; then
|
||||||
|
AC_DEFINE(XTINYPROXY_ENABLE)
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Include filtering for domain/URLs
|
||||||
|
AC_ARG_ENABLE(filter,
|
||||||
|
[ --enable-filter Enable filtering of domains/URLs [default=yes]],
|
||||||
|
filter_enabled=yes, filter_enabled=yes)
|
||||||
|
if test "$filter_enabled" = "yes"; then
|
||||||
|
LIBOBJS="$LIBOBJS filter.o"
|
||||||
|
AC_DEFINE(FILTER_ENABLE)
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Include support for upstream proxies? (TCP tunneling)
|
||||||
|
AC_ARG_ENABLE(tunnel,
|
||||||
|
[ --enable-tunnel Enable support for TCP tunneling [default=yes]],
|
||||||
|
tunnel_enabled=yes, tunnel_enabled=yes)
|
||||||
|
if test "$tunnel_enabled" = "yes" ; then
|
||||||
|
AC_DEFINE(TUNNEL_SUPPORT)
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl Checks for programs
|
||||||
|
dnl
|
||||||
AC_PROG_AWK
|
AC_PROG_AWK
|
||||||
AC_PROG_MAKE_SET
|
AC_PROG_MAKE_SET
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
AC_PROG_LN_S
|
AC_PROG_LN_S
|
||||||
|
AM_PROG_LEX
|
||||||
AC_PROG_YACC
|
AC_PROG_YACC
|
||||||
|
|
||||||
|
dnl Make sure YACC is actually bison
|
||||||
if test "$YACC" != "bison -y"; then
|
if test "$YACC" != "bison -y"; then
|
||||||
AC_MSG_WARN(You will need bison if you want to regenerate the parser.)
|
AC_MSG_WARN(You will need bison if you want to regenerate the parser.)
|
||||||
else
|
else
|
||||||
@ -27,10 +94,41 @@ else
|
|||||||
AC_MSG_RESULT($1.$2 (ok))
|
AC_MSG_RESULT($1.$2 (ok))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AM_PROG_LEX
|
dnl
|
||||||
AM_C_PROTOTYPES
|
dnl Checks for libraries
|
||||||
|
dnl
|
||||||
|
AC_CHECK_LIB(pthread, pthread_create)
|
||||||
|
if test "$ac_cv_lib_pthread_pthread_create" = "yes"; then
|
||||||
|
CFLAGS="-D_REENTRANT $CFLAGS"
|
||||||
|
else
|
||||||
|
AC_CHECK_LIB(pthreads, pthread_create)
|
||||||
|
if test "$ac_cv_lib_pthreads_pthread_create" = "yes"; then
|
||||||
|
CFLAGS="-D_REENTRANT $CFLAGS"
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR(You must have a POSIX compliant threading library installed)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
dnl Checks for header files.
|
AC_CHECK_LIB(socket, socket, , AC_CHECK_LIB(socket, htonl))
|
||||||
|
|
||||||
|
dnl Some systems (OpenServer 5) dislike -lsocket -lnsl, so we try to
|
||||||
|
dnl avoid -lnsl checks, if we already have the functions which are
|
||||||
|
dnl usually in libnsl
|
||||||
|
|
||||||
|
unset ac_cv_func_yp_get_default_domain
|
||||||
|
AC_CHECK_FUNC(yp_get_default_domain, [ tinyproxy_no_nsl_checks=yes ], [ ])
|
||||||
|
unset ac_cv_func_yp_get_default_domain
|
||||||
|
|
||||||
|
if test "$tinyproxy_no_nsl_checks" != "yes"; then
|
||||||
|
AC_CHECK_LIB(nsl, gethostname, , AC_CHECK_LIB(nsl, gethostbyaddr))
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CHECK_LIB(resolv, inet_aton)
|
||||||
|
AC_CHECK_LIB(socks, main, socks_library=yes, socks_library=no)
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl Checks for headers
|
||||||
|
dnl
|
||||||
AC_HEADER_STDC
|
AC_HEADER_STDC
|
||||||
AC_CHECK_HEADERS(\
|
AC_CHECK_HEADERS(\
|
||||||
sys/types.h \
|
sys/types.h \
|
||||||
@ -55,6 +153,7 @@ grp.h \
|
|||||||
io.h \
|
io.h \
|
||||||
libintl.h \
|
libintl.h \
|
||||||
malloc.h \
|
malloc.h \
|
||||||
|
memory.h \
|
||||||
netdb.h \
|
netdb.h \
|
||||||
pthread.h \
|
pthread.h \
|
||||||
pwd.h \
|
pwd.h \
|
||||||
@ -74,11 +173,15 @@ unistd.h \
|
|||||||
wchar.h \
|
wchar.h \
|
||||||
wctype.h \
|
wctype.h \
|
||||||
)
|
)
|
||||||
|
AC_HEADER_TIME
|
||||||
|
AC_CHECK_HEADER(socks.h, socks_header=yes, socks_header=no)
|
||||||
|
|
||||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
dnl
|
||||||
|
dnl Checks for types
|
||||||
|
dnl
|
||||||
|
AM_C_PROTOTYPES
|
||||||
AC_C_CONST
|
AC_C_CONST
|
||||||
AC_C_INLINE
|
AC_C_INLINE
|
||||||
AC_HEADER_TIME
|
|
||||||
AC_UNP_CHECK_TYPE(uint8_t, unsigned char)
|
AC_UNP_CHECK_TYPE(uint8_t, unsigned char)
|
||||||
AC_UNP_CHECK_TYPE(int16_t, short)
|
AC_UNP_CHECK_TYPE(int16_t, short)
|
||||||
AC_UNP_CHECK_TYPE(uint16_t, unsigned short)
|
AC_UNP_CHECK_TYPE(uint16_t, unsigned short)
|
||||||
@ -88,101 +191,14 @@ AC_UNP_CHECK_TYPE(size_t, unsigned int)
|
|||||||
AC_UNP_CHECK_TYPE(ssize_t, int)
|
AC_UNP_CHECK_TYPE(ssize_t, int)
|
||||||
AC_UNP_CHECK_TYPE(socklen_t, unsigned int)
|
AC_UNP_CHECK_TYPE(socklen_t, unsigned int)
|
||||||
AC_UNP_CHECK_TYPE(in_addr_t, uint32_t)
|
AC_UNP_CHECK_TYPE(in_addr_t, uint32_t)
|
||||||
|
AC_TYPE_PID_T
|
||||||
dnl Checks for libraries
|
|
||||||
AC_CHECK_LIB(pthread, pthread_create)
|
|
||||||
if test "$ac_cv_lib_pthread_pthread_create" = "yes"; then
|
|
||||||
CFLAGS="-D_REENTRANT $CFLAGS"
|
|
||||||
else
|
|
||||||
AC_CHECK_LIB(pthreads, pthread_create)
|
|
||||||
if test "$ac_cv_lib_pthreads_pthread_create" = "yes"; then
|
|
||||||
CFLAGS="-D_REENTRANT $CFLAGS"
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR(You must have a POSIX compliant threading library installed)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_CHECK_LIB(socket, socket, LIBS="-lsocket $LIBS", AC_CHECK_LIB(socket, htonl))
|
|
||||||
|
|
||||||
dnl Some systems (OpenServer 5) dislike -lsocket -lnsl, so we try to
|
|
||||||
dnl avoid -lnsl checks, if we already have the functions which are
|
|
||||||
dnl usually in libnsl
|
|
||||||
|
|
||||||
unset ac_cv_func_yp_get_default_domain
|
|
||||||
AC_CHECK_FUNC(yp_get_default_domain, [ tinyproxy_no_nsl_checks=yes ], [ ])
|
|
||||||
unset ac_cv_func_yp_get_default_domain
|
|
||||||
|
|
||||||
if test "$tinyproxy_no_nsl_checks" != "yes"; then
|
|
||||||
AC_CHECK_LIB(nsl, gethostname, LIBS="-lnsl $LIBS", AC_CHECK_LIB(nsl, gethostbyaddr))
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_CHECK_LIB(resolv, inet_aton)
|
|
||||||
|
|
||||||
dnl Checks for library functions.
|
|
||||||
AC_FUNC_ALLOCA
|
|
||||||
dnl AC_FUNC_MEMCMP
|
|
||||||
AC_TYPE_SIGNAL
|
AC_TYPE_SIGNAL
|
||||||
AC_FUNC_STRFTIME
|
|
||||||
AC_FUNC_VPRINTF
|
|
||||||
AC_CHECK_FUNCS(\
|
|
||||||
ftruncate \
|
|
||||||
select \
|
|
||||||
setrlimit \
|
|
||||||
socket \
|
|
||||||
strdup \
|
|
||||||
strerror \
|
|
||||||
strtol \
|
|
||||||
vsnprintf \
|
|
||||||
vsyslog \
|
|
||||||
)
|
|
||||||
AC_CHECK_FUNCS(strlcpy strlcat)
|
|
||||||
|
|
||||||
AC_ARG_WITH(stathost, [ --with-stathost=HOST Default status host],
|
dnl
|
||||||
AC_DEFINE_UNQUOTED(DEFAULT_STATHOST, "$withval"))
|
dnl Compiler characteristics
|
||||||
|
dnl
|
||||||
dnl Set the default configuration file location
|
|
||||||
AC_ARG_WITH(config,
|
|
||||||
[ --with-config=FILE Set the default location of the config file],
|
|
||||||
AC_DEFINE_UNQUOTED(DEFAULT_CONF_FILE, "$withval"))
|
|
||||||
|
|
||||||
dnl Check for the regex library
|
|
||||||
AC_ARG_WITH(regex, [ --with-regex Use the GNU regex libary],
|
|
||||||
tinyproxy_cv_regex=yes,
|
|
||||||
AC_CHECK_FUNCS(regcomp, tinyproxy_cv_regex=no, tinyproxy_cv_regex=yes))
|
|
||||||
|
|
||||||
if test "$tinyproxy_cv_regex" != "yes" ; then
|
|
||||||
AC_MSG_CHECKING(whether your system's regexp library is completely broken)
|
|
||||||
AC_CACHE_VAL(tinyproxy_cv_regex_broken,
|
|
||||||
AC_TRY_RUN([
|
|
||||||
# include <unistd.h>
|
|
||||||
# include <regex.h>
|
|
||||||
int main(void)
|
|
||||||
{
|
|
||||||
regex_t blah;
|
|
||||||
return regcomp(&blah, "foo.*bar", REG_NOSUB) || regexec(&blah, "foobar", 0, NULL, 0);
|
|
||||||
}
|
|
||||||
],
|
|
||||||
tinyproxy_cv_regex_broken=no,
|
|
||||||
tinyproxy_cv_regex_broken=yes,
|
|
||||||
tinyproxy_cv_regex_broken=yes))
|
|
||||||
|
|
||||||
AC_MSG_RESULT($tinyproxy_cv_regex_broken)
|
|
||||||
if test "$tinyproxy_cv_regex_broken" = "yes" ; then
|
|
||||||
echo "Using the included GNU regex instead." >&AC_FD_MSG
|
|
||||||
tinyproxy_cv_regex=yes
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$tinyproxy_cv_regex" = "yes" ; then
|
|
||||||
AC_DEFINE(USE_GNU_REGEX)
|
|
||||||
LIBOBJS="gnuregex.o $LIBOBJS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl Add compiler-specific optimization flags
|
|
||||||
AC_ARG_ENABLE(debug,
|
|
||||||
[ --enable-debug Disable aggressive optimizations [default=no]],
|
|
||||||
debug_enabled=yes)
|
|
||||||
|
|
||||||
|
dnl Enable the debugging flags (by checking for the GCC compiler)
|
||||||
CFLAGS="-Wall $CFLAGS"
|
CFLAGS="-Wall $CFLAGS"
|
||||||
if test "$enable_debug" = "yes" ; then
|
if test "$enable_debug" = "yes" ; then
|
||||||
dnl Add the warnings if we have the GCC compiler
|
dnl Add the warnings if we have the GCC compiler
|
||||||
@ -198,51 +214,81 @@ else
|
|||||||
YFLAGS="-d"
|
YFLAGS="-d"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl Check for SOCKS support
|
dnl
|
||||||
AC_ARG_ENABLE(socks,
|
dnl Checks for functions
|
||||||
[ --enable-socks Enable SOCKS support [default=no]],
|
dnl
|
||||||
socks_enabled=yes, socks_enabled=no)
|
AC_FUNC_ALLOCA
|
||||||
|
dnl AC_FUNC_MEMCMP
|
||||||
|
AC_FUNC_STRFTIME
|
||||||
|
AC_FUNC_VPRINTF
|
||||||
|
AC_CHECK_FUNCS(\
|
||||||
|
ftruncate \
|
||||||
|
regexec \
|
||||||
|
select \
|
||||||
|
setrlimit \
|
||||||
|
socket \
|
||||||
|
strdup \
|
||||||
|
strerror \
|
||||||
|
strtol \
|
||||||
|
vsnprintf \
|
||||||
|
vsyslog \
|
||||||
|
)
|
||||||
|
AC_CHECK_FUNCS(strlcpy strlcat)
|
||||||
|
|
||||||
|
if test "$ac_cv_func_vprintf" != "yes"; then
|
||||||
|
AC_CHECK_FUNC(_doprnt, AC_DEFINE(HAVE_DOPRNT))
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl Make sure we can actually handle the "--with-*" and "--enable-*" stuff.
|
||||||
|
dnl
|
||||||
|
|
||||||
|
dnl Handle the SOCKS support
|
||||||
if test "$socks_enabled" = "yes"; then
|
if test "$socks_enabled" = "yes"; then
|
||||||
AC_CHECK_HEADER(socks.h, socks_header=yes, socks_header=no)
|
|
||||||
AC_CHECK_LIB(socks, main, socks_library=yes, socks_library=no)
|
|
||||||
if test "$socks_header" = "yes" -a "$socks_library" = "yes"; then
|
if test "$socks_header" = "yes" -a "$socks_library" = "yes"; then
|
||||||
CFLAGS="-I/usr/include/sock.h -DSOCKS $CFLAGS"
|
CFLAGS="-I/usr/include/sock.h -DSOCKS $CFLAGS"
|
||||||
LIBS="-lsocks $LIBS"
|
LIBS="-lsocks $LIBS"
|
||||||
else
|
else
|
||||||
AC_MSG_ERROR(could not find the SOCKS library or header)
|
AC_MSG_ERROR([Could not include the SOCKS library or header])
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl Check to see if the XTinyproxy header is to be included
|
dnl Handle the REGEX library
|
||||||
AC_ARG_ENABLE(xtinyproxy,
|
if test "$ac_cv_func_regex" != "yes"; then
|
||||||
[ --enable-xtinyproxy Include X-Tinyproxy header [default=yes]],
|
dnl We don't have a functioning REGEX so include our copy
|
||||||
xtinyproxy_enabled=yes, xtinyproxy_enabled=yes)
|
tinyproxy_use_our_regex=yes
|
||||||
|
else
|
||||||
|
AC_MSG_CHECKING([whether the system's regex library is broken])
|
||||||
|
AC_CACHE_VAL(tinyproxy_cv_regex_broken,
|
||||||
|
AC_TRY_RUN([
|
||||||
|
# include <unistd.h>
|
||||||
|
# include <regex.h>
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
regex_t blah;
|
||||||
|
return regcomp(&blah, "foo.*bar", REG_NOSUB) || regexec(&blah, "foobar", 0, NULL, 0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
tinyproxy_cv_regex_broken=no,
|
||||||
|
tinyproxy_cv_regex_broken=yes,
|
||||||
|
tinyproxy_cv_regex_broken=yes))
|
||||||
|
|
||||||
if test "$xtinyproxy_enabled" = "yes"; then
|
AC_MSG_RESULT($tinyproxy_cv_regex_broken)
|
||||||
AC_DEFINE(XTINYPROXY_ENABLE)
|
|
||||||
|
if test "$tinyproxy_cv_regex_broken" = "yes" ; then
|
||||||
|
echo "Using the included GNU regex instead." >&AC_FD_MSG
|
||||||
|
tinyproxy_use_our_regex=yes
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl Include filtering for domain/URLs
|
if test "$tinyproxy_use_our_regex" = "yes" ; then
|
||||||
AC_ARG_ENABLE(filter,
|
AC_DEFINE(USE_GNU_REGEX)
|
||||||
[ --enable-filter Enable filtering of domains/URLs [default=yes]],
|
LIBOBJS="gnuregex.o $LIBOBJS"
|
||||||
filter_enabled=yes, filter_enabled=yes)
|
|
||||||
|
|
||||||
if test "$filter_enabled" = "yes"; then
|
|
||||||
LIBOBJS="$LIBOBJS filter.o"
|
|
||||||
AC_DEFINE(FILTER_ENABLE)
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl Include support for upstream proxies? (TCP tunneling)
|
|
||||||
AC_ARG_ENABLE(tunnel,
|
|
||||||
[ --enable-tunnel Enable support for TCP tunneling [default=yes]],
|
|
||||||
tunnel_enabled=yes, tunnel_enabled=yes)
|
|
||||||
|
|
||||||
if test "$tunnel_enabled" = "yes" ; then
|
|
||||||
AC_DEFINE(TUNNEL_SUPPORT)
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
dnl
|
||||||
dnl Substitute the variables into the various Makefiles
|
dnl Substitute the variables into the various Makefiles
|
||||||
|
dnl
|
||||||
AC_SUBST(CFLAGS)
|
AC_SUBST(CFLAGS)
|
||||||
AC_SUBST(YFLAGS)
|
AC_SUBST(YFLAGS)
|
||||||
AC_SUBST(CPPFLAGS)
|
AC_SUBST(CPPFLAGS)
|
||||||
|
Loading…
Reference in New Issue
Block a user