[csw-devel] SF.net SVN: gar:[15258] csw/mgar/pkg/libdnet/trunk

wahwah at users.sourceforge.net wahwah at users.sourceforge.net
Thu Aug 4 15:33:52 CEST 2011


Revision: 15258
          http://gar.svn.sourceforge.net/gar/?rev=15258&view=rev
Author:   wahwah
Date:     2011-08-04 13:33:52 +0000 (Thu, 04 Aug 2011)

Log Message:
-----------
pkg/libdnet/trunk: autoreconf -fi does not fix this, unfortunately

Modified Paths:
--------------
    csw/mgar/pkg/libdnet/trunk/Makefile

Added Paths:
-----------
    csw/mgar/pkg/libdnet/trunk/files/0001-Using-the-m4-subdirectory-for-macros.patch
    csw/mgar/pkg/libdnet/trunk/files/0002-Moved-acinclude.m4-to-the-m4-directory.patch

Modified: csw/mgar/pkg/libdnet/trunk/Makefile
===================================================================
--- csw/mgar/pkg/libdnet/trunk/Makefile	2011-08-04 12:58:01 UTC (rev 15257)
+++ csw/mgar/pkg/libdnet/trunk/Makefile	2011-08-04 13:33:52 UTC (rev 15258)
@@ -22,6 +22,13 @@
 BUILD64 = 1
 CONFIGURE_ARGS = $(DIRPATHS)
 
+PATCHFILES  = 0001-Using-the-m4-subdirectory-for-macros.patch
+PATCHFILES += 0002-Moved-acinclude.m4-to-the-m4-directory.patch
+
 MERGE_DIRS_isa-extra = $(libdir)
 
 include gar/category.mk
+
+pre-configure-modulated:
+	(cd $(WORKSRC) && autoreconf -fi)
+	@$(MAKECOOKIE)

Added: csw/mgar/pkg/libdnet/trunk/files/0001-Using-the-m4-subdirectory-for-macros.patch
===================================================================
--- csw/mgar/pkg/libdnet/trunk/files/0001-Using-the-m4-subdirectory-for-macros.patch	                        (rev 0)
+++ csw/mgar/pkg/libdnet/trunk/files/0001-Using-the-m4-subdirectory-for-macros.patch	2011-08-04 13:33:52 UTC (rev 15258)
@@ -0,0 +1,40 @@
+From f97e55e5fb9b8ad5ba3d049db75a27fa8e834fbc Mon Sep 17 00:00:00 2001
+From: Maciej Blizinski <maciej at opencsw.org>
+Date: Thu, 4 Aug 2011 15:21:51 +0200
+Subject: [PATCH 1/2] Using the m4 subdirectory for macros
+
+---
+ Makefile.am  |    2 ++
+ configure.in |    3 +++
+ 2 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index add9529..fc61b0b 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,6 +2,8 @@
+ 
+ include $(top_srcdir)/Makefile.am.common
+ 
++ACLOCAL_AMFLAGS = -I m4
++
+ SUBDIRS =	include man src python test
+ 
+ bin_SCRIPTS =	dnet-config
+diff --git a/configure.in b/configure.in
+index 72ac63c..0ddbdcd 100644
+--- a/configure.in
++++ b/configure.in
+@@ -12,6 +12,9 @@ AC_SUBST(ac_aux_dir)
+ AM_INIT_AUTOMAKE(libdnet, 1.12)
+ AM_CONFIG_HEADER(include/config.h)
+ 
++# for libtoolize
++AC_CONFIG_MACRO_DIR([m4])
++
+ dnl XXX - stop the insanity!@#$
+ AM_MAINTAINER_MODE
+ 
+-- 
+1.7.6
+

