2013-01-12 Paul Eggert <eggert@cs.ucla.edu>
+ net_if-tests: port to older Solaris
+ Problem reported by Tom G. Christensen in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
+ * modules/net_if-tests (NET_IF_LIB): New substitution.
+ (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
+ (HAVE_IF_NAMEINDEX): New C macro.
+ * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
+
system-quote-tests: port to older Solaris
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
Depends-on:
configure.ac:
+NET_IF_LIB=
+gl_saved_libs="$LIBS"
+AC_SEARCH_LIBS([if_nameindex], [socket],
+ [AC_DEFINE([HAVE_IF_NAMEINDEX], [1], [Define if you have if_nameindex.])
+ if test "$ac_cv_search_if_nameindex" != "none required"; then
+ NET_IF_LIB="$ac_cv_search_if_nameindex"
+ fi])
+LIBS="$gl_saved_libs"
+AC_SUBST([NET_IF_LIB])
Makefile.am:
TESTS += test-net_if
check_PROGRAMS += test-net_if
+test_net_if_LDADD = $(LDADD) @NET_IF_LIB@
/* We do not yet have replacements for if_* functions on systems that
lack a native <net/if.h>. */
-#if HAVE_NET_IF_H
+#if HAVE_NET_IF_H && HAVE_IF_NAMEINDEX
# include "signature.h"
SIGNATURE_CHECK (if_freenameindex, void, (struct if_nameindex *));
SIGNATURE_CHECK (if_indextoname, char *, (unsigned int, char *));
int
main (int argc, char *argv[])
{
-#if HAVE_NET_IF_H
+#if HAVE_NET_IF_H && HAVE_IF_NAMEINDEX
struct if_nameindex *ifnp, *p;
p = ifnp = if_nameindex ();
if_freenameindex (ifnp);
#endif /* HAVE_NET_IF_H */
+#if !HAVE_NET_IF_H || HAVE_IF_NAMEINDEX
return !IF_NAMESIZE + ni.if_index + !!ni.if_name;
+#else
+ return 0;
+#endif
}