chiark / gitweb /
FOUND on davenant
[adns.git] / configure.in
index 12b2d18..3e72cad 100644 (file)
@@ -1,11 +1,10 @@
 # configure.in - input to autoconf
 #  
-#  This file is
-#    Copyright (C) 1997-1999 Ian Jackson <ian@davenant.greenend.org.uk>
-#
-#  It is part of adns, which is
-#    Copyright (C) 1997-1999 Ian Jackson <ian@davenant.greenend.org.uk>
-#    Copyright (C) 1999 Tony Finch <dot@dotat.at>
+#  This file is part of adns, which is
+#    Copyright (C) 1997-2000,2003,2006  Ian Jackson
+#    Copyright (C) 1999-2000,2003,2006  Tony Finch
+#    Copyright (C) 1991 Massachusetts Institute of Technology
+#  (See the file INSTALL for full details.)
 #  
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
 
 AC_INIT(src/adns.h)
 AC_CONFIG_HEADER(src/config.h)
+
+dnl DPKG_CACHED_TRY_COMPILE(<description>,<cachevar>,<include>,<program>,<ifyes>,<ifno>)
+define([DPKG_CACHED_TRY_COMPILE],[
+ AC_MSG_CHECKING($1)
+ AC_CACHE_VAL($2,[
+  AC_TRY_COMPILE([$3],[$4],[$2=yes],[$2=no])
+ ])
+ if test "x$$2" = xyes; then
+  true
+  $5
+ else
+  true
+  $6
+ fi
+])
+
+AC_MSG_CHECKING(whether you requested dynamic linking)
+AC_SUBST(ENABLE_DYNAMIC)
+AC_ARG_ENABLE(dynamic,
+[  --disable-dynamic       use static linking
+  --enable-dynamic[=elf]  create and use ELF dynamic library (default)],
+[      case "$enableval" in
+       elf|yes)
+               ENABLE_DYNAMIC=elf
+               AC_MSG_RESULT([yes (ELF)])
+               ;;
+       no)     ENABLE_DYNAMIC=no
+               AC_MSG_RESULT(no)
+               ;;
+       *)      AC_MSG_ERROR(
+["invalid value $enableval for --enable-dynamic, try yes or elf"])
+               ;;
+       esac
+],[
+               ENABLE_DYNAMIC=elf
+               AC_MSG_RESULT([yes, by default])
+])
+
 AC_PROG_CC
 AC_PROG_CPP
 AC_PROG_RANLIB
+AC_PROG_INSTALL
 
 AC_CHECK_FUNCS(poll)
 ADNS_C_GETFUNC(socket,socket)
 ADNS_C_GETFUNC(inet_ntoa,nsl)
 
+PROGS_IF_TSEARCH=adnsresfilter
+AC_SUBST(PROGS_HAVE_TSEARCH)
+AC_CHECK_FUNC(tsearch,[
+ PROGS_HAVE_TSEARCH=$PROGS_IF_TSEARCH
+],[
+ PROGS_HAVE_TSEARCH='';
+ AC_MSG_WARN([tsearch missing - not building client program(s) $PROGS_IF_TSEARCH])
+])
+
 AC_MSG_CHECKING(for INADDR_LOOPBACK)
 AC_CACHE_VAL(adns_cv_decl_inaddrloopback,[
  AC_TRY_COMPILE([
@@ -58,16 +105,30 @@ ADNS_C_GETFUNC(inet_aton,resolv,[
  AC_MSG_WARN([inet_aton is in libresolv, urgh.  Must use -lresolv.])
 ])
 
-ADNS_C_GCCATTRIB
+DPKG_CACHED_TRY_COMPILE(inlines,dpkg_cv_c_inline,,
+ [} inline int foo (int x) {],
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_INLINE),
+ AC_MSG_RESULT(no))
 
 AC_SUBST(WARNS)
 
 if test "${GCC-no}" = yes; then
        WARNS="-Wall -Wmissing-prototypes -Wwrite-strings -Wstrict-prototypes -Wcast-qual -Wpointer-arith"
+       saved_cflags="$CFLAGS"
+       CFLAGS="$CFLAGS -Wno-pointer-sign"
+       DPKG_CACHED_TRY_COMPILE(-Wno-pointer-sign,adns_cv_c_wnoptrsign,,
+        [],
+        AC_MSG_RESULT(yes)
+        WARNS="$WARNS -Wno-pointer-sign",
+        AC_MSG_RESULT(no))
+       CFLAGS="$saved_cflags"
 else
        WARNS=
 fi
 
+ADNS_C_GCCATTRIB
+
 AC_SUBST(SHLIBCC)
 AC_SUBST(MKSHLIB_1)
 AC_SUBST(MKSHLIB_2)