# HG changeset patch # User Paul Eggert # Date 1358056129 28800 # Node ID 76707f1cca79713fa22028fd16b0e491de3c55e7 # Parent 4dd985ff8805f470ccf09fa54918d6ab7db43971 net_if-tests: port to older Solaris Problem reported by Tom G. Christensen in . * 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. diff -r 4dd985ff8805 -r 76707f1cca79 ChangeLog --- a/ChangeLog Sat Jan 12 21:37:23 2013 -0800 +++ b/ChangeLog Sat Jan 12 21:48:49 2013 -0800 @@ -1,5 +1,13 @@ 2013-01-12 Paul Eggert + net_if-tests: port to older Solaris + Problem reported by Tom G. Christensen in + . + * 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 . diff -r 4dd985ff8805 -r 76707f1cca79 modules/net_if-tests --- a/modules/net_if-tests Sat Jan 12 21:37:23 2013 -0800 +++ b/modules/net_if-tests Sat Jan 12 21:48:49 2013 -0800 @@ -5,7 +5,17 @@ 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@ diff -r 4dd985ff8805 -r 76707f1cca79 tests/test-net_if.c --- a/tests/test-net_if.c Sat Jan 12 21:37:23 2013 -0800 +++ b/tests/test-net_if.c Sat Jan 12 21:48:49 2013 -0800 @@ -24,7 +24,7 @@ /* We do not yet have replacements for if_* functions on systems that lack a native . */ -#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 *)); @@ -38,7 +38,7 @@ 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 (); @@ -89,5 +89,9 @@ 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 }