diff options
author | Jonas Häggqvist <rasher@rasher.dk> | 2007-08-13 12:21:16 +0000 |
---|---|---|
committer | Jonas Häggqvist <rasher@rasher.dk> | 2007-08-13 12:21:16 +0000 |
commit | 58537b43e61b23053371d92e9521e104d0908bca (patch) | |
tree | 7cd0a7c5577dfb9a37cf8b0a85dc8a7803536cc5 /tools/configure | |
parent | 414ee9fcc5908b4887134f75fd656ae1966a5c65 (diff) | |
download | rockbox-58537b43e61b23053371d92e9521e104d0908bca.tar.gz rockbox-58537b43e61b23053371d92e9521e104d0908bca.zip |
Voice related changes:
- It's now possible to select multiple languages to build
- Added encoder and TTS engine configuration to configure (per-language)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14309 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools/configure')
-rwxr-xr-x | tools/configure | 123 |
1 files changed, 77 insertions, 46 deletions
diff --git a/tools/configure b/tools/configure index 3af6885ab0..041c7d3f8d 100755 --- a/tools/configure +++ b/tools/configure | |||
@@ -284,8 +284,25 @@ whichadvanced () { | |||
284 | echo "done" | 284 | echo "done" |
285 | 285 | ||
286 | if [ "yes" = "$voice" ]; then | 286 | if [ "yes" = "$voice" ]; then |
287 | voiceconfig | 287 | toolset="${toolset} voicefont wavtrim" |
288 | toolset="${toolset} voicefont wavtrim" | 288 | |
289 | # Ask about languages to build | ||
290 | echo "Select a number for the language to use (default is english)" | ||
291 | echo "You may enter a comma-separated list of languages to build" | ||
292 | |||
293 | picklang | ||
294 | voicelanguage=`whichlang` | ||
295 | |||
296 | if [ -z "$voicelanguage" ]; then | ||
297 | # pick a default | ||
298 | voicelanguage="english" | ||
299 | fi | ||
300 | echo "Voice language set to $voicelanguage" | ||
301 | |||
302 | # Configure encoder and TTS engine for each language | ||
303 | for thislang in `echo $voicelanguage | sed 's/,/ /g'`; do | ||
304 | voiceconfig "$thislang" | ||
305 | done | ||
289 | fi | 306 | fi |
290 | if [ "yes" = "$use_debug" ]; then | 307 | if [ "yes" = "$use_debug" ]; then |
291 | debug="-DDEBUG" | 308 | debug="-DDEBUG" |
@@ -304,8 +321,10 @@ whichadvanced () { | |||
304 | fi | 321 | fi |
305 | } | 322 | } |
306 | 323 | ||
324 | # Configure voice settings | ||
307 | voiceconfig () { | 325 | voiceconfig () { |
308 | echo "Building voice for $archos" | 326 | thislang=$1 |
327 | echo "Building $thislang voice for $archos. Select options" | ||
309 | echo "" | 328 | echo "" |
310 | 329 | ||
311 | if [ "`which flite`" != "" ]; then | 330 | if [ "`which flite`" != "" ]; then |
@@ -377,6 +396,13 @@ voiceconfig () { | |||
377 | esac | 396 | esac |
378 | echo "Using $TTS_ENGINE for TTS" | 397 | echo "Using $TTS_ENGINE for TTS" |
379 | 398 | ||
399 | # Allow the user to input manual commandline options | ||
400 | printf "Enter $TTS_ENGINE options (enter for defaults `echo $TTS_OPTS |sed 's/.*=//'`): " | ||
401 | USER_TTS_OPTS=`input` | ||
402 | if [ -n "$USER_TTS_OPTS" ]; then | ||
403 | TTS_OPTS="`echo $TTS_OPTS | sed 's/=.*//'`=\"$USER_TTS_OPTS\"" | ||
404 | fi | ||
405 | |||
380 | echo "" | 406 | echo "" |
381 | 407 | ||
382 | if [ "`which oggenc`" != "" ]; then | 408 | if [ "`which oggenc`" != "" ]; then |
@@ -402,37 +428,46 @@ voiceconfig () { | |||
402 | fi | 428 | fi |
403 | 429 | ||
404 | if [ "$LAME" = "" ]; then | 430 | if [ "$LAME" = "" ]; then |
405 | echo "You need to have Lame installed to build voice files" | 431 | echo "You currently need to have Lame installed to build voice files" |
406 | fi | 432 | fi |
407 | 433 | ||
408 | # echo "Encoder to use: ${LAME}${OGGENC}${SPEEXENC}(${DEFAULT_CHOICE})?" | 434 | # echo "Encoder to use: ${LAME}${OGGENC}${SPEEXENC}(${DEFAULT_CHOICE})?" |
409 | # echo "" | 435 | # echo "" |
410 | # echo "Note: Use Lame - the other options won't work" | 436 | # echo "Note: Use Lame - the other options won't work" |
411 | # option=`input` | 437 | # option=`input` |
412 | # case "$option" in | 438 | option="l" |
413 | # [Oo]) | 439 | case "$option" in |
414 | # ENCODER="oggenc" | 440 | [Oo]) |
415 | # ENC_OPTS=$VORBIS_OPTS | 441 | ENCODER="oggenc" |
416 | # ;; | 442 | ENC_OPTS=$VORBIS_OPTS |
417 | # [Ss]) | 443 | ;; |
418 | # ENCODER="speexenc" | 444 | [Ss]) |
419 | # ENC_OPTS=$SPEEX_OPTS | 445 | ENCODER="speexenc" |
420 | # ;; | 446 | ENC_OPTS=$SPEEX_OPTS |
421 | # [Ll]) | 447 | ;; |
448 | [Ll]) | ||
422 | ENCODER="lame" | 449 | ENCODER="lame" |
423 | ENC_OPTS=$LAME_OPTS | 450 | ENC_OPTS=$LAME_OPTS |
424 | # ;; | 451 | ;; |
425 | # *) | 452 | *) |
426 | # ENCODER=$DEFAULT_ENC | 453 | ENCODER=$DEFAULT_ENC |
427 | # ENC_OPTS=$DEFAULT_ENC_OPTS | 454 | ENC_OPTS=$DEFAULT_ENC_OPTS |
428 | # esac | 455 | esac |
429 | echo "Using $ENCODER for encoding voice clips" | 456 | echo "Using $ENCODER for encoding voice clips" |
457 | |||
458 | # Allow the user to input manual commandline options | ||
459 | printf "Enter $ENCODER options (enter for defaults `echo $ENC_OPTS |sed 's/.*=//'`): " | ||
460 | USER_ENC_OPTS=`input` | ||
461 | if [ -n "$USER_ENC_OPTS" ]; then | ||
462 | ENC_OPTS="`echo $ENC_OPTS | sed 's/=.*//'`=\"$USER_ENC_OPTS\"" | ||
463 | fi | ||
464 | |||
430 | TEMPDIR="${pwd}" | 465 | TEMPDIR="${pwd}" |
431 | if [ "`which cygpath`" != "" ]; then | 466 | if [ "`which cygpath`" != "" ]; then |
432 | TEMPDIR=`cygpath . -a -w` | 467 | TEMPDIR=`cygpath . -a -w` |
433 | fi | 468 | fi |
434 | 469 | ||
435 | cat > voicesettings.sh <<EOF | 470 | cat > voicesettings-$thislang.sh <<EOF |
436 | TTS_ENGINE="${TTS_ENGINE}" | 471 | TTS_ENGINE="${TTS_ENGINE}" |
437 | ENCODER="${ENCODER}" | 472 | ENCODER="${ENCODER}" |
438 | TEMPDIR="$TEMPDIR" | 473 | TEMPDIR="$TEMPDIR" |
@@ -456,18 +491,26 @@ picklang() { | |||
456 | done | 491 | done |
457 | 492 | ||
458 | read pick | 493 | read pick |
459 | return $pick; | ||
460 | } | 494 | } |
461 | 495 | ||
462 | whichlang() { | 496 | whichlang() { |
463 | num=1 | 497 | output="" |
464 | for one in $langs; do | 498 | # Allow the user to pass a comma-separated list of langauges |
465 | if [ "$num" = "$pick" ]; then | 499 | for thispick in `echo $pick | sed 's/,/ /g'`; do |
466 | echo $one | 500 | num=1 |
467 | return | 501 | for one in $langs; do |
468 | fi | 502 | # Accept both the language number and name |
469 | num=`expr $num + 1` | 503 | if [ "$num" = "$thispick" ] || [ "$thispick" = "$one" ]; then |
504 | if [ "$output" = "" ]; then | ||
505 | output=$one | ||
506 | else | ||
507 | output=$output,$one | ||
508 | fi | ||
509 | fi | ||
510 | num=`expr $num + 1` | ||
511 | done | ||
470 | done | 512 | done |
513 | echo $output | ||
471 | } | 514 | } |
472 | 515 | ||
473 | opt=$1 | 516 | opt=$1 |
@@ -1429,20 +1472,6 @@ echo "Using source code root directory: $rootdir" | |||
1429 | # this was once possible to change at build-time, but no more: | 1472 | # this was once possible to change at build-time, but no more: |
1430 | language="english" | 1473 | language="english" |
1431 | 1474 | ||
1432 | # Ask about language if building voice | ||
1433 | if [ "yes" = "$voice" ]; then | ||
1434 | echo "Select a number for the language to use (default is english)" | ||
1435 | |||
1436 | picklang | ||
1437 | voicelanguage=`whichlang` | ||
1438 | |||
1439 | if [ -z "$voicelanguage" ]; then | ||
1440 | # pick a default | ||
1441 | voicelanguage="english" | ||
1442 | fi | ||
1443 | echo "Voice language set to $voicelanguage" | ||
1444 | fi | ||
1445 | |||
1446 | uname=`uname` | 1475 | uname=`uname` |
1447 | 1476 | ||
1448 | if [ "yes" = "$simulator" ]; then | 1477 | if [ "yes" = "$simulator" ]; then |
@@ -1593,7 +1622,7 @@ sed > Makefile \ | |||
1593 | -e "s,@MANUFACTURER@,${t_manufacturer},g" \ | 1622 | -e "s,@MANUFACTURER@,${t_manufacturer},g" \ |
1594 | -e "s,@ARCHOS@,${archos},g" \ | 1623 | -e "s,@ARCHOS@,${archos},g" \ |
1595 | -e "s,@LANGUAGE@,${language},g" \ | 1624 | -e "s,@LANGUAGE@,${language},g" \ |
1596 | -e "s,@VOICELANGUAGE@,${voicelanguage},g" \ | 1625 | -e "s:@VOICELANGUAGE@:${voicelanguage}:g" \ |
1597 | -e "s,@PWD@,${pwd},g" \ | 1626 | -e "s,@PWD@,${pwd},g" \ |
1598 | -e "s,@CC@,${CC},g" \ | 1627 | -e "s,@CC@,${CC},g" \ |
1599 | -e "s,@LD@,${LD},g" \ | 1628 | -e "s,@LD@,${LD},g" \ |
@@ -1794,6 +1823,9 @@ manual-ztxt: | |||
1794 | manual-zip: | 1823 | manual-zip: |
1795 | \$(SILENT)\$(MAKE) -C \$(MANUALDIR) OBJDIR=\$(BUILDDIR)/manual manual-zip | 1824 | \$(SILENT)\$(MAKE) -C \$(MANUALDIR) OBJDIR=\$(BUILDDIR)/manual manual-zip |
1796 | 1825 | ||
1826 | features: | ||
1827 | \$(SILENT)\$(MAKE) -C \$(APPSDIR) OBJDIR=\$(BUILDDIR)/@APPS@ features | ||
1828 | |||
1797 | help: | 1829 | help: |
1798 | @echo "A few helpful make targets" | 1830 | @echo "A few helpful make targets" |
1799 | @echo "" | 1831 | @echo "" |
@@ -1832,10 +1864,9 @@ if [ "yes" = "$voice" ]; then | |||
1832 | 1864 | ||
1833 | cat >> Makefile <<EOF | 1865 | cat >> Makefile <<EOF |
1834 | 1866 | ||
1835 | voice: tools | 1867 | voice: tools features |
1836 | \$(SILENT)\$(MAKE) -C \$(APPSDIR) OBJDIR=\$(BUILDDIR)/@APPS@ features | ||
1837 | \$(SILENT)for f in \`cat \$(BUILDDIR)/@APPS@/features\`; do feat="\$\$feat:\$\$f" ; done ; \\ | 1868 | \$(SILENT)for f in \`cat \$(BUILDDIR)/@APPS@/features\`; do feat="\$\$feat:\$\$f" ; done ; \\ |
1838 | \$(TOOLSDIR)/genvoice.sh \$(ROOTDIR) \$(VOICELANGUAGE) \$(ARCHOS)\$\$feat \$(TARGET_ID) voicesettings.sh | 1869 | for lang in \`echo \$(VOICELANGUAGE) |sed "s/,/ /g"\`; do \$(TOOLSDIR)/genvoice.sh \$(ROOTDIR) \$\$lang \$(ARCHOS)\$\$feat \$(TARGET_ID) voicesettings-\$\$lang.sh ; done \\ |
1839 | EOF | 1870 | EOF |
1840 | 1871 | ||
1841 | fi | 1872 | fi |