festival, speech-tools: fix festival reusing CC value from staged speech-tools est_program_makefile, gcc_defaults.mak
* fixes: https://github.com/ros/meta-ros/issues/553 * the files est_program_makefile, gcc_defaults.mak staged by speech-tools contain CC/CXX variables which include --sysroot parameter, poiting to speech-tools RSS: grep -R sysroot= work/core2-32-oe-linux/festival/2.4-r0/recipe-sysroot/usr/share/speech-tools/ work/core2-32-oe-linux/festival/2.4-r0/recipe-sysroot/usr/share/speech-tools/lib/est_program_makefile: i686-oe-linux-gcc -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/jenkins/mjansa/build-nodistro-master/BUILD/work/core2-32-oe-linux/speech-tools /2.4-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o $* $($*_OBJ) $($*_LIBS) -L$(EST_HOME)/lib -lestools -L$(EST_HOME)/lib -lestbase -L$(EST_HOME)/lib -leststring -lncurses -ldl -lncurses -lm -lstdc++ work/core2-32-oe-linux/festival/2.4-r0/recipe-sysroot/usr/share/speech-tools/lib/est_program_makefile: i686-oe-linux-gcc -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/jenkins/mjansa/build-nodistro-master/BUILD/work/core2-32-oe-linux/speech-tools /2.4-r0/recipe-sysroot -c -fno-implicit-templates -O3 -Wall -I$(EST_HOME)/include $($*_INCLUDES) $($*_DEFINES) $*.cc work/core2-32-oe-linux/festival/2.4-r0/recipe-sysroot/usr/share/speech-tools/lib/est_program_makefile: i686-oe-linux-gcc -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/jenkins/mjansa/build-nodistro-master/BUILD/work/core2-32-oe-linux/speech-tools /2.4-r0/recipe-sysroot -c -fno-implicit-templates -O3 -Wall -I$(EST_HOME)/include $($*_INCLUDES) $($*_DEFINES) $*.c work/core2-32-oe-linux/festival/2.4-r0/recipe-sysroot/usr/share/speech-tools/config/compilers/gcc_defaults.mak:CC=i686-oe-linux-gcc -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/jenkins/mjansa/build-nodistro-master/BUILD/work/core2-32-oe-linux/s peech-tools/2.4-r0/recipe-sysroot work/core2-32-oe-linux/festival/2.4-r0/recipe-sysroot/usr/share/speech-tools/config/compilers/gcc_defaults.mak:CXX=i686-oe-linux-gcc -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/jenkins/mjansa/build-nodistro-master/BUILD/work/core2-32-oe-linux/ speech-tools/2.4-r0/recipe-sysroot * the issue is that when festival is being configured, the speech-tools RSS might already be removed by rm_work (nor not created in this build at all when speech-tools were reused from sstate), causing: | making dependencies -- festival.cc Phone.cc utterance.cc features.cc wave.cc wagon_interp.cc linreg.cc audspio.cc server.cc client.cc web.cc tcl.cc wfst.cc ngram.cc viterbi.cc ModuleDescription.cc | i686-oe-linux-gcc -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/jenkins/mjansa/build-nodistro-master/BUILD/work/core2-32-oe-linux/speech-tools/2.4-r0/recipe-sysroot -c -fno-implicit-templates -O3 -Wall -I../../../src/include -I/jen kins/mjansa/build-nodistro-master/BUILD/work/core2-32-oe-linux/festival/2.4-r0/recipe-sysroot/usr/share/speech-tools/include -DINSTANTIATE_TEMPLATES -DFTNAME='Festival Speech Synthesis System' -DFTLIBDIRC='/usr/share/festival ' -DFTVERSION='2.4' -DFTSTATE='re lease' -DFTDATE='December 2014' -DFTOSTYPE=\"unknown_DebianGNULinux\" festival.cc | festival.cc:40:10: fatal error: cstdio: No such file or directory | 40 | #include <cstdio> | | ^~~~~~~~ | compilation terminated. | Makefile:65: recipe for target 'festival.o' failed * this is cleary wrong, change both speech-tools and festival to just respect CC/CXX variables passed by EXTRA_OEMAKE * pass LDFLAGS through CXX as well instead of LINKFLAGS, CXX is used in default LINK_COMMAND anyway, so we don't need to mess with default LINKFLAGS added by the .mak files config/rules/defaults.mak: LINK_COMMAND = $(CXX) $(LINKFLAGS) $(TEMPLATES) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
parent
7364c87d80
commit
34e4fd2ca1
|
@ -34,6 +34,8 @@ inherit autotools-brokensep
|
||||||
#disable parallel make (make -j), as festival cannot handle that
|
#disable parallel make (make -j), as festival cannot handle that
|
||||||
PARALLEL_MAKE = ""
|
PARALLEL_MAKE = ""
|
||||||
|
|
||||||
|
EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${LDFLAGS}'"
|
||||||
|
|
||||||
do_configure_prepend() {
|
do_configure_prepend() {
|
||||||
#point to speech-tools in sysroots
|
#point to speech-tools in sysroots
|
||||||
sed -i 's:EST=$(TOP)/../speech_tools:EST=${STAGING_DIR_TARGET}${datadir}/speech-tools:g' ${S}/config/config.in
|
sed -i 's:EST=$(TOP)/../speech_tools:EST=${STAGING_DIR_TARGET}${datadir}/speech-tools:g' ${S}/config/config.in
|
||||||
|
|
|
@ -14,12 +14,11 @@ inherit autotools-brokensep
|
||||||
|
|
||||||
PARALLEL_MAKE = ""
|
PARALLEL_MAKE = ""
|
||||||
|
|
||||||
EXTRA_OEMAKE = "LINKFLAGS='${LDFLAGS}'"
|
EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${LDFLAGS}'"
|
||||||
|
|
||||||
do_configure_prepend() {
|
do_configure_prepend() {
|
||||||
#force crosscompilation compiler
|
# respect CC and CXX from EXTRA_OEMAKE
|
||||||
sed -i 's:CC=gcc:CC=${CC}:g' ${S}/config/compilers/gcc_defaults.mak
|
sed -i '/^CC=gcc/d; /^CXX=gcc$/d' ${S}/config/compilers/gcc_defaults.mak
|
||||||
sed -i 's:CXX=gcc:CXX=${CC}:g' ${S}/config/compilers/gcc_defaults.mak
|
|
||||||
}
|
}
|
||||||
|
|
||||||
do_install() {
|
do_install() {
|
||||||
|
|
Loading…
Reference in New Issue