summaryrefslogtreecommitdiffstats
path: root/soxwrap/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'soxwrap/configure.ac')
-rw-r--r--soxwrap/configure.ac195
1 files changed, 195 insertions, 0 deletions
diff --git a/soxwrap/configure.ac b/soxwrap/configure.ac
new file mode 100644
index 0000000..e096ad5
--- /dev/null
+++ b/soxwrap/configure.ac
@@ -0,0 +1,195 @@
+dnl Process this file with autoconf to produce a configure script.
+
+dnl Copyright 2000-2009 Double Precision, Inc. See COPYING for
+dnl distribution information.
+
+AC_INIT(soxwrap, 0.50, [courier-users@lists.sourceforge.net])
+
+>confdefs.h # Kill PACKAGE_ macros
+
+AC_CONFIG_SRCDIR(soxwrap.h)
+AC_CONFIG_AUX_DIR(../..)
+AM_INIT_AUTOMAKE([foreign no-define])
+
+AM_CONFIG_HEADER(soxwrap_config.h)
+
+>confdefs.h # Nuke PACKAGE_ macros.
+
+dnl Checks for programs.
+AC_PROG_AWK
+AC_PROG_INSTALL
+AC_PROG_RANLIB
+AC_PROG_LN_S
+AC_PROG_CC
+
+dnl Check for options
+
+AC_CACHE_CHECK([for the Courier Socks library],
+ ac_cv_courier_socks,
+
+AC_COMPILE_IFELSE([
+ AC_LANG_SOURCE([
+#include <socks.h>
+
+#ifndef courier_socks_h
+#error Not a Courier socks header file
+#endif
+],[ int x=0; ])], [ac_cv_courier_socks=yes],[ac_cv_courier_socks=no])
+
+)
+
+AC_ARG_WITH(socks,
+[--without-socks - Do not use the Courier Socks library
+--with-socks - Use Courier Socks library],
+[
+ if test "$withval" = "yes"
+ then
+ if test "$ac_cv_courier_socks" = "no"
+ then
+ AC_MSG_ERROR([Courier Socks header files not found])
+ fi
+ else
+ ac_cv_courier_socks=no
+ fi
+])
+
+dnl Checks for libraries.
+
+saveLIBS="$LIBS"
+NETLIBS=""
+USENSL=no
+
+AC_CHECK_LIB(socket,socket,result=yes,result=no)
+if test $result = yes; then
+ NETLIBS="-lsocket"
+else
+ AC_CHECK_LIB(socket,socket,result=yes,result=no,-lnsl)
+ if test $result = yes; then
+ NETLIBS = "-lsocket -lnsl"
+ USENSL=yes
+ else
+ AC_CHECK_LIB(socket,connect,result=yes,result=no)
+ if test $result = yes; then
+ NETLIBS="-lsocket"
+ else
+ AC_CHECK_LIB(socket,connect,result=yes,result=no,-lnsl)
+ if test $result = yes; then
+ NETLIBS="-lsocket -lnsl"
+ USENSL=yes
+ fi
+ fi
+ fi
+fi
+
+if test $USENSL != yes; then
+ LIBS="$LIBS $NETLIBS"
+ AC_TRY_LINK_FUNC(inet_addr, [ : ],
+ [
+ AC_CHECK_LIB(nsl,inet_addr,result=yes,result=no)
+ if test $result = yes; then
+ NETLIBS="$NETLIBS -lnsl"
+ fi
+ ])
+fi
+
+LIBS="$saveLIBS"
+
+if test "$ac_cv_courier_socks" = "yes"
+then
+ SOCKLIBS="-lsocks"
+ DOSOCKS=1
+else
+ SOCKLIBS=$NETLIBS
+ DOSOCKS=0
+fi
+
+AC_DEFINE_UNQUOTED(HAVE_SOCKS, $DOSOCKS, [ Whether to use the Courier Socks library ])
+
+AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/select.h sys/poll.h pthread.h sys/stat.h fcntl.h sys/select.h sys/poll.h])
+AC_HEADER_TIME
+AC_SYS_LARGEFILE
+AC_SUBST(SOCKLIBS)
+
+
+echo $SOCKLIBS >soxlibs.dep
+CPPFLAGS="-I.. -I$srcdir/.. $CPPFLAGS"
+dnl Checks for typedefs, structures, and compiler characteristics.
+
+AC_CACHE_CHECK([for structs in6_addr, sockaddr_in6, and sockaddr_storage],
+ soxwrap_cv_hasipv6structs,
+
+AC_TRY_COMPILE( [
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+ ], [
+struct in6_addr in6a;
+struct sockaddr_in6 sain6;
+struct sockaddr_storage soas;
+int x=PF_INET6;
+
+ ], soxwrap_cv_hasipv6structs=yes,
+ soxwrap_cv_hasipv6structs=no )
+)
+
+AC_ARG_WITH(ipv6, [ --without-ipv6 Disable IPv6 support],
+[
+case $withval in
+y*|Y*)
+ if test "$soxwrap_cv_hasipv6structs" = no
+ then
+ AC_MSG_ERROR(IPv6 support not available)
+ fi
+ ;;
+*)
+ soxwrap_cv_hasipv6structs=no
+ ;;
+esac
+]
+)
+
+storage="struct sockaddr"
+storage_family="sa_family"
+
+if test "$soxwrap_cv_hasipv6structs" = "yes"
+then
+ AC_DEFINE_UNQUOTED(HAVE_SOXWRAP_IPV6,1,[Whether IPv6 is available])
+ storage="struct sockaddr_storage"
+ storage_family="ss_family"
+fi
+AC_DEFINE_UNQUOTED(SOCKADDR_STORAGE, $storage, [ Whether sockaddr_storage is available ])
+AC_DEFINE_UNQUOTED(SS_family, $storage_family, [ The address family field in SOCKADDR_STORAGE])
+
+dnl Check for socklen_t
+
+AC_CACHE_CHECK([for socklen_t],
+ sox_cv_hassocklen_t,
+
+AC_COMPILE_IFELSE([
+AC_LANG_SOURCE( [
+#include <sys/types.h>
+#include <sys/socket.h>
+
+socklen_t sl_t;
+],[
+ accept(0, 0, &sl_t);
+])],
+ sox_cv_hassocklen_t=yes,
+ sox_cv_hassocklen_t=no)
+)
+
+socklen_t="int"
+
+if test $sox_cv_hassocklen_t = yes
+then
+ :
+else
+ AC_DEFINE_UNQUOTED(socklen_t, int, [ Default definition for socklen_t ])
+fi
+
+
+
+AC_CHECK_FUNCS(inet_pton poll)
+AC_OUTPUT(Makefile)