2013-11-23 04:43:32 +08:00
|
|
|
DESCRIPTION = "The Edinburgh Speech Tools Library"
|
|
|
|
LICENSE = "MIT"
|
2019-01-25 08:58:03 +08:00
|
|
|
LIC_FILES_CHKSUM = "file://README;md5=5a04850e2bcfae66d6cae547274d72c3"
|
2013-11-23 04:43:32 +08:00
|
|
|
|
2014-06-27 03:56:48 +08:00
|
|
|
DEPENDS = "alsa-lib ncurses"
|
2013-11-23 04:43:32 +08:00
|
|
|
|
2019-01-25 08:58:03 +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"
|
|
|
|
|
2014-06-27 03:06:18 +08:00
|
|
|
inherit autotools-brokensep
|
2013-11-23 04:43:32 +08:00
|
|
|
|
2014-06-28 01:13:46 +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() {
|
2019-07-04 06:22:22 +08:00
|
|
|
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
|
|
|
}
|
2014-10-31 14:52:36 +08:00
|
|
|
|
|
|
|
RDEPENDS_${PN} += "perl"
|