Will you be pushing this down to oe-core or meta-openembedded as well?

>-----Original Message-----
>From: [email protected] [mailto:meta-arago-
>[email protected]] On Behalf Of Nelson, Sam
>Sent: Monday, February 10, 2014 6:55 PM
>To: [email protected]
>Subject: [meta-arago] [PATCH] libdnet: Add recipe for libdnet
>library
>
>- Dumb networking library
>
>Signed-off-by: Sam Nelson <[email protected]>
>---
> .../libdnet/files/acinclude.m4                     |  320
>++++++++++++++++++++
> .../recipes-connectivity/libdnet/libdnet_1.12.bb   |   23 ++
> 2 files changed, 343 insertions(+)
> create mode 100755 meta-arago-extras/recipes-
>connectivity/libdnet/files/acinclude.m4
> create mode 100755 meta-arago-extras/recipes-
>connectivity/libdnet/libdnet_1.12.bb
>
>diff --git a/meta-arago-extras/recipes-
>connectivity/libdnet/files/acinclude.m4 b/meta-arago-
>extras/recipes-connectivity/libdnet/files/acinclude.m4
>new file mode 100755
>index 0000000..492da6f
>--- /dev/null
>+++ b/meta-arago-extras/recipes-
>connectivity/libdnet/files/acinclude.m4
>@@ -0,0 +1,320 @@
>+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/meta-arago-extras/recipes-
>connectivity/libdnet/libdnet_1.12.bb b/meta-arago-extras/recipes-
>connectivity/libdnet/libdnet_1.12.bb
>new file mode 100755
>index 0000000..d2c3eeb
>--- /dev/null
>+++ b/meta-arago-extras/recipes-
>connectivity/libdnet/libdnet_1.12.bb
>@@ -0,0 +1,23 @@
>+DESCRIPTION = "dumb networking library"
>+HOMEPAGE = "http://code.google.com/p/libdnet/";
>+LICENSE = "BSD"
>+SECTION = "libs"
>+PRIORITY = "optional"
>+
>+LIC_FILES_CHKSUM =
>"file://LICENSE;md5=0036c1b155f4e999f3e0a373490b5db9"
>+
>+SRC_URI = " \
>+    http://libdnet.googlecode.com/files/libdnet-${PV}.tgz \
>+    file://acinclude.m4 \
>+    "
>+
>+inherit autotools
>+
>+PR = "r0"
>+
>+SRC_URI[md5sum] = "9253ef6de1b5e28e9c9a62b882e44cc9"
>+SRC_URI[sha256sum] =
>"83b33039787cf99990e977cef7f18a5d5e7aaffc4505548a83d31bd3515eb026"
>+
>+do_configure_prepend() {
>+    cp ${WORKDIR}/acinclude.m4 ${S}
>+}
>--
>1.7.9.5
>
>_______________________________________________
>meta-arago mailing list
>[email protected]
>http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
_______________________________________________
meta-arago mailing list
[email protected]
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago

Reply via email to