xref: /reactos/sdk/lib/3rdparty/adns/configure.in (revision 40462c92)
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