From 62dbe8c300e9c6319f1280b209553b4721acd430 Mon Sep 17 00:00:00 2001 From: Jason Wessel Date: Fri, 25 Aug 2017 13:13:04 -0700 Subject: openvswitch: Fix compile problems with i586-nlp If you have in your $CC from the compiler template any kind of directive which contains a comma character it is going to cause ovs to not build due to the macro expansion in the Makefile: CC = $(if $(C),env REAL_CC="'"$CC"'" CHECK="$(SPARSE) -I $(top_srcdir)/include/sparse $(SPARSEFLAGS) $(SPARSE_EXTRA_INCLUDES) " cgcc $(CGCCFLAGS),'"$CC" Put more simply: CC = $(if $(C), CONFIGURE_CC_DEFINITION, cgcc args CONFIGURE_CC_DEFINITION) The CONFIGURE_CC_DEFINITION for the i585-nlp definition had "-Wa,-momit-lock-prefix=yes". The comma there caused a strings to "break" in the wrong place in the $(if) macro and the build of recipe will fail with the error shown below: /bin/sh: -c: line 1: unexpected EOF while looking for matching `"' /bin/sh: -c: line 3: syntax error: unexpected end of file The solution is to transform the "-Wa," -> "-Xassembler ". Signed-off-by: Jason Wessel Signed-off-by: Bruce Ashfield --- recipes-networking/openvswitch/openvswitch.inc | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'recipes-networking') diff --git a/recipes-networking/openvswitch/openvswitch.inc b/recipes-networking/openvswitch/openvswitch.inc index ab5a7e47..58e0fcb0 100644 --- a/recipes-networking/openvswitch/openvswitch.inc +++ b/recipes-networking/openvswitch/openvswitch.inc @@ -86,6 +86,12 @@ INITSCRIPT_PARAMS_${PN}-switch = "defaults 71" INITSCRIPT_NAME_${PN}-testcontroller = "openvswitch-testcontroller" INITSCRIPT_PARAMS_${PN}-testcontroller = "defaults 72" +do_configure_prepend() { + # Work around the for Makefile CC=$(if ....) by swapping out any + # "-Wa," assembly directives with "-Xassembler + CC=`echo '${CC}' | sed 's/-Wa,/-Xassembler /g'` +} + do_install_append() { install -d ${D}/${sysconfdir}/default/ install -m 660 ${WORKDIR}/openvswitch-switch-setup ${D}/${sysconfdir}/default/openvswitch-switch -- cgit v1.2.3-54-g00ecf