configure: check if -lsocket is needed (for Solaris)
authorDan Winship <danw@gnome.org>
Sat, 3 Sep 2011 22:37:43 +0000 (18:37 -0400)
committerDan Winship <danw@gnome.org>
Sat, 3 Sep 2011 23:58:40 +0000 (19:58 -0400)
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
gio/Makefile.am
gio/libasyncns/Makefile.am

index 4c4123e..59e52c0 100644 (file)
@@ -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* )
index 7803bb2..ca73eb0 100644 (file)
@@ -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)
index 2b69b6e..bee767f 100644 (file)
@@ -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