configure: check if -lsocket is needed (for Solaris)

Also, link libgio to -lresolv explicitly, rather than depending on
getting it implicitly via the libasyncns build (which should
eventually be going away).

https://bugzilla.gnome.org/show_bug.cgi?id=645336
This commit is contained in:
Dan Winship 2011-09-03 18:37:43 -04:00
parent a636dfd7fb
commit 0d63793129
3 changed files with 36 additions and 31 deletions

View File

@ -1069,39 +1069,43 @@ if $glib_failed ; then
fi fi
AC_CHECK_FUNCS(getprotobyname_r endservent) AC_CHECK_FUNCS(getprotobyname_r endservent)
AC_CHECK_HEADERS([netdb.h wspiapi.h]) AC_CHECK_HEADERS([netdb.h wspiapi.h arpa/nameser_compat.h])
# For gio/libasyncns # For gio/libasyncns
if test $glib_native_win32 = no; then AC_CHECK_FUNCS(strndup setresuid setreuid)
AC_CHECK_FUNCS(strndup setresuid setreuid) AC_CHECK_HEADERS(sys/prctl.h)
AC_CHECK_HEADERS(sys/prctl.h arpa/nameser_compat.h)
# We can't just use AC_CHECK_FUNC/AC_CHECK_LIB here. Bug 586150 # We can't just use AC_CHECK_FUNC/AC_CHECK_LIB here. Bug 586150
AC_MSG_CHECKING([for res_query]) NETWORK_LIBS=""
AC_TRY_LINK([#include <sys/types.h> AC_MSG_CHECKING([for res_query])
#include <netinet/in.h> AC_TRY_LINK([#include <sys/types.h>
#include <arpa/nameser.h> #include <netinet/in.h>
#include <resolv.h>], #include <arpa/nameser.h>
[res_query("test", 0, 0, (void *)0, 0);], #include <resolv.h>
[AC_MSG_RESULT([yes])], ],[
[save_libs="$LIBS" res_query("test", 0, 0, (void *)0, 0);
LIBS="-lresolv $LIBS" ],[AC_MSG_RESULT([yes])],
AC_TRY_LINK([#include <sys/types.h> [save_libs="$LIBS"
#include <netinet/in.h> LIBS="-lresolv $LIBS"
#include <arpa/nameser.h> AC_TRY_LINK([#include <sys/types.h>
#include <resolv.h>], #include <netinet/in.h>
[res_query("test", 0, 0, (void *)0, 0);], #include <arpa/nameser.h>
[AC_MSG_RESULT([in -lresolv]) #include <resolv.h>
LIBASYNCNS_LIBADD="-lresolv"], ],[
[LIBS="-lbind $save_libs" res_query("test", 0, 0, (void *)0, 0);
AC_TRY_LINK([#include <resolv.h>], ],[AC_MSG_RESULT([in -lresolv])
[res_query("test", 0, 0, (void *)0, 0);], NETWORK_LIBS="-lresolv $NETWORK_LIBS"],
[AC_MSG_RESULT([in -lbind]) [LIBS="-lbind $save_libs"
LIBASYNCNS_LIBADD="-lbind"], AC_TRY_LINK([#include <resolv.h>],
[AC_MSG_ERROR(not found)])]) [res_query("test", 0, 0, (void *)0, 0);],
LIBS="$save_libs"]) [AC_MSG_RESULT([in -lbind])
AC_SUBST(LIBASYNCNS_LIBADD) NETWORK_LIBS="-lbind $NETWORK_LIBS"],
fi [AC_MSG_ERROR(not found)])])
LIBS="$save_libs"])
AC_CHECK_FUNC(socket, :, AC_CHECK_LIB(socket, socket,
[NETWORK_LIBS="-lsocket $NETWORK_LIBS"],
[AC_MSG_ERROR(Could not find socket())]))
AC_SUBST(NETWORK_LIBS)
case $host in case $host in
*-*-solaris* ) *-*-solaris* )

View File

@ -416,6 +416,7 @@ libgio_2_0_la_LIBADD = \
$(SELINUX_LIBS) \ $(SELINUX_LIBS) \
$(GLIB_LIBS) \ $(GLIB_LIBS) \
$(XATTR_LIBS) \ $(XATTR_LIBS) \
$(NETWORK_LIBS) \
$(NULL) $(NULL)
libgio_2_0_la_CPPFLAGS = $(ZLIB_CFLAGS) $(AM_CPPFLAGS) libgio_2_0_la_CPPFLAGS = $(ZLIB_CFLAGS) $(AM_CPPFLAGS)

View File

@ -10,6 +10,6 @@ libasyncns_la_SOURCES = \
asyncns.h \ asyncns.h \
g-asyncns.h g-asyncns.h
libasyncns_la_LIBADD = $(LIBASYNCNS_LIBADD) libasyncns_la_LIBADD = $(NETWORK_LIBS)
EXTRA_DIST += README update.sh EXTRA_DIST += README update.sh