chiark / gitweb /
+ -- Ian Jackson <ian@davenant.greenend.org.uk> Wed, 9 Aug 2000 16:59:28 +0100
[adns.git] / configure.in
index 4fabdad33d0fe11f44e5b9ad1df8df9717d17003..208e94ac512e4a864ed7fc40f447a50139c01110 100644 (file)
@@ -1,7 +1,12 @@
 # configure.in - input to autoconf
 #  
-#  This file is part of adns, which is Copyright (C) 1997-1999 Ian Jackson
+#  This file is
+#    Copyright (C) 1997-2000 Ian Jackson <ian@davenant.greenend.org.uk>
 #
+#  It is part of adns, which is
+#    Copyright (C) 1997-2000 Ian Jackson <ian@davenant.greenend.org.uk>
+#    Copyright (C) 1999 Tony Finch <dot@dotat.at>
+#  
 #  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
 #  the Free Software Foundation; either version 2, or (at your option)
 
 AC_INIT(src/adns.h)
 AC_CONFIG_HEADER(src/config.h)
+
+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=yes
+               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([
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+ ],[
+  INADDR_LOOPBACK;
+ ],
+ adns_cv_decl_inaddrloopback=yes,
+ adns_cv_decl_inaddrloopback=no)])
+if test "$adns_cv_decl_inaddrloopback" = yes; then
+ AC_MSG_RESULT(found)
+else
+ AC_MSG_RESULT([not in standard headers, urgh...])
+ AC_CHECK_HEADER(rpc/types.h,[
+  AC_DEFINE(HAVEUSE_RPCTYPES_H)
+ ],[
+  AC_MSG_ERROR([cannot find INADDR_LOOPBACK or rpc/types.h])
+ ])
+fi
+
+ADNS_C_GETFUNC(inet_aton,resolv,[
+ LIBS="-lresolv $LIBS";
+ AC_MSG_WARN([inet_aton is in libresolv, urgh.  Must use -lresolv.])
+])
+
 ADNS_C_GCCATTRIB
 
 AC_SUBST(WARNS)
@@ -33,14 +105,21 @@ AC_SUBST(SHLIBCC)
 AC_SUBST(MKSHLIB_1)
 AC_SUBST(MKSHLIB_2)
 AC_SUBST(MKSHLIB_3)
+
+AC_SUBST(SHLIBFORLINK)
 AC_SUBST(SHLIBFILE)
 AC_SUBST(SHLIBSONAME)
 
+SHLIBFORLINK='libadns.so'
+SHLIBSONAME='$(SHLIBFORLINK).$(MAJOR)'
+SHLIBFILE='$(SHLIBSONAME).$(MINOR)'
+
 SHLIBCC='$(CC) $(CFLAGS) -fpic'
-MKSHLIB_1='$(CC) $(LDFLAGS) -shared -Wxl,soname=$(SONAME) -o'
+MKSHLIB_1='$(CC) $(LDFLAGS) -shared -Wl,-soname=$(SHLIBSONAME) -o'
 MKSHLIB_2=''
 MKSHLIB_3='-lc'
-SHLIBFILE='libadns.so.$(MAJOR).$(MINOR)'
-SHLIBSONAME='libadns.so.$(MAJOR)'
 
-AC_OUTPUT(settings.make)
+AC_OUTPUT(
+       settings.make Makefile
+       src/Makefile client/Makefile dynamic/Makefile regress/Makefile
+)