licence waiver section improved
[adns] / configure.in
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-2005 Ian Jackson <ian@davenant.greenend.org.uk>
8 # Copyright (C) 1999-2004 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
24 AC_INIT(src/adns.h)
25 AC_CONFIG_HEADER(src/config.h)
26
27 dnl DPKG_CACHED_TRY_COMPILE(<description>,<cachevar>,<include>,<program>,<ifyes>,<ifno>)
28 define(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
42 AC_MSG_CHECKING(whether you requested dynamic linking)
43 AC_SUBST(ENABLE_DYNAMIC)
44 AC_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
64 AC_PROG_CC
65 AC_PROG_CPP
66 AC_PROG_RANLIB
67 AC_PROG_INSTALL
68
69 AC_CHECK_FUNCS(poll)
70 ADNS_C_GETFUNC(socket,socket)
71 ADNS_C_GETFUNC(inet_ntoa,nsl)
72
73 PROGS_IF_TSEARCH=adnsresfilter
74 AC_SUBST(PROGS_HAVE_TSEARCH)
75 AC_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
82 AC_MSG_CHECKING(for INADDR_LOOPBACK)
83 AC_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)])
93 if test "$adns_cv_decl_inaddrloopback" = yes; then
94 AC_MSG_RESULT(found)
95 else
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 ])
102 fi
103
104 ADNS_C_GETFUNC(inet_aton,resolv,[
105 LIBS="-lresolv $LIBS";
106 AC_MSG_WARN([inet_aton is in libresolv, urgh. Must use -lresolv.])
107 ])
108
109 DPKG_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
115 AC_SUBST(WARNS)
116
117 if test "${GCC-no}" = yes; then
118 WARNS="-Wall -Wmissing-prototypes -Wwrite-strings -Wstrict-prototypes -Wcast-qual -Wpointer-arith"
119 saved_cflags="$CFLAGS"
120 CFLAGS="$CFLAGS -Wno-pointer-sign"
121 DPKG_CACHED_TRY_COMPILE(-Wno-pointer-sign,adns_cv_c_wnoptrsign,,
122 [],
123 AC_MSG_RESULT(yes)
124 WARNS="$WARNS -Wno-pointer-sign",
125 AC_MSG_RESULT(no))
126 CFLAGS="$saved_cflags"
127 else
128 WARNS=
129 fi
130
131 ADNS_C_GCCATTRIB
132
133 AC_SUBST(SHLIBCC)
134 AC_SUBST(MKSHLIB_1)
135 AC_SUBST(MKSHLIB_2)
136 AC_SUBST(MKSHLIB_3)
137
138 AC_SUBST(SHLIBFORLINK)
139 AC_SUBST(SHLIBFILE)
140 AC_SUBST(SHLIBSONAME)
141
142 SHLIBFORLINK='libadns.so'
143 SHLIBSONAME='$(SHLIBFORLINK).$(MAJOR)'
144 SHLIBFILE='$(SHLIBSONAME).$(MINOR)'
145
146 SHLIBCC='$(CC) $(CFLAGS) -fpic'
147 MKSHLIB_1='$(CC) $(LDFLAGS) -shared -Wl,-soname=$(SHLIBSONAME) -o'
148 MKSHLIB_2=''
149 MKSHLIB_3='-lc'
150
151 AC_OUTPUT(
152 settings.make Makefile
153 src/Makefile client/Makefile dynamic/Makefile regress/Makefile
154 )