summaryrefslogtreecommitdiff
path: root/tools/configure
diff options
context:
space:
mode:
Diffstat (limited to 'tools/configure')
-rwxr-xr-xtools/configure172
1 files changed, 171 insertions, 1 deletions
diff --git a/tools/configure b/tools/configure
index e7562f824b..60dc49cbc8 100755
--- a/tools/configure
+++ b/tools/configure
@@ -366,6 +366,154 @@ if [ -z "$simver" ]; then
366fi 366fi
367} 367}
368 368
369voiceconfig () {
370 echo "Building voice for $archos"
371 echo ""
372
373 if [ `which flite` ]; then
374 FLITE="F(l)ite "
375 FLITE_OPTS="FLITE_OPTS=\"\""
376 DEFAULT_TTS="flite"
377 DEFAULT_TTS_OPTS=$FLITE_OPTS
378 DEFAULT_NOISEFLOOR="500"
379 DEFAULT_CHOICE="L"
380 fi
381 if [ `which speak` ]; then
382 ESPEAK="(e)Speak "
383 ESPEAK_OPTS="ESPEAK_OPTS=\"\""
384 DEFAULT_TTS="espeak"
385 DEFAULT_TTS_OPTS=$ESPEAK_OPTS
386 DEFAULT_NOISEFLOOR="500"
387 DEFAULT_CHOICE="e"
388 fi
389 if [ `which festival` ]; then
390 FESTIVAL="(F)estival "
391 FESTIVAL_OPTS="FLITE_OPTS=\"\""
392 DEFAULT_TTS="festival"
393 DEFAULT_TTS_OPTS=$FESTIVAL_OPTS
394 DEFAULT_NOISEFLOOR="500"
395 DEFAULT_CHOICE="F"
396 fi
397
398 if [ "$FESTIVAL" == "$FLITE" ] && [ "$FLITE" == "$ESPEAK" ]; then
399 echo "You need Festival, eSpeak or Flite in your path to build voice files"
400 exit
401 fi
402
403 echo "TTS engine to use: ${FLITE}${FESTIVAL}${ESPEAK}(${DEFAULT_CHOICE})?"
404 option=`input`
405 case "$option" in
406 [Ll])
407 TTS_ENGINE="flite"
408 NOISEFLOOR="500" # TODO: check this value
409 TTS_OPTS=$FLITE_OPTS
410 ;;
411 [Ee])
412 TTS_ENGINE="espeak"
413 NOISEFLOOR="500"
414 TTS_OPTS=$ESPEAK_OPTS
415 ;;
416 [Ff])
417 TTS_ENGINE="festival"
418 NOISEFLOOR="500"
419 TTS_OPTS=$FESTIVAL_OPTS
420 ;;
421 *)
422 TTS_ENGINE=$DEFAULT_TTS
423 TTS_OPTS=$DEFAULT_TTS_OPTS
424 NOISEFLOOR=$DEFAULT_NOISEFLOOR
425 esac
426 echo "Using $TTS_ENGINE for TTS"
427
428 echo ""
429
430 if [ `which oggenc` ]; then
431 OGGENC="(O)ggenc "
432 DEFAULT_ENC="oggenc"
433 VORBIS_OPTS="VORBIS_OPTS=\"-q0 --downmix\""
434 DEFAULT_ENC_OPTS=$VORBIS_OPTS
435 DEFAULT_CHOICE="O"
436 fi
437 if [ `which speexenc` ]; then
438 SPEEXENC="(S)peexenc "
439 DEFAULT_ENC="speexenc"
440 SPEEX_OPTS="" # TODO: find appropriate options for speex
441 DEFAULT_ENC_OPTS=$SPEEX_OPTS
442 DEFAULT_CHOICE="S"
443 fi
444 if [ `which lame` ]; then
445 LAME="(L)ame "
446 DEFAULT_ENC="lame"
447 LAME_OPTS="LAME_OPTS=\"--resample 12 -t -m m -h -V 9 -S\""
448 DEFAULT_ENC_OPTS=$LAME_OPTS
449 DEFAULT_CHOICE="L"
450 fi
451
452 if [ "$LAME" == "" ]; then
453 echo "You need to have Lame installed to build voice files"
454 fi
455
456 echo "Encoder to use: ${LAME}${OGGENC}${SPEEXENC}(${DEFAULT_CHOICE})?"
457 echo ""
458 echo "Note: Use Lame - the other options won't work"
459 option=`input`
460 case "$option" in
461 [Oo])
462 ENCODER="oggenc"
463 ENC_OPTS=$VORBIS_OPTS
464 ;;
465 [Ss])
466 ENCODER="speexenc"
467 ENC_OPTS=$SPEEX_OPTS
468 ;;
469 [Ll])
470 ENCODER="lame"
471 ENC_OPTS=$LAME_OPTS
472 ;;
473 *)
474 ENCODER=$DEFAULT_ENC
475 ENC_OPTS=$DEFAULT_ENC_OPTS
476 esac
477 echo "Using $ENCODER for encoding voice clips"
478
479 cat > voicesettings.sh <<EOF
480TTS_ENGINE="${TTS_ENGINE}"
481ENCODER="${ENCODER}"
482TEMPDIR="${pwd}"
483NOISEFLOOR="${NOISEFLOOR}"
484${TTS_OPTS}
485${ENC_OPTS}
486EOF
487}
488
489picklang() {
490 # figure out which languages that are around
491 for file in $rootdir/apps/lang/*.lang; do
492 clean=`echo $file | sed -e 's:.*/::g' | cut "-d." -f1`
493 langs="$langs $clean"
494 done
495
496 num=1
497 for one in $langs; do
498 echo "$num. $one"
499 num=`expr $num + 1`
500 done
501
502 read pick
503 return $pick;
504}
505
506whichlang() {
507 num=1
508 for one in $langs; do
509 if [ "$num" = "$pick" ]; then
510 echo $one
511 return
512 fi
513 num=`expr $num + 1`
514 done
515}
516
369target=$1 517target=$1
370 518
371if test "$target" = "--help"; then 519if test "$target" = "--help"; then
@@ -1144,7 +1292,7 @@ fi
1144 esac 1292 esac
1145 1293
1146 echo "" 1294 echo ""
1147 echo "Build (N)ormal, (D)evel, (S)imulator, (B)ootloader, $gdbstub(M)anual? (N)" 1295 echo "Build (N)ormal, (D)evel, (S)imulator, (B)ootloader, $gdbstub(M)anual, (V)oice? (N)"
1148 1296
1149 option=`input`; 1297 option=`input`;
1150 1298
@@ -1202,6 +1350,11 @@ fi
1202 apps="manual" 1350 apps="manual"
1203 echo "Manual build selected" 1351 echo "Manual build selected"
1204 ;; 1352 ;;
1353 [Vv])
1354 echo "Voice build selected"
1355 voiceconfig
1356 voice="yes"
1357 ;;
1205 *) 1358 *)
1206 debug="" 1359 debug=""
1207 echo "Normal build selected" 1360 echo "Normal build selected"
@@ -1238,6 +1391,20 @@ echo "Using source code root directory: $rootdir"
1238# this was once possible to change at build-time, but no more: 1391# this was once possible to change at build-time, but no more:
1239language="english" 1392language="english"
1240 1393
1394# Ask about language if building voice
1395if [ "yes" == "$voice" ]; then
1396 echo "Select a number for the language to use (default is english)"
1397
1398 picklang
1399 language=`whichlang`
1400
1401 if [ -z "$language" ]; then
1402 # pick a default
1403 language="english"
1404 fi
1405 echo "Language set to $language"
1406fi
1407
1241uname=`uname` 1408uname=`uname`
1242 1409
1243if [ "yes" = "$simulator" ]; then 1410if [ "yes" = "$simulator" ]; then
@@ -1516,6 +1683,9 @@ clean:
1516 @ARCHOSROM@ @FLASHFILE@ UI256.bmp rockbox-full.zip \ 1683 @ARCHOSROM@ @FLASHFILE@ UI256.bmp rockbox-full.zip \
1517 html txt rockbox-manual*.zip 1684 html txt rockbox-manual*.zip
1518 1685
1686voice: tools
1687 \$(TOOLSDIR)/genvoice.sh \$(ROOTDIR) \$(LANGUAGE) \$(ARCHOS) voicesettings.sh
1688
1519tools: 1689tools:
1520 \$(SILENT)\$(MAKE) -C \$(TOOLSDIR) CC=\$(HOSTCC) @TOOLSET@ 1690 \$(SILENT)\$(MAKE) -C \$(TOOLSDIR) CC=\$(HOSTCC) @TOOLSET@
1521 1691