From 8b5269f2484d1ab839c3577690dccb2a5bf43b85 Mon Sep 17 00:00:00 2001 From: ian Date: Sun, 9 May 1999 15:19:43 +0000 Subject: [PATCH] Look for inet_aton and inet_ntoa (in -lnsl and -lsocket). --- aclocal.m4 | 8 + changelog | 1 + client/Makefile.in | 2 +- configure | 393 ++++++++++++++++++++++++++++++++++++++++++-- configure.in | 12 +- dynamic/Makefile.in | 2 +- regress/Makefile.in | 2 +- settings.make.in | 1 + 8 files changed, 401 insertions(+), 20 deletions(-) diff --git a/aclocal.m4 b/aclocal.m4 index cdc5803..b2d9e9f 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -53,3 +53,11 @@ define(ADNS_C_GCCATTRIB,[ AC_MSG_RESULT(no)), AC_MSG_RESULT(no)) ]) + +define(ADNS_C_GETFUNC,[ + AC_CHECK_FUNC([$1],,[ + AC_CHECK_LIB([$2],[$1],[$3],[ + AC_MSG_ERROR([cannot find library function $1]) + ]) + ]) +]) diff --git a/changelog b/changelog index a03e4c7..74b0421 100644 --- a/changelog +++ b/changelog @@ -7,6 +7,7 @@ adns (0.2) experimental; urgency=low * Check whether we need -lsocket. * Include in a few more files. * Include and for select. + * Look for inet_aton and inet_ntoa (in -lnsl and -lsocket). -- diff --git a/client/Makefile.in b/client/Makefile.in index a3a6327..67acef4 100644 --- a/client/Makefile.in +++ b/client/Makefile.in @@ -38,4 +38,4 @@ uninstall: adnstest: adnstest.o $(srcdir)/../dynamic/$(SHLIBFILE) adnstest_s: adnstest.o $(srcdir)/../src/libadns.a - $(CC) $(LDFLAGS) $^ -o $@ $(LIBS) + $(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS) diff --git a/configure b/configure index 720ebb6..90aa9de 100755 --- a/configure +++ b/configure @@ -718,8 +718,57 @@ else echo "$ac_t""no" 1>&6 fi -echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 -echo "configure:723: checking for socket in -lsocket" >&5 + + + echo $ac_n "checking for socket""... $ac_c" 1>&6 +echo "configure:725: checking for socket" >&5 +if eval "test \"`echo '$''{'ac_cv_func_socket'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char socket(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_socket) || defined (__stub___socket) +choke me +#else +socket(); +#endif + +; return 0; } +EOF +if { (eval echo configure:753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + eval "ac_cv_func_socket=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_socket=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'socket`\" = yes"; then + echo "$ac_t""yes" 1>&6 + : +else + echo "$ac_t""no" 1>&6 + + echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 +echo "configure:772: checking for socket in -lsocket" >&5 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -727,7 +776,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:791: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -763,25 +812,337 @@ EOF else echo "$ac_t""no" 1>&6 + + { echo "configure: error: cannot find library function socket" 1>&2; exit 1; } + +fi + + +fi + + + + echo $ac_n "checking for inet_ntoa""... $ac_c" 1>&6 +echo "configure:827: checking for inet_ntoa" >&5 +if eval "test \"`echo '$''{'ac_cv_func_inet_ntoa'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char inet_ntoa(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_inet_ntoa) || defined (__stub___inet_ntoa) +choke me +#else +inet_ntoa(); +#endif + +; return 0; } +EOF +if { (eval echo configure:855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + eval "ac_cv_func_inet_ntoa=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_inet_ntoa=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'inet_ntoa`\" = yes"; then + echo "$ac_t""yes" 1>&6 + : +else + echo "$ac_t""no" 1>&6 + + echo $ac_n "checking for inet_ntoa in -lnsl""... $ac_c" 1>&6 +echo "configure:874: checking for inet_ntoa in -lnsl" >&5 +ac_lib_var=`echo nsl'_'inet_ntoa | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lnsl $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo nsl | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <&6 + + { echo "configure: error: cannot find library function inet_ntoa" 1>&2; exit 1; } + +fi + + +fi + + + + + echo $ac_n "checking for inet_aton""... $ac_c" 1>&6 +echo "configure:930: checking for inet_aton" >&5 +if eval "test \"`echo '$''{'ac_cv_func_inet_aton'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char inet_aton(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_inet_aton) || defined (__stub___inet_aton) +choke me +#else +inet_aton(); +#endif + +; return 0; } +EOF +if { (eval echo configure:958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + eval "ac_cv_func_inet_aton=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_inet_aton=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'inet_aton`\" = yes"; then + echo "$ac_t""yes" 1>&6 + : +else + echo "$ac_t""no" 1>&6 + + echo $ac_n "checking for inet_aton in -lresolv""... $ac_c" 1>&6 +echo "configure:977: checking for inet_aton in -lresolv" >&5 +ac_lib_var=`echo resolv'_'inet_aton | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lresolv $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + + LIBS="-lresolv $LIBS"; + echo "configure: warning: inet_aton is in libresolv, urgh. Must use -lresolv." 1>&2 + +else + echo "$ac_t""no" 1>&6 + + { echo "configure: error: cannot find library function inet_aton" 1>&2; exit 1; } + +fi + + +fi + + + + + echo $ac_n "checking for mpq_div""... $ac_c" 1>&6 +echo "configure:1029: checking for mpq_div" >&5 +if eval "test \"`echo '$''{'ac_cv_func_mpq_div'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char mpq_div(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_mpq_div) || defined (__stub___mpq_div) +choke me +#else +mpq_div(); +#endif + +; return 0; } +EOF +if { (eval echo configure:1057: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + eval "ac_cv_func_mpq_div=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_mpq_div=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'mpq_div`\" = yes"; then + echo "$ac_t""yes" 1>&6 + : +else + echo "$ac_t""no" 1>&6 + + echo $ac_n "checking for mpq_div in -lgmp""... $ac_c" 1>&6 +echo "configure:1076: checking for mpq_div in -lgmp" >&5 +ac_lib_var=`echo gmp'_'mpq_div | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lgmp $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo gmp | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <&6 + + { echo "configure: error: cannot find library function mpq_div" 1>&2; exit 1; } + +fi + + +fi + + echo $ac_n "checking __attribute__((,,))""... $ac_c" 1>&6 -echo "configure:772: checking __attribute__((,,))" >&5 +echo "configure:1133: checking __attribute__((,,))" >&5 if eval "test \"`echo '$''{'adns_cv_c_attribute_supported'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1146: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* adns_cv_c_attribute_supported=yes else @@ -803,20 +1164,20 @@ EOF echo $ac_n "checking __attribute__((noreturn))""... $ac_c" 1>&6 -echo "configure:807: checking __attribute__((noreturn))" >&5 +echo "configure:1168: checking __attribute__((noreturn))" >&5 if eval "test \"`echo '$''{'adns_cv_c_attribute_noreturn'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1181: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* adns_cv_c_attribute_noreturn=yes else @@ -843,20 +1204,20 @@ EOF echo $ac_n "checking __attribute__((const))""... $ac_c" 1>&6 -echo "configure:847: checking __attribute__((const))" >&5 +echo "configure:1208: checking __attribute__((const))" >&5 if eval "test \"`echo '$''{'adns_cv_c_attribute_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1221: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* adns_cv_c_attribute_const=yes else @@ -883,20 +1244,20 @@ EOF echo $ac_n "checking __attribute__((format...))""... $ac_c" 1>&6 -echo "configure:887: checking __attribute__((format...))" >&5 +echo "configure:1248: checking __attribute__((format...))" >&5 if eval "test \"`echo '$''{'adns_cv_attribute_format'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1261: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* adns_cv_attribute_format=yes else diff --git a/configure.in b/configure.in index 7a7a59d..8240aca 100644 --- a/configure.in +++ b/configure.in @@ -20,7 +20,17 @@ AC_INIT(src/adns.h) AC_CONFIG_HEADER(src/config.h) AC_PROG_CC AC_PROG_RANLIB -AC_CHECK_LIB(socket,socket) + +ADNS_C_GETFUNC(socket,socket) +ADNS_C_GETFUNC(inet_ntoa,nsl) + +ADNS_C_GETFUNC(inet_aton,resolv,[ + LIBS="-lresolv $LIBS"; + AC_MSG_WARN([inet_aton is in libresolv, urgh. Must use -lresolv.]) +]) + +ADNS_C_GETFUNC(mpq_div,gmp) + ADNS_C_GCCATTRIB AC_SUBST(WARNS) diff --git a/dynamic/Makefile.in b/dynamic/Makefile.in index 14ec97c..905f601 100644 --- a/dynamic/Makefile.in +++ b/dynamic/Makefile.in @@ -23,7 +23,7 @@ TARGETS= $(SHLIBFILE) include $(srcdir)/../settings.make include $(srcdir)/../src/adns.make -ALLOBJS= $(addsuffix _p.o, $(basename $(LIBOBJS))) +ALLOBJS= $(addsuffix _p.o, $(basename $(LIBOBJS))) $(LDLIBS) install: $(INSTALL_PROGRAM) $(SHLIBFILE) $(lib_dir)/$(SHLIBFILE) diff --git a/regress/Makefile.in b/regress/Makefile.in index 2055f08..9a249c2 100644 --- a/regress/Makefile.in +++ b/regress/Makefile.in @@ -32,7 +32,7 @@ HCPPFLAGS:= $(foreach F, \ sendto recvfrom read write writev \ , -D$F=H$F) -HARNLOBJS= $(addsuffix _d.o, $(basename $(LIBOBJS))) +HARNLOBJS= $(addsuffix _d.o, $(basename $(LIBOBJS))) $(LDLIBS) ALLOBJS= $(HARNLOBJS) dtest.o hrecord.o hplayback.o hcommon.o .PRECIOUS: $(AUTOCSRCS) diff --git a/settings.make.in b/settings.make.in index 9b2f962..6b70565 100644 --- a/settings.make.in +++ b/settings.make.in @@ -24,6 +24,7 @@ SHLIBSONAME= @SHLIBSONAME@ CC= @CC@ CFLAGS= $(AUTOCFLAGS) $(WARNS) $(WERROR) $(DIRCFLAGS) $(XCFLAGS) +LDLIBS= @LIBS@ $(XLIBS) AUTOCFLAGS= @CFLAGS@ WARNS= @WARNS@ #WERROR= -Werror -- 2.30.2