diff options
author | Junqian Gordon Xu <xjqian@gmail.com> | 2008-03-13 02:36:58 +0000 |
---|---|---|
committer | Junqian Gordon Xu <xjqian@gmail.com> | 2008-03-13 02:36:58 +0000 |
commit | 5185c76a4d82f26a6781917d5c42394b229dc89e (patch) | |
tree | e542202bcff52e3793d29ee077e7ba4f5cdeaa0a | |
parent | 15ece38bfc5cf8487c01edf1afa8added3bd00d1 (diff) |
espeak: add support for big-endian phon* files courtesy of treitmayr
-rw-r--r-- | packages/espeak/espeak-data_1.35.bb | 30 | ||||
-rw-r--r-- | packages/espeak/espeak.inc | 7 | ||||
-rw-r--r-- | packages/espeak/espeak_1.35.bb | 21 |
3 files changed, 49 insertions, 9 deletions
diff --git a/packages/espeak/espeak-data_1.35.bb b/packages/espeak/espeak-data_1.35.bb new file mode 100644 index 0000000000..4dc9aa9882 --- /dev/null +++ b/packages/espeak/espeak-data_1.35.bb @@ -0,0 +1,30 @@ +require espeak.inc + +PR = "r0" + +inherit native + +PACKAGES = "${PN}" +FILES_${PN} = "${layout_datadir}" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +TARGET_ARCH = "${MACHINE_ARCH}" + +do_compile() { + # Fixing byte order of phoneme data files + cd "${S}/platforms/big_endian" + sed -i '/^ *CC *=/d' Makefile + sed -i 's/\(.*BYTE_ORDER\)/#undef BYTE_ORDER\n#define BYTE_ORDER BIG_ENDIAN\n\1/' espeak-phoneme-data.c + oe_runmake + ./espeak-phoneme-data "${S}/espeak-data" + cp -f phondata phonindex phontab "${S}/espeak-data" +} + +do_install() { + install -d ${D}${layout_datadir}/espeak-data + install -m 0644 ${S}/espeak-data/phon* ${D}${layout_datadir}/espeak-data +} + +do_stage() { + : +} diff --git a/packages/espeak/espeak.inc b/packages/espeak/espeak.inc new file mode 100644 index 0000000000..c0502b6ca3 --- /dev/null +++ b/packages/espeak/espeak.inc @@ -0,0 +1,7 @@ +DESCRIPTION = "eSpeak is a compact open source software speech synthesizer" +SECTION = "base" +LICENSE = "GPL" + +SRC_URI = "${SOURCEFORGE_MIRROR}/espeak/espeak-${PV}-source.zip" + +S = "${WORKDIR}/espeak-${PV}-source" diff --git a/packages/espeak/espeak_1.35.bb b/packages/espeak/espeak_1.35.bb index 8d7b18a890..f7dacf54bc 100644 --- a/packages/espeak/espeak_1.35.bb +++ b/packages/espeak/espeak_1.35.bb @@ -1,19 +1,17 @@ -DESCRIPTION = "eSpeak is a compact open source software speech synthesizer" -SECTION = "base" -LICENSE = "GPL" -DEPENDS = "portaudio-v19" +require espeak.inc -PR = "r0" +EXTRA_PHONEMES = '${@base_contains("SITEINFO_ENDIANESS", "be", "espeak-data (= ${PV})", "", d)}' +RDEPENDS = "portaudio-v19 ${EXTRA_PHONEMES}" -SRC_URI = "${SOURCEFORGE_MIRROR}/espeak/espeak-${PV}-source.zip" +PR = "r1" -S = "${WORKDIR}/${PN}-${PV}-source" +CXXFLAGS += "-DUSE_PORTAUDIO" FILES_${PN} += "${datadir}/espeak-data" do_configure() { - # "speak" binary, a TTS engine, uses portaudio in either APIs V18 or V19 - cp ${S}/src/portaudio19.h ${S}/src/portaudio.h + # "speak" binary, a TTS engine, uses portaudio in either APIs V18 or V19, use V19 + cp "${S}/src/portaudio19.h" "${S}/src/portaudio.h" } do_compile() { @@ -32,6 +30,11 @@ do_install() { install -m 0644 ${S}/src/speak_lib.h ${D}${includedir} oe_libinstall -so -C src libespeak ${D}${libdir} + if [ "${SITEINFO_ENDIANESS}" = "be" ] ; then + # the big-endian phon* files are provided by the package espeak-data + rm -f ${S}/espeak-data/phon* + fi + cp -prf ${S}/espeak-data/* ${D}${datadir}/espeak-data } |