[oe-commits] org.oe.dev espeak: add support for big-endian phon* files courtesy of treitmayr

xjqian commit oe at amethyst.openembedded.net
Mon Mar 17 08:55:57 UTC 2008


espeak: add support for big-endian phon* files  courtesy of treitmayr

Author: xjqian at openembedded.org
Branch: org.openembedded.dev
Revision: 2fe2cc266719e1dc20c46d807395bb82dd286a6f
ViewMTN: http://monotone.openembedded.org/revision/info/2fe2cc266719e1dc20c46d807395bb82dd286a6f
Files:
1
packages/espeak/espeak-data_1.35.bb
packages/espeak/espeak.inc
packages/espeak/espeak_1.35.bb
Diffs:

#
# mt diff -r994e75591b964339f568013bbb8d4b4716dab166 -r2fe2cc266719e1dc20c46d807395bb82dd286a6f
#
#
#
# add_file "packages/espeak/espeak-data_1.35.bb"
#  content [7becc9c9407d3352c52b70e1f4b0767352dee83c]
# 
# add_file "packages/espeak/espeak.inc"
#  content [a507092611114c379d686d2b8713c52898a66709]
# 
# patch "packages/espeak/espeak_1.35.bb"
#  from [7e4fb524c1a706474b8e218dbcef60f0d2db406d]
#    to [99110f31d07c43a9c50c4b73f3f9e537eb552319]
#
============================================================
--- packages/espeak/espeak-data_1.35.bb	7becc9c9407d3352c52b70e1f4b0767352dee83c
+++ packages/espeak/espeak-data_1.35.bb	7becc9c9407d3352c52b70e1f4b0767352dee83c
@@ -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() {
+        :
+}
============================================================
--- packages/espeak/espeak.inc	a507092611114c379d686d2b8713c52898a66709
+++ packages/espeak/espeak.inc	a507092611114c379d686d2b8713c52898a66709
@@ -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"
============================================================
--- packages/espeak/espeak_1.35.bb	7e4fb524c1a706474b8e218dbcef60f0d2db406d
+++ packages/espeak/espeak_1.35.bb	99110f31d07c43a9c50c4b73f3f9e537eb552319
@@ -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
 }
 






More information about the Openembedded-commits mailing list