Added: csw/mgar/pkg/libdnet/trunk/files/0002-Moved-acinclude.m4-to-the-m4-directory.patch
===================================================================
--- csw/mgar/pkg/libdnet/trunk/files/0002-Moved-acinclude.m4-to-the-m4-directory.patch	                        (rev 0)
+++ csw/mgar/pkg/libdnet/trunk/files/0002-Moved-acinclude.m4-to-the-m4-directory.patch	2011-08-04 13:33:52 UTC (rev 15258)
@@ -0,0 +1,665 @@
+From 1658d72b8fb16d17283cb1abc7da29d2fc260575 Mon Sep 17 00:00:00 2001
+From: Maciej Blizinski <maciej at opencsw.org>
+Date: Thu, 4 Aug 2011 15:24:03 +0200
+Subject: [PATCH 2/2] Moved acinclude.m4 to the m4 directory
+
+---
+ config/acinclude.m4 |  319 ---------------------------------------------------
+ m4/acinclude.m4     |  319 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 319 insertions(+), 319 deletions(-)
+ delete mode 100644 config/acinclude.m4
+ create mode 100644 m4/acinclude.m4
+
+diff --git a/config/acinclude.m4 b/config/acinclude.m4
+deleted file mode 100644
+index c54710b..0000000
+--- a/config/acinclude.m4
++++ /dev/null
+@@ -1,319 +0,0 @@
+-dnl
+-dnl Check for 4.4 BSD sa_len member in sockaddr struct
+-dnl
+-dnl usage:	AC_DNET_SOCKADDR_SA_LEN
+-dnl results:	HAVE_SOCKADDR_SA_LEN (defined)
+-dnl
+-AC_DEFUN(AC_DNET_SOCKADDR_SA_LEN,
+-    [AC_MSG_CHECKING(for sa_len in sockaddr struct)
+-    AC_CACHE_VAL(ac_cv_dnet_sockaddr_has_sa_len,
+-        AC_TRY_COMPILE([
+-# ifndef _SOCKADDR_LEN
+-#	define _SOCKADDR_LEN 1 
+-# endif
+-#       include <sys/types.h>
+-#       include <sys/socket.h>],
+-        [u_int i = sizeof(((struct sockaddr *)0)->sa_len)],
+-        ac_cv_dnet_sockaddr_has_sa_len=yes,
+-        ac_cv_dnet_sockaddr_has_sa_len=no))
+-    AC_MSG_RESULT($ac_cv_dnet_sockaddr_has_sa_len)
+-    if test $ac_cv_dnet_sockaddr_has_sa_len = yes ; then
+-            AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1,
+-                      [Define if sockaddr struct has sa_len.])
+-    fi])
+-
+-dnl
+-dnl Check for sockaddr_in6 struct in <netinet/in.h>
+-dnl
+-dnl usage:	AC_DNET_SOCKADDR_IN6
+-dnl results:	HAVE_SOCKADDR_IN6
+-dnl
+-AC_DEFUN(AC_DNET_SOCKADDR_IN6,
+-    [AC_MSG_CHECKING(for sockaddr_in6 struct in <netinet/in.h>)
+-    AC_CACHE_VAL(ac_cv_dnet_netinet_in_h_has_sockaddr_in6,
+-        AC_TRY_COMPILE([
+-#       include <sys/types.h>
+-#	include <sys/socket.h>
+-#       include <netinet/in.h>],
+-        [struct sockaddr_in6 sin6; sin6.sin6_family = AF_INET6;],
+-	ac_cv_dnet_netinet_in_h_has_sockaddr_in6=yes,
+-	ac_cv_dnet_netinet_in_h_has_sockaddr_in6=no))
+-    AC_MSG_RESULT($ac_cv_dnet_netinet_in_h_has_sockaddr_in6)
+-    if test $ac_cv_dnet_netinet_in_h_has_sockaddr_in6 = yes ; then
+-        AC_DEFINE(HAVE_SOCKADDR_IN6, 1,
+-	          [Define if <netinet/in.h> has sockaddr_in6 struct.])
+-    fi])
+-
+-dnl
+-dnl Check for arp_dev member in arpreq struct
+-dnl
+-dnl usage:	AC_DNET_ARPREQ_ARP_DEV
+-dnl results:	HAVE_ARPREQ_ARP_DEV (defined)
+-dnl
+-AC_DEFUN(AC_DNET_ARPREQ_ARP_DEV,
+-    [AC_MSG_CHECKING(for arp_dev in arpreq struct)
+-    AC_CACHE_VAL(ac_cv_dnet_arpreq_has_arp_dev,
+-	AC_TRY_COMPILE([
+-#       include <sys/types.h>
+-#	include <sys/socket.h>
+-#	include <net/if_arp.h>],
+-	[void *p = ((struct arpreq *)0)->arp_dev],
+-	ac_cv_dnet_arpreq_has_arp_dev=yes,
+-	ac_cv_dnet_arpreq_has_arp_dev=no))
+-    AC_MSG_RESULT($ac_cv_dnet_arpreq_has_arp_dev)
+-    if test $ac_cv_dnet_arpreq_has_arp_dev = yes ; then
+-	AC_DEFINE(HAVE_ARPREQ_ARP_DEV, 1,
+-		[Define if arpreq struct has arp_dev.])
+-    fi])
+-
+-dnl
+-dnl Check for rt_msghdr struct in <net/route.h>
+-dnl
+-dnl usage:	AC_DNET_ROUTE_RT_MSGHDR
+-dnl results:	HAVE_ROUTE_RT_MSGHDR
+-dnl
+-AC_DEFUN(AC_DNET_ROUTE_RT_MSGHDR,
+-    [AC_MSG_CHECKING(for rt_msghdr struct in <net/route.h>)
+-    AC_CACHE_VAL(ac_cv_dnet_route_h_has_rt_msghdr,
+-        AC_TRY_COMPILE([
+-#       include <sys/types.h>
+-#       include <sys/socket.h>
+-#       include <net/if.h>
+-#       include <net/route.h>],
+-        [struct rt_msghdr rtm; rtm.rtm_msglen = 0;],
+-	ac_cv_dnet_route_h_has_rt_msghdr=yes,
+-	ac_cv_dnet_route_h_has_rt_msghdr=no))
+-    AC_MSG_RESULT($ac_cv_dnet_route_h_has_rt_msghdr)
+-    if test $ac_cv_dnet_route_h_has_rt_msghdr = yes ; then
+-        AC_DEFINE(HAVE_ROUTE_RT_MSGHDR, 1,
+-	          [Define if <net/route.h> has rt_msghdr struct.])
+-    fi])
+-
+-dnl
+-dnl Check for the Berkeley Packet Filter
+-dnl
+-dnl usage:	AC_DNET_BSD_BPF
+-dnl results:	HAVE_BSD_BPF
+-dnl
+-AC_DEFUN(AC_DNET_BSD_BPF,
+-    [AC_MSG_CHECKING(for Berkeley Packet Filter)
+-    AC_CACHE_VAL(ac_cv_dnet_bsd_bpf,
+-	if test -c /dev/bpf0 ; then
+-	    ac_cv_dnet_bsd_bpf=yes
+-	else
+-	    ac_cv_dnet_bsd_bpf=no
+-	fi)
+-    AC_MSG_RESULT($ac_cv_dnet_bsd_bpf)
+-    if test $ac_cv_dnet_bsd_bpf = yes ; then
+-	AC_DEFINE(HAVE_BSD_BPF, 1,
+-		  [Define if you have the Berkeley Packet Filter.])
+-    fi])
+-
+-dnl
+-dnl Check for the Linux /proc filesystem
+-dnl
+-dnl usage:	AC_DNET_LINUX_PROCFS
+-dnl results:	HAVE_LINUX_PROCFS
+-dnl
+-AC_DEFUN(AC_DNET_LINUX_PROCFS,
+-    [AC_MSG_CHECKING(for Linux proc filesystem)
+-    AC_CACHE_VAL(ac_cv_dnet_linux_procfs,
+-	if test "x`cat /proc/sys/kernel/ostype 2>&-`" = "xLinux" ; then
+-	    ac_cv_dnet_linux_procfs=yes
+-        else
+-	    ac_cv_dnet_linux_procfs=no
+-	fi)
+-    AC_MSG_RESULT($ac_cv_dnet_linux_procfs)
+-    if test $ac_cv_dnet_linux_procfs = yes ; then
+-	AC_DEFINE(HAVE_LINUX_PROCFS, 1,
+-		  [Define if you have the Linux /proc filesystem.])
+-    fi])
+-
+-dnl
+-dnl Check for Linux PF_PACKET sockets
+-dnl
+-dnl usage:	AC_DNET_LINUX_PF_PACKET
+-dnl results:	HAVE_LINUX_PF_PACKET
+-dnl
+-AC_DEFUN(AC_DNET_LINUX_PF_PACKET,
+-    [AC_MSG_CHECKING(for Linux PF_PACKET sockets)
+-    AC_CACHE_VAL(ac_cv_dnet_linux_pf_packet,
+-	if test -f /usr/include/netpacket/packet.h ; then
+-	    ac_cv_dnet_linux_pf_packet=yes
+-	else
+-	    ac_cv_dnet_linux_pf_packet=no
+-	fi)
+-    AC_MSG_RESULT($ac_cv_dnet_linux_pf_packet)
+-    if test $ac_cv_dnet_linux_pf_packet = yes ; then
+-	AC_DEFINE(HAVE_LINUX_PF_PACKET, 1,
+-		  [Define if you have Linux PF_PACKET sockets.])
+-    fi])
+-
+-dnl
+-dnl Check for SNMP MIB2 STREAMS (Solaris only?)
+-dnl
+-dnl usage:      AC_DNET_STREAMS_MIB2
+-dnl results:    HAVE_STREAMS_MIB2
+-dnl
+-AC_DEFUN(AC_DNET_STREAMS_MIB2,
+-    [AC_MSG_CHECKING(for SNMP MIB2 STREAMS)
+-    AC_CACHE_VAL(ac_cv_dnet_streams_mib2,
+-        if test -f /usr/include/inet/mib2.h -a -c /dev/ip ; then
+-            ac_cv_dnet_streams_mib2=yes
+-        else
+-            ac_cv_dnet_streams_mib2=no
+-        fi)
+-    AC_MSG_RESULT($ac_cv_dnet_streams_mib2)
+-    if test $ac_cv_dnet_streams_mib2 = yes ; then
+-        AC_DEFINE(HAVE_STREAMS_MIB2, 1,
+-                  [Define if you have SNMP MIB2 STREAMS.])
+-    fi])
+-
+-dnl
+-dnl Check for route(7) STREAMS (UnixWare only?)
+-dnl
+-dnl usage:      AC_DNET_STREAMS_ROUTE
+-dnl results:    HAVE_STREAMS_ROUTE
+-dnl
+-AC_DEFUN(AC_DNET_STREAMS_ROUTE,
+-    [AC_MSG_CHECKING(for route(7) STREAMS)
+-    AC_CACHE_VAL(ac_cv_dnet_streams_route,
+-        if grep RTSTR_SEND /usr/include/net/route.h >/dev/null 2>&1 ; then
+-            ac_cv_dnet_streams_route=yes
+-        else
+-            ac_cv_dnet_streams_route=no
+-        fi)
+-    AC_MSG_RESULT($ac_cv_dnet_streams_route)
+-    if test $ac_cv_dnet_streams_route = yes ; then
+-        AC_DEFINE(HAVE_STREAMS_ROUTE, 1,
+-                  [Define if you have route(7) STREAMS.])
+-    fi])
+-
+-dnl
+-dnl Check for arp(7) ioctls
+-dnl
+-dnl usage:      AC_DNET_IOCTL_ARP
+-dnl results:    HAVE_IOCTL_ARP
+-dnl
+-AC_DEFUN(AC_DNET_IOCTL_ARP,
+-    [AC_MSG_CHECKING(for arp(7) ioctls)
+-    AC_CACHE_VAL(ac_cv_dnet_ioctl_arp,
+-	AC_EGREP_CPP(werd, [
+-#	include <sys/types.h>
+-#	define BSD_COMP
+-#	include <sys/ioctl.h>
+-#	ifdef SIOCGARP
+-	werd
+-#	endif],
+-	ac_cv_dnet_ioctl_arp=yes,
+-	ac_cv_dnet_ioctl_arp=no))
+-    case "$host_os" in
+-    irix*)
+-        ac_cv_dnet_ioctl_arp=no ;;
+-    esac
+-    AC_MSG_RESULT($ac_cv_dnet_ioctl_arp)
+-    if test $ac_cv_dnet_ioctl_arp = yes ; then
+-        AC_DEFINE(HAVE_IOCTL_ARP, 1,
+-                  [Define if you have arp(7) ioctls.])
+-    fi])
+-
+-dnl
+-dnl Check for raw IP sockets ip_{len,off} host byte ordering
+-dnl
+-dnl usage:      AC_DNET_RAWIP_HOST_OFFLEN
+-dnl results:    HAVE_RAWIP_HOST_OFFLEN
+-dnl
+-AC_DEFUN(AC_DNET_RAWIP_HOST_OFFLEN,
+-    [AC_MSG_CHECKING([for raw IP sockets ip_{len,off} host byte ordering])
+-    AC_CACHE_VAL(ac_cv_dnet_rawip_host_offlen, [
+-	case "$host_os" in
+-	*openbsd*)
+-	    ac_cv_dnet_rawip_host_offlen=no ;;
+-	*bsd*|*darwin*|*osf*|*unixware*)
+-	    ac_cv_dnet_rawip_host_offlen=yes ;;
+-	*)
+-	    ac_cv_dnet_rawip_host_offlen=no ;;
+-	esac])
+-    AC_MSG_RESULT($ac_cv_dnet_rawip_host_offlen)
+-    if test $ac_cv_dnet_rawip_host_offlen = yes ; then
+-        AC_DEFINE(HAVE_RAWIP_HOST_OFFLEN, 1,
+-                  [Define if raw IP sockets require host byte ordering for ip_off, ip_len.])
+-    fi])
+-
+-dnl
+-dnl Check for cooked raw IP sockets
+-dnl
+-dnl usage:      AC_DNET_RAWIP_COOKED
+-dnl results:    HAVE_RAWIP_COOKED
+-dnl
+-AC_DEFUN(AC_DNET_RAWIP_COOKED,
+-    [AC_MSG_CHECKING(for cooked raw IP sockets)
+-    AC_CACHE_VAL(ac_cv_dnet_rawip_cooked, [
+-	case "$host_os" in
+-	solaris*|irix*)
+-	    ac_cv_dnet_rawip_cooked=yes ;;
+-	*)
+-	    ac_cv_dnet_rawip_cooked=no ;;
+-	esac])
+-    AC_MSG_RESULT($ac_cv_dnet_rawip_cooked)
+-    if test $ac_cv_dnet_rawip_cooked = yes ; then
+-        AC_DEFINE(HAVE_RAWIP_COOKED, 1,
+-                  [Define if you have cooked raw IP sockets.])
+-    fi])
+-
+-dnl
+-dnl AC_LBL_LIBRARY_NET
+-dnl
+-dnl This test is for network applications that need socket() and
+-dnl gethostbyname() -ish functions.  Under Solaris, those applications
+-dnl need to link with "-lsocket -lnsl".  Under IRIX, they need to link
+-dnl with "-lnsl" but should *not* link with "-lsocket" because
+-dnl libsocket.a breaks a number of things (for instance:
+-dnl gethostbyname() under IRIX 5.2, and snoop sockets under most
+-dnl versions of IRIX).
+-dnl
+-dnl Unfortunately, many application developers are not aware of this,
+-dnl and mistakenly write tests that cause -lsocket to be used under
+-dnl IRIX.  It is also easy to write tests that cause -lnsl to be used
+-dnl under operating systems where neither are necessary (or useful),
+-dnl such as SunOS 4.1.4, which uses -lnsl for TLI.
+-dnl
+-dnl This test exists so that every application developer does not test
+-dnl this in a different, and subtly broken fashion.
+-
+-dnl It has been argued that this test should be broken up into two
+-dnl seperate tests, one for the resolver libraries, and one for the
+-dnl libraries necessary for using Sockets API. Unfortunately, the two
+-dnl are carefully intertwined and allowing the autoconf user to use
+-dnl them independantly potentially results in unfortunate ordering
+-dnl dependancies -- as such, such component macros would have to
+-dnl carefully use indirection and be aware if the other components were
+-dnl executed. Since other autoconf macros do not go to this trouble,
+-dnl and almost no applications use sockets without the resolver, this
+-dnl complexity has not been implemented.
+-dnl
+-dnl The check for libresolv is in case you are attempting to link
+-dnl statically and happen to have a libresolv.a lying around (and no
+-dnl libnsl.a).
+-dnl
+-AC_DEFUN(AC_LBL_LIBRARY_NET, [
+-    # Most operating systems have gethostbyname() in the default searched
+-    # libraries (i.e. libc):
+-    AC_CHECK_FUNC(gethostbyname, ,
+-        # Some OSes (eg. Solaris) place it in libnsl:
+-        AC_CHECK_LIB(nsl, gethostbyname, , 
+-            # Some strange OSes (SINIX) have it in libsocket:
+-            AC_CHECK_LIB(socket, gethostbyname, ,
+-                # Unfortunately libsocket sometimes depends on libnsl.
+-                # AC_CHECK_LIB's API is essentially broken so the
+-                # following ugliness is necessary:
+-                AC_CHECK_LIB(socket, gethostbyname,
+-                    LIBS="-lsocket -lnsl $LIBS",
+-                    AC_CHECK_LIB(resolv, gethostbyname),
+-                    -lnsl))))
+-    AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket, ,
+-        AC_CHECK_LIB(socket, socket, LIBS="-lsocket -lnsl $LIBS", ,
+-            -lnsl)))
+-    # DLPI needs putmsg under HPUX so test for -lstr while we're at it
+-    AC_CHECK_LIB(str, putmsg)
+-    ])
+diff --git a/m4/acinclude.m4 b/m4/acinclude.m4
+new file mode 100644
+index 0000000..c54710b
+--- /dev/null
++++ b/m4/acinclude.m4
+@@ -0,0 +1,319 @@
++dnl
++dnl Check for 4.4 BSD sa_len member in sockaddr struct
++dnl
++dnl usage:	AC_DNET_SOCKADDR_SA_LEN
++dnl results:	HAVE_SOCKADDR_SA_LEN (defined)
++dnl
++AC_DEFUN(AC_DNET_SOCKADDR_SA_LEN,
++    [AC_MSG_CHECKING(for sa_len in sockaddr struct)
++    AC_CACHE_VAL(ac_cv_dnet_sockaddr_has_sa_len,
++        AC_TRY_COMPILE([
++# ifndef _SOCKADDR_LEN
++#	define _SOCKADDR_LEN 1 
++# endif
++#       include <sys/types.h>
++#       include <sys/socket.h>],
++        [u_int i = sizeof(((struct sockaddr *)0)->sa_len)],
++        ac_cv_dnet_sockaddr_has_sa_len=yes,
++        ac_cv_dnet_sockaddr_has_sa_len=no))
++    AC_MSG_RESULT($ac_cv_dnet_sockaddr_has_sa_len)
++    if test $ac_cv_dnet_sockaddr_has_sa_len = yes ; then
++            AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1,
++                      [Define if sockaddr struct has sa_len.])
++    fi])
++
++dnl
++dnl Check for sockaddr_in6 struct in <netinet/in.h>
++dnl
++dnl usage:	AC_DNET_SOCKADDR_IN6
++dnl results:	HAVE_SOCKADDR_IN6
++dnl
++AC_DEFUN(AC_DNET_SOCKADDR_IN6,
++    [AC_MSG_CHECKING(for sockaddr_in6 struct in <netinet/in.h>)
++    AC_CACHE_VAL(ac_cv_dnet_netinet_in_h_has_sockaddr_in6,
++        AC_TRY_COMPILE([
++#       include <sys/types.h>
++#	include <sys/socket.h>
++#       include <netinet/in.h>],
++        [struct sockaddr_in6 sin6; sin6.sin6_family = AF_INET6;],
++	ac_cv_dnet_netinet_in_h_has_sockaddr_in6=yes,
++	ac_cv_dnet_netinet_in_h_has_sockaddr_in6=no))
++    AC_MSG_RESULT($ac_cv_dnet_netinet_in_h_has_sockaddr_in6)
++    if test $ac_cv_dnet_netinet_in_h_has_sockaddr_in6 = yes ; then
++        AC_DEFINE(HAVE_SOCKADDR_IN6, 1,
++	          [Define if <netinet/in.h> has sockaddr_in6 struct.])
++    fi])
++
++dnl
++dnl Check for arp_dev member in arpreq struct
++dnl
++dnl usage:	AC_DNET_ARPREQ_ARP_DEV
++dnl results:	HAVE_ARPREQ_ARP_DEV (defined)
++dnl
++AC_DEFUN(AC_DNET_ARPREQ_ARP_DEV,
++    [AC_MSG_CHECKING(for arp_dev in arpreq struct)
++    AC_CACHE_VAL(ac_cv_dnet_arpreq_has_arp_dev,
++	AC_TRY_COMPILE([
++#       include <sys/types.h>
++#	include <sys/socket.h>
++#	include <net/if_arp.h>],
++	[void *p = ((struct arpreq *)0)->arp_dev],
++	ac_cv_dnet_arpreq_has_arp_dev=yes,
++	ac_cv_dnet_arpreq_has_arp_dev=no))
++    AC_MSG_RESULT($ac_cv_dnet_arpreq_has_arp_dev)
++    if test $ac_cv_dnet_arpreq_has_arp_dev = yes ; then
++	AC_DEFINE(HAVE_ARPREQ_ARP_DEV, 1,
++		[Define if arpreq struct has arp_dev.])
++    fi])
++
++dnl
++dnl Check for rt_msghdr struct in <net/route.h>
++dnl
++dnl usage:	AC_DNET_ROUTE_RT_MSGHDR
++dnl results:	HAVE_ROUTE_RT_MSGHDR
++dnl
++AC_DEFUN(AC_DNET_ROUTE_RT_MSGHDR,
++    [AC_MSG_CHECKING(for rt_msghdr struct in <net/route.h>)
++    AC_CACHE_VAL(ac_cv_dnet_route_h_has_rt_msghdr,
++        AC_TRY_COMPILE([
++#       include <sys/types.h>
++#       include <sys/socket.h>
++#       include <net/if.h>
++#       include <net/route.h>],
++        [struct rt_msghdr rtm; rtm.rtm_msglen = 0;],
++	ac_cv_dnet_route_h_has_rt_msghdr=yes,
++	ac_cv_dnet_route_h_has_rt_msghdr=no))
++    AC_MSG_RESULT($ac_cv_dnet_route_h_has_rt_msghdr)
++    if test $ac_cv_dnet_route_h_has_rt_msghdr = yes ; then
++        AC_DEFINE(HAVE_ROUTE_RT_MSGHDR, 1,
++	          [Define if <net/route.h> has rt_msghdr struct.])
++    fi])
++
++dnl
++dnl Check for the Berkeley Packet Filter
++dnl
++dnl usage:	AC_DNET_BSD_BPF
++dnl results:	HAVE_BSD_BPF
++dnl
++AC_DEFUN(AC_DNET_BSD_BPF,
++    [AC_MSG_CHECKING(for Berkeley Packet Filter)
++    AC_CACHE_VAL(ac_cv_dnet_bsd_bpf,
++	if test -c /dev/bpf0 ; then
++	    ac_cv_dnet_bsd_bpf=yes
++	else
++	    ac_cv_dnet_bsd_bpf=no
++	fi)
++    AC_MSG_RESULT($ac_cv_dnet_bsd_bpf)
++    if test $ac_cv_dnet_bsd_bpf = yes ; then
++	AC_DEFINE(HAVE_BSD_BPF, 1,
++		  [Define if you have the Berkeley Packet Filter.])
++    fi])
++
++dnl
++dnl Check for the Linux /proc filesystem
++dnl
++dnl usage:	AC_DNET_LINUX_PROCFS
++dnl results:	HAVE_LINUX_PROCFS
++dnl
++AC_DEFUN(AC_DNET_LINUX_PROCFS,
++    [AC_MSG_CHECKING(for Linux proc filesystem)
++    AC_CACHE_VAL(ac_cv_dnet_linux_procfs,
++	if test "x`cat /proc/sys/kernel/ostype 2>&-`" = "xLinux" ; then
++	    ac_cv_dnet_linux_procfs=yes
++        else
++	    ac_cv_dnet_linux_procfs=no
++	fi)
++    AC_MSG_RESULT($ac_cv_dnet_linux_procfs)
++    if test $ac_cv_dnet_linux_procfs = yes ; then
++	AC_DEFINE(HAVE_LINUX_PROCFS, 1,
++		  [Define if you have the Linux /proc filesystem.])
++    fi])
++
++dnl
++dnl Check for Linux PF_PACKET sockets
++dnl
++dnl usage:	AC_DNET_LINUX_PF_PACKET
++dnl results:	HAVE_LINUX_PF_PACKET
++dnl
++AC_DEFUN(AC_DNET_LINUX_PF_PACKET,
++    [AC_MSG_CHECKING(for Linux PF_PACKET sockets)
++    AC_CACHE_VAL(ac_cv_dnet_linux_pf_packet,
++	if test -f /usr/include/netpacket/packet.h ; then
++	    ac_cv_dnet_linux_pf_packet=yes
++	else
++	    ac_cv_dnet_linux_pf_packet=no
++	fi)
++    AC_MSG_RESULT($ac_cv_dnet_linux_pf_packet)
++    if test $ac_cv_dnet_linux_pf_packet = yes ; then
++	AC_DEFINE(HAVE_LINUX_PF_PACKET, 1,
++		  [Define if you have Linux PF_PACKET sockets.])
++    fi])
++
++dnl
++dnl Check for SNMP MIB2 STREAMS (Solaris only?)
++dnl
++dnl usage:      AC_DNET_STREAMS_MIB2
++dnl results:    HAVE_STREAMS_MIB2
++dnl
++AC_DEFUN(AC_DNET_STREAMS_MIB2,
++    [AC_MSG_CHECKING(for SNMP MIB2 STREAMS)
++    AC_CACHE_VAL(ac_cv_dnet_streams_mib2,
++        if test -f /usr/include/inet/mib2.h -a -c /dev/ip ; then
++            ac_cv_dnet_streams_mib2=yes
++        else
++            ac_cv_dnet_streams_mib2=no
++        fi)
++    AC_MSG_RESULT($ac_cv_dnet_streams_mib2)
++    if test $ac_cv_dnet_streams_mib2 = yes ; then
++        AC_DEFINE(HAVE_STREAMS_MIB2, 1,
++                  [Define if you have SNMP MIB2 STREAMS.])
++    fi])
++
++dnl
++dnl Check for route(7) STREAMS (UnixWare only?)
++dnl
++dnl usage:      AC_DNET_STREAMS_ROUTE
++dnl results:    HAVE_STREAMS_ROUTE
++dnl
++AC_DEFUN(AC_DNET_STREAMS_ROUTE,
++    [AC_MSG_CHECKING(for route(7) STREAMS)
++    AC_CACHE_VAL(ac_cv_dnet_streams_route,
++        if grep RTSTR_SEND /usr/include/net/route.h >/dev/null 2>&1 ; then
++            ac_cv_dnet_streams_route=yes
++        else
++            ac_cv_dnet_streams_route=no
++        fi)
++    AC_MSG_RESULT($ac_cv_dnet_streams_route)
++    if test $ac_cv_dnet_streams_route = yes ; then
++        AC_DEFINE(HAVE_STREAMS_ROUTE, 1,
++                  [Define if you have route(7) STREAMS.])
++    fi])
++
++dnl
++dnl Check for arp(7) ioctls
++dnl
++dnl usage:      AC_DNET_IOCTL_ARP
++dnl results:    HAVE_IOCTL_ARP
++dnl
++AC_DEFUN(AC_DNET_IOCTL_ARP,
++    [AC_MSG_CHECKING(for arp(7) ioctls)
++    AC_CACHE_VAL(ac_cv_dnet_ioctl_arp,
++	AC_EGREP_CPP(werd, [
++#	include <sys/types.h>
++#	define BSD_COMP
++#	include <sys/ioctl.h>
++#	ifdef SIOCGARP
++	werd
++#	endif],
++	ac_cv_dnet_ioctl_arp=yes,
++	ac_cv_dnet_ioctl_arp=no))
++    case "$host_os" in
++    irix*)
++        ac_cv_dnet_ioctl_arp=no ;;
++    esac
++    AC_MSG_RESULT($ac_cv_dnet_ioctl_arp)
++    if test $ac_cv_dnet_ioctl_arp = yes ; then
++        AC_DEFINE(HAVE_IOCTL_ARP, 1,
++                  [Define if you have arp(7) ioctls.])
++    fi])
++
++dnl
++dnl Check for raw IP sockets ip_{len,off} host byte ordering
++dnl
++dnl usage:      AC_DNET_RAWIP_HOST_OFFLEN
++dnl results:    HAVE_RAWIP_HOST_OFFLEN
++dnl
++AC_DEFUN(AC_DNET_RAWIP_HOST_OFFLEN,
++    [AC_MSG_CHECKING([for raw IP sockets ip_{len,off} host byte ordering])
++    AC_CACHE_VAL(ac_cv_dnet_rawip_host_offlen, [
++	case "$host_os" in
++	*openbsd*)
++	    ac_cv_dnet_rawip_host_offlen=no ;;
++	*bsd*|*darwin*|*osf*|*unixware*)
++	    ac_cv_dnet_rawip_host_offlen=yes ;;
++	*)
++	    ac_cv_dnet_rawip_host_offlen=no ;;
++	esac])
++    AC_MSG_RESULT($ac_cv_dnet_rawip_host_offlen)
++    if test $ac_cv_dnet_rawip_host_offlen = yes ; then
++        AC_DEFINE(HAVE_RAWIP_HOST_OFFLEN, 1,
++                  [Define if raw IP sockets require host byte ordering for ip_off, ip_len.])
++    fi])
++
++dnl
++dnl Check for cooked raw IP sockets
++dnl
++dnl usage:      AC_DNET_RAWIP_COOKED
++dnl results:    HAVE_RAWIP_COOKED
++dnl
++AC_DEFUN(AC_DNET_RAWIP_COOKED,
++    [AC_MSG_CHECKING(for cooked raw IP sockets)
++    AC_CACHE_VAL(ac_cv_dnet_rawip_cooked, [
++	case "$host_os" in
++	solaris*|irix*)
++	    ac_cv_dnet_rawip_cooked=yes ;;
++	*)
++	    ac_cv_dnet_rawip_cooked=no ;;
++	esac])
++    AC_MSG_RESULT($ac_cv_dnet_rawip_cooked)
++    if test $ac_cv_dnet_rawip_cooked = yes ; then
++        AC_DEFINE(HAVE_RAWIP_COOKED, 1,
++                  [Define if you have cooked raw IP sockets.])
++    fi])
++
++dnl
++dnl AC_LBL_LIBRARY_NET
++dnl
++dnl This test is for network applications that need socket() and
++dnl gethostbyname() -ish functions.  Under Solaris, those applications
++dnl need to link with "-lsocket -lnsl".  Under IRIX, they need to link
++dnl with "-lnsl" but should *not* link with "-lsocket" because
++dnl libsocket.a breaks a number of things (for instance:
++dnl gethostbyname() under IRIX 5.2, and snoop sockets under most
++dnl versions of IRIX).
++dnl
++dnl Unfortunately, many application developers are not aware of this,
++dnl and mistakenly write tests that cause -lsocket to be used under
++dnl IRIX.  It is also easy to write tests that cause -lnsl to be used
++dnl under operating systems where neither are necessary (or useful),
++dnl such as SunOS 4.1.4, which uses -lnsl for TLI.
++dnl
++dnl This test exists so that every application developer does not test
++dnl this in a different, and subtly broken fashion.
++
++dnl It has been argued that this test should be broken up into two
++dnl seperate tests, one for the resolver libraries, and one for the
++dnl libraries necessary for using Sockets API. Unfortunately, the two
++dnl are carefully intertwined and allowing the autoconf user to use
++dnl them independantly potentially results in unfortunate ordering
++dnl dependancies -- as such, such component macros would have to
++dnl carefully use indirection and be aware if the other components were
++dnl executed. Since other autoconf macros do not go to this trouble,
++dnl and almost no applications use sockets without the resolver, this
++dnl complexity has not been implemented.
++dnl
++dnl The check for libresolv is in case you are attempting to link
++dnl statically and happen to have a libresolv.a lying around (and no
++dnl libnsl.a).
++dnl
++AC_DEFUN(AC_LBL_LIBRARY_NET, [
++    # Most operating systems have gethostbyname() in the default searched
++    # libraries (i.e. libc):
++    AC_CHECK_FUNC(gethostbyname, ,
++        # Some OSes (eg. Solaris) place it in libnsl:
++        AC_CHECK_LIB(nsl, gethostbyname, , 
++            # Some strange OSes (SINIX) have it in libsocket:
++            AC_CHECK_LIB(socket, gethostbyname, ,
++                # Unfortunately libsocket sometimes depends on libnsl.
++                # AC_CHECK_LIB's API is essentially broken so the
++                # following ugliness is necessary:
++                AC_CHECK_LIB(socket, gethostbyname,
++                    LIBS="-lsocket -lnsl $LIBS",
++                    AC_CHECK_LIB(resolv, gethostbyname),
++                    -lnsl))))
++    AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket, ,
++        AC_CHECK_LIB(socket, socket, LIBS="-lsocket -lnsl $LIBS", ,
++            -lnsl)))
++    # DLPI needs putmsg under HPUX so test for -lstr while we're at it
++    AC_CHECK_LIB(str, putmsg)
++    ])
+-- 
+1.7.6
+


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.


More information about the devel mailing list