From: Paul Eggert Date: Sun, 13 Jan 2013 05:48:49 +0000 (-0800) Subject: net_if-tests: port to older Solaris X-Git-Tag: v0.1~247 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=f7096be85af0258572a935867fe1972886108c83;p=gnulib.git 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 --git a/ChangeLog b/ChangeLog index 7afe8e659c..79f857eb5e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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 --git a/modules/net_if-tests b/modules/net_if-tests index ace657d925..131880383e 100644 --- a/modules/net_if-tests +++ b/modules/net_if-tests @@ -5,7 +5,17 @@ tests/signature.h 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 --git a/tests/test-net_if.c b/tests/test-net_if.c index f3f0b2e9f5..13ca82ef3d 100644 --- a/tests/test-net_if.c +++ b/tests/test-net_if.c @@ -24,7 +24,7 @@ static struct if_nameindex ni; /* 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 @@ SIGNATURE_CHECK (if_nametoindex, unsigned int, (const 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 (); @@ -89,5 +89,9 @@ main (int argc, char *argv[]) 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 }