X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=adns.git;a=blobdiff_plain;f=configure.in;h=2855fe6a65d186c52ae8310075ccc6bbd1ee561c;hp=4af860628fc602e7b01f7be6004535b7144f194a;hb=a63608e6192b082adb2392c30f1a113e4f8b3ba7;hpb=04e7fb4d97434b04dfc25c79fd0ceec8d76c38ac diff --git a/configure.in b/configure.in index 4af8606..2855fe6 100644 --- a/configure.in +++ b/configure.in @@ -1,10 +1,15 @@ # configure.in - input to autoconf # -# This file is part of adns, which is Copyright (C) 1997-1999 Ian Jackson -# +# This file is part of adns, which is +# Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson +# Copyright (C) 2014 Mark Wooding +# 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 -# the Free Software Foundation; either version 2, or (at your option) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, @@ -13,19 +18,66 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# along with this program; if not, write to the Free Software Foundation. AC_INIT(src/adns.h) AC_CONFIG_HEADER(src/config.h) + +dnl DPKG_CACHED_TRY_COMPILE(,,,,,) +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([ @@ -53,29 +105,47 @@ 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) 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 Makefile