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 <jason.wessel@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
This commit is contained in:
Jason Wessel 2017-08-25 13:13:04 -07:00 committed by Bruce Ashfield
parent 99013658ea
commit 62dbe8c300

View File

@ -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