1# configure.in - input to autoconf 2# 3# This file is 4# Copyright (C) 1997-2000 Ian Jackson <ian@davenant.greenend.org.uk> 5# 6# It is part of adns, which is 7# Copyright (C) 1997-2000 Ian Jackson <ian@davenant.greenend.org.uk> 8# Copyright (C) 1999-2000 Tony Finch <dot@dotat.at> 9# 10# This program is free software; you can redistribute it and/or modify 11# it under the terms of the GNU General Public License as published by 12# the Free Software Foundation; either version 2, or (at your option) 13# any later version. 14# 15# This program is distributed in the hope that it will be useful, 16# but WITHOUT ANY WARRANTY; without even the implied warranty of 17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18# GNU General Public License for more details. 19# 20# You should have received a copy of the GNU General Public License 21# along with this program; if not, write to the Free Software Foundation, 22# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 23 24AC_INIT(src/adns.h) 25AC_CONFIG_HEADER(src/config.h) 26 27dnl DPKG_CACHED_TRY_COMPILE(<description>,<cachevar>,<include>,<program>,<ifyes>,<ifno>) 28define(DPKG_CACHED_TRY_COMPILE,[ 29 AC_MSG_CHECKING($1) 30 AC_CACHE_VAL($2,[ 31 AC_TRY_COMPILE([$3],[$4],[$2=yes],[$2=no]) 32 ]) 33 if test "x$$2" = xyes; then 34 true 35 $5 36 else 37 true 38 $6 39 fi 40]) 41 42AC_MSG_CHECKING(whether you requested dynamic linking) 43AC_SUBST(ENABLE_DYNAMIC) 44AC_ARG_ENABLE(dynamic, 45[ --disable-dynamic use static linking 46 --enable-dynamic[=elf] create and use ELF dynamic library (default)], 47[ case "$enableval" in 48 elf|yes) 49 ENABLE_DYNAMIC=elf 50 AC_MSG_RESULT([yes (ELF)]) 51 ;; 52 no) ENABLE_DYNAMIC=no 53 AC_MSG_RESULT(no) 54 ;; 55 *) AC_MSG_ERROR( 56["invalid value $enableval for --enable-dynamic, try yes or elf"]) 57 ;; 58 esac 59],[ 60 ENABLE_DYNAMIC=elf 61 AC_MSG_RESULT([yes, by default]) 62]) 63 64AC_PROG_CC 65AC_PROG_CPP 66AC_PROG_RANLIB 67AC_PROG_INSTALL 68 69AC_CHECK_FUNCS(poll) 70ADNS_C_GETFUNC(socket,socket) 71ADNS_C_GETFUNC(inet_ntoa,nsl) 72 73PROGS_IF_TSEARCH=adnsresfilter 74AC_SUBST(PROGS_HAVE_TSEARCH) 75AC_CHECK_FUNC(tsearch,[ 76 PROGS_HAVE_TSEARCH=$PROGS_IF_TSEARCH 77],[ 78 PROGS_HAVE_TSEARCH=''; 79 AC_MSG_WARN([tsearch missing - not building client program(s) $PROGS_IF_TSEARCH]) 80]) 81 82AC_MSG_CHECKING(for INADDR_LOOPBACK) 83AC_CACHE_VAL(adns_cv_decl_inaddrloopback,[ 84 AC_TRY_COMPILE([ 85#include <sys/socket.h> 86#include <netinet/in.h> 87#include <arpa/inet.h> 88 ],[ 89 INADDR_LOOPBACK; 90 ], 91 adns_cv_decl_inaddrloopback=yes, 92 adns_cv_decl_inaddrloopback=no)]) 93if test "$adns_cv_decl_inaddrloopback" = yes; then 94 AC_MSG_RESULT(found) 95else 96 AC_MSG_RESULT([not in standard headers, urgh...]) 97 AC_CHECK_HEADER(rpc/types.h,[ 98 AC_DEFINE(HAVEUSE_RPCTYPES_H) 99 ],[ 100 AC_MSG_ERROR([cannot find INADDR_LOOPBACK or rpc/types.h]) 101 ]) 102fi 103 104ADNS_C_GETFUNC(inet_aton,resolv,[ 105 LIBS="-lresolv $LIBS"; 106 AC_MSG_WARN([inet_aton is in libresolv, urgh. Must use -lresolv.]) 107]) 108 109DPKG_CACHED_TRY_COMPILE(inlines,dpkg_cv_c_inline,, 110 [} inline int foo (int x) {], 111 AC_MSG_RESULT(yes) 112 AC_DEFINE(HAVE_INLINE), 113 AC_MSG_RESULT(no)) 114 115ADNS_C_GCCATTRIB 116AC_CHECK_HEADERS(sys/select.h) 117 118AC_SUBST(WARNS) 119 120if test "${GCC-no}" = yes; then 121 WARNS="-Wall -Wmissing-prototypes -Wwrite-strings -Wstrict-prototypes -Wcast-qual -Wpointer-arith" 122else 123 WARNS= 124fi 125 126AC_SUBST(SHLIBCC) 127AC_SUBST(MKSHLIB_1) 128AC_SUBST(MKSHLIB_2) 129AC_SUBST(MKSHLIB_3) 130 131AC_SUBST(SHLIBFORLINK) 132AC_SUBST(SHLIBFILE) 133AC_SUBST(SHLIBSONAME) 134 135SHLIBFORLINK='libadns.so' 136SHLIBSONAME='$(SHLIBFORLINK).$(MAJOR)' 137SHLIBFILE='$(SHLIBSONAME).$(MINOR)' 138 139SHLIBCC='$(CC) $(CFLAGS) -fpic' 140MKSHLIB_1='$(CC) $(LDFLAGS) -shared -Wl,-soname=$(SHLIBSONAME) -o' 141MKSHLIB_2='' 142MKSHLIB_3='-lc' 143 144AC_OUTPUT( 145 settings.make Makefile 146 src/Makefile client/Makefile dynamic/Makefile regress/Makefile 147) 148