[glib] configure: check if -lsocket is needed (for Solaris)
- From: Dan Winship <danw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] configure: check if -lsocket is needed (for Solaris)
- Date: Sat, 3 Sep 2011 23:59:26 +0000 (UTC)
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]