glib-2.0_2.22.1: Fix configure to test res_query by including resolv.h
authorKhem Raj <raj.khem@gmail.com>
Wed, 9 Dec 2009 17:40:56 +0000 (09:40 -0800)
committerKhem Raj <raj.khem@gmail.com>
Wed, 9 Dec 2009 17:40:56 +0000 (09:40 -0800)
* uclibc does not export res_query as weak like glibc, instead it exports
  __res_query and then in resolv.h it defines res_query as __res_query,
  the check for this fuction in configure checked the availability in every
  way except it did not check if the function is in C library by including
  resolv.h. Without resolv.h the function is reported as undefined.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
recipes/glib-2.0/glib-2.0-2.22.1/uclibc-res_query.patch [new file with mode: 0644]
recipes/glib-2.0/glib-2.0_2.22.1.bb

diff --git a/recipes/glib-2.0/glib-2.0-2.22.1/uclibc-res_query.patch b/recipes/glib-2.0/glib-2.0-2.22.1/uclibc-res_query.patch
new file mode 100644 (file)
index 0000000..bbb34b5
--- /dev/null
@@ -0,0 +1,36 @@
+Index: glib-2.22.1/configure.in
+===================================================================
+--- glib-2.22.1.orig/configure.in      2009-12-08 12:01:39.000000000 -0800
++++ glib-2.22.1/configure.in   2009-12-08 12:05:29.000000000 -0800
+@@ -1004,17 +1004,22 @@ if test $glib_native_win32 = no; then
+   AC_CHECK_FUNC(res_query, ,
+     [AC_CHECK_LIB(resolv, res_query, [ LIBASYNCNS_LIBADD="-lresolv" ],
+       [ save_libs="$LIBS"
+-        LIBS="-lresolv $LIBS"
+-        AC_MSG_CHECKING([for res_query in -lresolv (alternate version)])
++        AC_MSG_CHECKING([for res_query (alternate version)])
+         AC_LINK_IFELSE(
+           [AC_LANG_PROGRAM([[#include <resolv.h>]], [[res_query(0,0,0,0,0)]])],
+-          [ AC_MSG_RESULT(yes)
+-        LIBASYNCNS_LIBADD="-lresolv" ],
+-          [ AC_MSG_RESULT(no)
+-            AC_CHECK_LIB(bind, res_query,
+-              [ LIBASYNCNS_LIBADD="-lbind" ],
+-          [ AC_MSG_ERROR(res_query not found) ] ) ] )
+-        LIBS="$save_libs"
++          [ ac_cv_func_res_query=yes ],
++          [ AC_MSG_CHECKING([for res_query in -lresolv (alternate version)])
++          LIBS="-lresolv $LIBS"
++          AC_LINK_IFELSE(
++            [AC_LANG_PROGRAM([[#include <resolv.h>]], [[res_query(0,0,0,0,0)]])],
++            [ AC_MSG_RESULT(yes)
++              LIBASYNCNS_LIBADD="-lresolv" ],
++            [ AC_MSG_RESULT(no)
++                AC_CHECK_LIB(bind, res_query,
++                [ LIBASYNCNS_LIBADD="-lbind" ],
++              [ AC_MSG_ERROR(res_query not found) ] ) ] )
++        ] )
++          LIBS="$save_libs"
+       ] )
+     ]
+   )
index 533116b..95fa07b 100644 (file)
@@ -1,5 +1,5 @@
 require glib.inc
-PR = "${INC_PR}.1"
+PR = "${INC_PR}.2"
 
 SRC_URI = "\
   http://ftp.gnome.org/pub/GNOME/sources/glib/2.22/glib-${PV}.tar.bz2 \
@@ -7,6 +7,7 @@ SRC_URI = "\
   file://configure-libtool.patch;patch=1 \
   file://bug-556515.patch;patch=1 \
   file://g_once_init_enter.patch;patch=1 \
+  file://uclibc-res_query.patch;patch=1 \
 "