openflow: Fix build with musl

Regenerate configure before running oe_runconf

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
This commit is contained in:
Khem Raj 2017-07-22 09:50:43 -07:00 committed by Joe MacDonald
parent 0f57a51209
commit a669e44708
4 changed files with 129 additions and 2 deletions

View File

@ -27,9 +27,8 @@ S = "${WORKDIR}/git"
inherit autotools-brokensep pkgconfig
do_configure() {
do_configure_prepend() {
./boot.sh
oe_runconf
}
do_install_append() {

View File

@ -0,0 +1,64 @@
From 7b62e5884353b247f542844d1e4687d0e9211999 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 20 Jul 2017 04:27:32 -0700
Subject: [PATCH 1/2] Check and use strlcpy from libc before defining own
This is required especially on musl where
function prototype conflicts and causes build
failures.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
configure.ac | 2 +-
lib/util.c | 2 ++
lib/util.h | 1 +
3 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 13064f6..596c43f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -57,7 +57,7 @@ OFP_CHECK_HWTABLES
OFP_CHECK_HWLIBS
AC_SYS_LARGEFILE
-AC_CHECK_FUNCS([strsignal])
+AC_CHECK_FUNCS([strlcpy strsignal])
AC_ARG_VAR(KARCH, [Kernel Architecture String])
AC_SUBST(KARCH)
diff --git a/lib/util.c b/lib/util.c
index 21cc28d..1f341b1 100644
--- a/lib/util.c
+++ b/lib/util.c
@@ -138,6 +138,7 @@ xasprintf(const char *format, ...)
return s;
}
+#ifndef HAVE_STRLCPY
void
strlcpy(char *dst, const char *src, size_t size)
{
@@ -148,6 +149,7 @@ strlcpy(char *dst, const char *src, size_t size)
dst[n_copy] = '\0';
}
}
+#endif
void
ofp_fatal(int err_no, const char *format, ...)
diff --git a/lib/util.h b/lib/util.h
index fde681f..9e45ea9 100644
--- a/lib/util.h
+++ b/lib/util.h
@@ -41,6 +41,7 @@
#include <stdio.h>
#include <string.h>
#include "compiler.h"
+#include "config.h"
#ifndef va_copy
#ifdef __va_copy
--
2.13.3

View File

@ -0,0 +1,59 @@
From 5bba224edea38607e8732081f86679ffd8b218ab Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 20 Jul 2017 04:29:04 -0700
Subject: [PATCH 2/2] lib/netdev: Adjust header include sequence
Specify libc headers before kernel UAPIs
this helps compiling with musl where otherwise
it uses the definition from kernel and complains
about double definition in libc headers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
lib/netdev.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/lib/netdev.c b/lib/netdev.c
index 3b6fbc5..c7de25e 100644
--- a/lib/netdev.c
+++ b/lib/netdev.c
@@ -39,7 +39,6 @@
#include <fcntl.h>
#include <arpa/inet.h>
#include <inttypes.h>
-#include <linux/if_tun.h>
/* Fix for some compile issues we were experiencing when setting up openwrt
* with the 2.4 kernel. linux/ethtool.h seems to use kernel-style inttypes,
@@ -57,10 +56,6 @@
#define s64 __s64
#endif
-#include <linux/ethtool.h>
-#include <linux/rtnetlink.h>
-#include <linux/sockios.h>
-#include <linux/version.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
@@ -68,12 +63,16 @@
#include <net/ethernet.h>
#include <net/if.h>
#include <net/if_arp.h>
-#include <net/if_packet.h>
#include <net/route.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <linux/ethtool.h>
+#include <linux/rtnetlink.h>
+#include <linux/sockios.h>
+#include <linux/version.h>
+#include <linux/if_tun.h>
#include "fatal-signal.h"
#include "list.h"
--
2.13.3

View File

@ -2,3 +2,8 @@ include ${BPN}.inc
SRCREV = "c84f33f09d5dbcfc9b489f64cb30475bf36f653a"
PV = "1.0+git${SRCPV}"
SRC_URI += "\
file://0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch \
file://0002-lib-netdev-Adjust-header-include-sequence.patch \
"