meta-ros/recipes-extended/speech-tools/speech-tools_2.4.bb

45 lines
1.5 KiB
BlitzBasic
Raw Permalink Normal View History

2013-11-23 04:43:32 +08:00
DESCRIPTION = "The Edinburgh Speech Tools Library"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://README;md5=5a04850e2bcfae66d6cae547274d72c3"
2013-11-23 04:43:32 +08:00
DEPENDS = "alsa-lib ncurses"
2013-11-23 04:43:32 +08:00
SRC_URI = "http://www.cstr.ed.ac.uk/downloads/festival/${PV}/speech_tools-${PV}-release.tar.gz"
SRC_URI[md5sum] = "3d60e563135363eb2548d947f7ef4e14"
SRC_URI[sha256sum] = "fbc2482c443919aa79d2e599d6a5faee4e793df55a79ef377f1dc7e8ba237010"
2013-11-23 04:43:32 +08:00
S = "${WORKDIR}/speech_tools"
inherit autotools-brokensep
2013-11-23 04:43:32 +08:00
PARALLEL_MAKE = ""
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>
2019-07-04 05:31:25 +08:00
EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${LDFLAGS}'"
speech-tools: respect LDFLAGS * fixes: https://github.com/ros/meta-ros/issues/553 ERROR: speech-tools-2.4-r0 do_package_qa: QA Issue: No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/wfst_train, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/align, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/viterbi, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/design_filter, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/scfg_make, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/ch_utt, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/wfst_run, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/pda, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/ch_track, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/xml_parser, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/ch_lab, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/ch_wave, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/wagon, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/pitchmark, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/sig2fv, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/bcat, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/ols_test, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/tilt_synthesis, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/dp, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/wfst_build, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/scfg_test, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/ols, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/scfg_train, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/ngram_build, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/scfg_parse, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/siod, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/na_play, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/wagon_test, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/ngram_test, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/sigfilter, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/spectgen, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/tilt_analysis, didn't pass LDFLAGS? No GNU_HASH in the ELF binary /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/speech-tools/2.4-r0/packages-split/speech-tools/usr/bin/na_record, didn't pass LDFLAGS? [ldflags] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2019-07-03 22:06:38 +08:00
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>
2019-07-04 05:31:25 +08:00
do_configure_prepend() {
# respect CC and CXX from EXTRA_OEMAKE
sed -i '/^CC=gcc/d; /^CXX=gcc$/d' ${S}/config/compilers/gcc_defaults.mak
2013-11-23 04:43:32 +08:00
}
do_install() {
install -m 0755 -d ${D}${bindir}
install -m 0755 ${S}/bin/* ${D}${bindir}
install -m 0755 -d ${D}${libdir}
install -m 0644 ${S}/lib/libestools.a ${D}${libdir}
install -m 0644 ${S}/lib/libestbase.a ${D}${libdir}
install -m 0644 ${S}/lib/libeststring.a ${D}${libdir}
}
SYSROOT_PREPROCESS_FUNCS += "speechtools_sysroot_preprocess"
#stage speech_tools directories for usage by festival
speechtools_sysroot_preprocess() {
sysroot_stage_dir ${S}/config ${SYSROOT_DESTDIR}${datadir}/${PN}/config
sysroot_stage_dir ${S}/include ${SYSROOT_DESTDIR}${datadir}/${PN}/include
sysroot_stage_dir ${S}/base_class ${SYSROOT_DESTDIR}${datadir}/${PN}/base_class
sysroot_stage_dir ${S}/lib ${SYSROOT_DESTDIR}${datadir}/${PN}/lib
2013-11-23 04:43:32 +08:00
}
RDEPENDS_${PN} += "perl"