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



commit 0d637931299f254e1b9a2cdb2d4e050b157ec8d9
Author: Dan Winship <danw gnome org>
Date:   Sat Sep 3 18:37:43 2011 -0400

    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

 configure.ac               |   66 +++++++++++++++++++++++--------------------
 gio/Makefile.am            |    1 +
 gio/libasyncns/Makefile.am |    2 +-
 3 files changed, 37 insertions(+), 32 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 4c4123e..59e52c0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1069,39 +1069,43 @@ if $glib_failed ; then
 fi
 
 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
-if test $glib_native_win32 = no; then
-  AC_CHECK_FUNCS(strndup setresuid setreuid)
-  AC_CHECK_HEADERS(sys/prctl.h arpa/nameser_compat.h)
-
-  # We can't just use AC_CHECK_FUNC/AC_CHECK_LIB here. Bug 586150
-  AC_MSG_CHECKING([for res_query])
-  AC_TRY_LINK([#include <sys/types.h>
-#include <netinet/in.h>
-#include <arpa/nameser.h>
-#include <resolv.h>],
-              [res_query("test", 0, 0, (void *)0, 0);],
-              [AC_MSG_RESULT([yes])],
-              [save_libs="$LIBS"
-               LIBS="-lresolv $LIBS"
-               AC_TRY_LINK([#include <sys/types.h>
-#include <netinet/in.h>
-#include <arpa/nameser.h>
-#include <resolv.h>],
-                           [res_query("test", 0, 0, (void *)0, 0);],
-                           [AC_MSG_RESULT([in -lresolv])
-                            LIBASYNCNS_LIBADD="-lresolv"],
-                           [LIBS="-lbind $save_libs"
-                            AC_TRY_LINK([#include <resolv.h>],
-                                        [res_query("test", 0, 0, (void *)0, 0);],
-                                        [AC_MSG_RESULT([in -lbind])
-                                         LIBASYNCNS_LIBADD="-lbind"],
-                                        [AC_MSG_ERROR(not found)])])
-               LIBS="$save_libs"])
-  AC_SUBST(LIBASYNCNS_LIBADD)
-fi
+AC_CHECK_FUNCS(strndup setresuid setreuid)
+AC_CHECK_HEADERS(sys/prctl.h)
+
+# We can't just use AC_CHECK_FUNC/AC_CHECK_LIB here. Bug 586150
+NETWORK_LIBS=""
+AC_MSG_CHECKING([for res_query])
+AC_TRY_LINK([#include <sys/types.h>
+	     #include <netinet/in.h>
+	     #include <arpa/nameser.h>
+	     #include <resolv.h>
+            ],[
+	     res_query("test", 0, 0, (void *)0, 0);
+            ],[AC_MSG_RESULT([yes])],
+            [save_libs="$LIBS"
+             LIBS="-lresolv $LIBS"
+             AC_TRY_LINK([#include <sys/types.h>
+			  #include <netinet/in.h>
+			  #include <arpa/nameser.h>
+			  #include <resolv.h>
+			 ],[
+			  res_query("test", 0, 0, (void *)0, 0);
+			 ],[AC_MSG_RESULT([in -lresolv])
+                            NETWORK_LIBS="-lresolv $NETWORK_LIBS"],
+                         [LIBS="-lbind $save_libs"
+                          AC_TRY_LINK([#include <resolv.h>],
+                                      [res_query("test", 0, 0, (void *)0, 0);],
+                                      [AC_MSG_RESULT([in -lbind])
+                                       NETWORK_LIBS="-lbind $NETWORK_LIBS"],
+                                      [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
   *-*-solaris* )
diff --git a/gio/Makefile.am b/gio/Makefile.am
index 7803bb2..ca73eb0 100644
--- a/gio/Makefile.am
+++ b/gio/Makefile.am
@@ -416,6 +416,7 @@ libgio_2_0_la_LIBADD = \
 	$(SELINUX_LIBS) 				\
 	$(GLIB_LIBS) 					\
 	$(XATTR_LIBS) 					\
+	$(NETWORK_LIBS)					\
 	$(NULL)
 
 libgio_2_0_la_CPPFLAGS = $(ZLIB_CFLAGS) $(AM_CPPFLAGS)
diff --git a/gio/libasyncns/Makefile.am b/gio/libasyncns/Makefile.am
index 2b69b6e..bee767f 100644
--- a/gio/libasyncns/Makefile.am
+++ b/gio/libasyncns/Makefile.am
@@ -10,6 +10,6 @@ libasyncns_la_SOURCES = \
 	asyncns.h \
 	g-asyncns.h
 
-libasyncns_la_LIBADD = $(LIBASYNCNS_LIBADD)
+libasyncns_la_LIBADD = $(NETWORK_LIBS)
 
 EXTRA_DIST += README update.sh



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]