Ticket #8735: configure-engines2.patch

File configure-engines2.patch, 13.0 KB (added by jvprat, 16 years ago)
  • configure

     
    4646_fluidsynth=auto
    4747_mt32emu=yes
    4848# default option behaviour yes/no
    49 _build_scumm=yes
    50 _build_scumm_7_8=yes
    51 _build_he=yes
    52 _build_agi=yes
    53 _build_agos=yes
    54 _build_cine=yes
    55 _build_cruise=no
    56 _build_drascula=no
    57 _build_gob=yes
    58 _build_igor=no
    59 _build_kyra=yes
    60 _build_lure=yes
    61 _build_parallaction=yes
    62 _build_queen=yes
    63 _build_saga=yes
    64 _build_sky=yes
    65 _build_sword1=yes
    66 _build_sword2=yes
    67 _build_touche=yes
    6849_build_hq_scalers=yes
    6950_build_scalers=yes
    7051
     52_engines='
     53scumm
     54scumm_7_8
     55he
     56agi
     57agos
     58cine
     59cruise
     60drascula
     61gob
     62igor
     63kyra
     64lure
     65parallaction
     66queen
     67saga
     68sky
     69sword1
     70sword2
     71touche
     72'
     73_engine_scumm_name="SCUMM"
     74_engine_scumm_build=yes
     75_engine_scumm_check=check_scumm_build
     76_engine_scumm_7_8_name="v7 and v8 games (ft, dig, comi and demos) in SCUMM"
     77_engine_scumm_7_8_build=yes
     78_engine_scumm_7_8_sub=yes
     79_engine_he_name="HE70+ games in SCUMM"
     80_engine_he_build=yes
     81_engine_he_sub=yes
     82_engine_agi_name="AGI"
     83_engine_agi_build=yes
     84_engine_agos_name="AGOS"
     85_engine_agos_build=yes
     86_engine_cine_name="Cinematique evo 1"
     87_engine_cine_build=yes
     88_engine_cruise_name="Cinematique evo 2"
     89_engine_cruise_build=no
     90_engine_drascula_name="Drascula: The Vampire Strikes Back"
     91_engine_drascula_build=no
     92_engine_gob_name="Gobli*ns"
     93_engine_gob_build=yes
     94_engine_igor_name="Igor: Objective Uikokahonia"
     95_engine_igor_build=no
     96_engine_kyra_name="Legend of Kyrandia"
     97_engine_kyra_build=yes
     98_engine_lure_name="Lure of the Temptress"
     99_engine_lure_build=yes
     100_engine_parallaction_name="Parallaction"
     101_engine_parallaction_build=yes
     102_engine_queen_name="Flight of the Amazon Queen"
     103_engine_queen_build=yes
     104_engine_saga_name="SAGA"
     105_engine_saga_build=yes
     106_engine_sky_name="Beneath a Steel Sky"
     107_engine_sky_build=yes
     108_engine_sword1_name="Broken Sword 1"
     109_engine_sword1_build=yes
     110_engine_sword1_check=check_sword_build
     111_engine_sword2_name="Broken Sword 2"
     112_engine_sword2_build=yes
     113_engine_sword2_check=check_sword_build
     114_engine_touche_name="Touche: The Adventures of the Fifth Musketeer"
     115_engine_touche_build=yes
     116
    71117_endian=unknown
    72118_need_memalign=no
    73119_have_x86=no
     
    303349        fi
    304350}
    305351
     352# Get the name of the engine
     353get_engine_name() {
     354        eval echo \$_engine_$1_name
     355}
     356
     357# Will this engine be built?
     358get_engine_build() {
     359        eval echo \$_engine_$1_build
     360}
     361
     362# Ask if this is a subengine
     363get_engine_sub() {
     364        sub=`eval echo \\$_engine_$1_sub`
     365        if test "$sub" = "" ; then
     366                sub=no
     367        fi
     368        echo $sub
     369}
     370
     371# Enable the given engine
     372engine_enable() {
     373        engine=`echo $1 | sed 's/-/_/g'`
     374        if test "`get_engine_build ${engine}`" = "no" ; then
     375                eval _engine_${engine}_build=yes
     376        else
     377                option_error --enable-$1
     378        fi
     379}
     380
     381# Disable the given engine
     382engine_disable() {
     383        engine=`echo $1 | sed 's/-/_/g'`
     384        if test "`get_engine_build $engine`" = "yes" ; then
     385                eval _engine_${engine}_build=no
     386        else
     387                option_error --disable-$1
     388        fi
     389}
     390
     391# Show the configure help line for a given engine
     392show_engine_help() {
     393        if test `get_engine_build $1` = yes ; then
     394                option="disable"
     395                do="don't "
     396        else
     397                option="enable"
     398                do=""
     399        fi
     400        option=`echo "--${option}-$(echo $1 | sed 's/_/-/g')                       " | head -c 23`
     401        name=`get_engine_name $1`
     402        echo "  ${option}  ${do}build the ${name} engine"
     403}
     404
     405check_engine_build() {
     406        check=`eval echo \\$_engine_$1_check`
     407        if test "$check" = "" ; then
     408                name=`get_engine_name $1`
     409                if test `get_engine_build $1` = yes ; then
     410                        _engines_built="${_engines_built}#$name@"
     411                else
     412                        _engines_skipped="${_engines_skipped}#$name@"
     413                fi
     414        else
     415                $check $1
     416        fi
     417}
     418
     419check_sword_build() {
     420        name=`get_engine_name $1`
     421        if test `get_engine_build $1` = yes ; then
     422                _engines_built="${_engines_built}#$name"
     423                if test "$_mpeg2" = yes ; then
     424                        _engines_built="${_engines_built} (w/ mpeg2 cutscenes)"
     425                else
     426                        _engines_built="${_engines_built} (without mpeg2 cutscenes)"
     427                fi
     428                _engines_built="${_engines_built}@"
     429        else
     430                _engines_skipped="${_engines_skipped}#$name@"
     431        fi
     432}
     433
     434check_scumm_build() {
     435        name=`get_engine_name $1`
     436
     437        if test `get_engine_build $1` = yes ; then
     438                _engines_built="${_engines_built}#$name [v0-v6 games]"
     439
     440                if test "$_engine_scumm_7_8_build" = yes ; then
     441                        _engines_built="${_engines_built} [v7 & v8 games]"
     442                else
     443                        skip=" [v7 & v8 games]"
     444                fi
     445                if test "$_engine_he_build" = yes ; then
     446                        _engines_built="${_engines_built} [HE70+ games]"
     447                else
     448                        skip="$skip [HE70+ games]"
     449                fi
     450
     451                if test "$skip" = "" ; then
     452                        true
     453                else
     454                        _engines_skipped="$_engines_skipped#$name$skip@"
     455                fi
     456
     457                _engines_built="${_engines_built}@"
     458        else
     459                _engines_skipped="${_engines_skipped}#$name [all games]@"
     460        fi
     461}
     462
    306463#
    307464# Greet user
    308465#
     
    321478
    322479for parm in "$@" ; do
    323480  if test "$parm" = "--help" || test "$parm" = "-help" || test "$parm" = "-h" ; then
     481    for engine in $_engines; do
     482      engines_help="$engines_help`show_engine_help $engine`
     483"
     484    done
    324485    cat << EOF
    325486
    326487Usage: $0 [OPTIONS]...
     
    342503Optional Features:
    343504  --disable-debug          disable building with debugging symbols
    344505  --enable-Werror          treat warnings as errors
    345   --disable-scumm          don't build the SCUMM engine
    346   --disable-scumm-7-8      exclude v7 and v8 game in SCUMM engine (ft, dig, comi and demos)
    347   --disable-he             exclude HE70+ games in SCUMM engine
    348   --disable-agi            don't build the AGI engine
    349   --disable-agos           don't build the AGOS engine
    350   --disable-cine           don't build the Cinematique engine evo 1
    351   --enable-cruise          build the Cruise for a Corpse engine
    352   --enable-drascula        build the Drascula: The Vampire Strikes Back engine
    353   --disable-gob            don't build the Gobli*ns engine
    354   --enable-igor            build the Igor: Objective Uikokahonia engine
    355   --disable-kyra           don't build the Legend of Kyrandia engine
    356   --disable-lure           don't build the Lure of the Temptress engine
    357   --disable-parallaction   don't build the Parallaction engine
    358   --disable-queen          don't build the Flight of the Amazon Queen engine
    359   --disable-saga           don't build the SAGA engine
    360   --disable-sky            don't build the Beneath a Steel Sky engine
    361   --disable-sword1         don't build the Broken Sword 1 engine
    362   --disable-sword2         don't build the Broken Sword 2 engine
    363   --disable-touche         don't build the Touche: The Adventures of the Fifth Musketeer engine
    364 
     506$engines_help
    365507  --enable-plugins         build engines as loadable modules instead of
    366508                           static linking them
    367509  --disable-mt32emu        don't enable the integrated MT-32 emulator
     
    414556
    415557DEBFLAGS="-g"
    416558
     559option_error() {
     560    echo "error: unrecognised option: $ac_option
     561Try \`$0 --help' for more information." >&2
     562    exit 1
     563}
     564
    417565for ac_option in $@; do
    418566    case "$ac_option" in
    419       --disable-scumm)          _build_scumm=no ;;
    420       --disable-scumm-7-8)      _build_scumm_7_8=no ;;
    421       --disable-he)             _build_he=no ;;
    422       --disable-agi)            _build_agi=no ;;
    423       --disable-agos)           _build_agos=no ;;
    424       --disable-cine)           _build_cine=no ;;
    425       --enable-cruise)          _build_cruise=yes ;;
    426       --enable-drascula)        _build_drascula=yes ;;
    427       --disable-gob)            _build_gob=no ;;
    428       --enable-igor)            _build_igor=yes ;;
    429       --disable-kyra)           _build_kyra=no ;;
    430       --disable-lure)           _build_lure=no ;;
    431       --disable-parallaction)   _build_parallaction=no ;;
    432       --disable-queen)          _build_queen=no ;;
    433       --disable-saga)           _build_saga=no ;;
    434       --disable-sky)            _build_sky=no ;;
    435       --disable-sword1)         _build_sword1=no ;;
    436       --disable-sword2)         _build_sword2=no ;;
    437       --disable-touche)         _build_touche=no ;;
    438567      --disable-hq-scalers)     _build_hq_scalers=no ;;
    439568      --disable-scalers)        _build_scalers=no ;;
    440569      --enable-alsa)            _alsa=yes       ;;
     
    539668      --datadir=*)
    540669        _datadir=`echo $ac_option | cut -d '=' -f 2`
    541670        ;;
     671      --enable-*)
     672        engine_enable `echo $ac_option | cut -d '-' -f 4-`
     673        ;;
     674      --disable-*)
     675        engine_disable `echo $ac_option | cut -d '-' -f 4-`
     676        ;;
    542677      *)
    543         echo "error: unrecognised option: $ac_option
    544 Try \`$0 --help' for more information." >&2
    545         exit 1
     678        option_error $ac_option
    546679        ;;
    547680    esac;
    548681done;
     
    714847#
    715848# Engine selection
    716849#
    717 add_to_config_mk_if_no $_build_scumm        'DISABLE_SCUMM = 1'
    718 add_to_config_mk_if_no $_build_scumm_7_8    'DISABLE_SCUMM_7_8 = 1'
    719 add_to_config_mk_if_no $_build_he           'DISABLE_HE = 1'
    720 add_to_config_mk_if_no $_build_agi          'DISABLE_AGI = 1'
    721 add_to_config_mk_if_no $_build_agos         'DISABLE_AGOS = 1'
    722 add_to_config_mk_if_no $_build_cine         'DISABLE_CINE = 1'
    723 add_to_config_mk_if_no $_build_cruise       'DISABLE_CRUISE = 1'
    724 add_to_config_mk_if_no $_build_drascula     'DISABLE_DRASCULA = 1'
    725 add_to_config_mk_if_no $_build_gob          'DISABLE_GOB = 1'
    726 add_to_config_mk_if_no $_build_igor         'DISABLE_IGOR = 1'
    727 add_to_config_mk_if_no $_build_kyra         'DISABLE_KYRA = 1'
    728 add_to_config_mk_if_no $_build_lure         'DISABLE_LURE = 1'
    729 add_to_config_mk_if_no $_build_parallaction 'DISABLE_PARALLACTION = 1'
    730 add_to_config_mk_if_no $_build_queen        'DISABLE_QUEEN = 1'
    731 add_to_config_mk_if_no $_build_saga         'DISABLE_SAGA = 1'
    732 add_to_config_mk_if_no $_build_sky          'DISABLE_SKY = 1'
    733 add_to_config_mk_if_no $_build_sword1       'DISABLE_SWORD1 = 1'
    734 add_to_config_mk_if_no $_build_sword2       'DISABLE_SWORD2 = 1'
    735 add_to_config_mk_if_no $_build_touche       'DISABLE_TOUCHE = 1'
     850for engine in $_engines; do
     851        add_to_config_mk_if_no `get_engine_build $engine` "DISABLE_$(echo $engine | tr [a-z] [A-Z]) = 1"
     852done
    736853add_to_config_mk_if_no $_build_hq_scalers   'DISABLE_HQ_SCALERS = 1'
    737854add_to_config_mk_if_no $_build_scalers      'DISABLE_SCALERS = 1'
    738855
     
    13241441
    13251442
    13261443#
    1327 # Check which engines ("frontends") are to be built
     1444# Show which engines ("frontends") are to be built
    13281445#
    13291446
     1447_engines_built=""
     1448_engines_skipped=""
     1449
     1450for engine in $_engines; do
     1451        if test "`get_engine_sub $engine`" = "no" ; then
     1452                check_engine_build $engine
     1453        fi
     1454done
     1455
    13301456echo
    1331 echo "Engines:"
    1332 echo_n "    SCUMM engine..."
    1333 if test "$_build_scumm" = yes ; then
    1334         echo_n " [v0-v6 games]"
    1335         if test "$_build_scumm_7_8" = yes ; then
    1336                 echo_n " [v7 & v8 games]"
    1337         fi
    1338         if test "$_build_he" = yes ; then
    1339                 echo_n " [HE70+ games]"
    1340         fi
    1341         echo
     1457if test "$_engines_built" = "" ; then
     1458        true
    13421459else
    1343         echo "disable"
     1460        echo "Engines:"
     1461        echo $_engines_built | sed 's/@/\
     1462/g
     1463s/#/    /g'
    13441464fi
    13451465
    1346 echo_n "    AGI engine..."
    1347 if test "$_build_agi" = yes ; then
    1348         echo "enable"
     1466if test "$_engines_skipped" = "" ; then
     1467        true
    13491468else
    1350         echo "disable"
     1469        echo "Engines Skipped:"
     1470        echo $_engines_skipped | sed 's/@/\
     1471/g
     1472s/#/    /g'
    13511473fi
    1352 echo_n "    AGOS engine..."
    1353 if test "$_build_agos" = yes ; then
    1354         echo "enable"
    1355 else
    1356         echo "disable"
    1357 fi
    1358 echo_n "    Cinematique evo 1 engine..."
    1359 if test "$_build_cine" = yes ; then
    1360         echo "enable"
    1361 else
    1362         echo "disable"
    1363 fi
    1364 echo_n "    Cinematique evo 2 engine..."
    1365 if test "$_build_cruise" = yes ; then
    1366         echo "enable"
    1367 else
    1368         echo "disable"
    1369 fi
    1370 echo_n "    Drascula engine..."
    1371 if test "$_build_drascula" = yes ; then
    1372         echo "enable"
    1373 else
    1374         echo "disable"
    1375 fi
    1376 echo_n "    Gobli*ns engine..."
    1377 if test "$_build_gob" = yes ; then
    1378         echo "enable"
    1379 else
    1380         echo "disable"
    1381 fi
    1382 echo_n "    Igor: Objective Uikokahonia engine..."
    1383 if test "$_build_igor" = yes ; then
    1384         echo "enable"
    1385 else
    1386         echo "disable"
    1387 fi
    1388 echo_n "    Legend of Kyrandia engine..."
    1389 if test "$_build_kyra" = yes ; then
    1390         echo "enable"
    1391 else
    1392         echo "disable"
    1393 fi
    1394 echo_n "    Lure of the Temptress engine..."
    1395 if test "$_build_lure" = yes ; then
    1396         echo "enable"
    1397 else
    1398         echo "disable"
    1399 fi
    1400 echo_n "    Parallaction engine..."
    1401 if test "$_build_parallaction" = yes ; then
    1402         echo "enable"
    1403 else
    1404         echo "disable"
    1405 fi
    1406 echo_n "    Flight of the Amazon Queen engine..."
    1407 if test "$_build_queen" = yes ; then
    1408         echo "enable"
    1409 else
    1410         echo "disable"
    1411 fi
    1412 echo_n "    SAGA engine..."
    1413 if test "$_build_saga" = yes ; then
    1414         echo "enable"
    1415 else
    1416         echo "disable"
    1417 fi
    1418 echo_n "    Beneath a Steel Sky engine..."
    1419 if test "$_build_sky" = yes ; then
    1420         echo "enable"
    1421 else
    1422         echo "disable"
    1423 fi
    1424 echo_n "    Broken Sword 1 engine..."
    1425 if test "$_build_sword1" = yes ; then
    1426         if test "$_mpeg2" = yes ; then
    1427                 echo " (w/ mpeg2 cutscenes)"
    1428         else
    1429                 echo " (without mpeg2 cutscenes)"
    1430         fi
    1431 else
    1432         echo "disable"
    1433 fi
    1434 echo_n "    Broken Sword 2 engine..."
    1435 if test "$_build_sword2" = yes ; then
    1436         if test "$_mpeg2" = yes ; then
    1437                 echo " (w/ mpeg2 cutscenes)"
    1438         else
    1439                 echo " (without mpeg2 cutscenes)"
    1440         fi
    1441 else
    1442         echo "disable"
    1443 fi
    1444 echo_n "    Touche: The Adventures of the Fifth Musketeer engine..."
    1445 if test "$_build_touche" = yes ; then
    1446         echo "enable"
    1447 else
    1448         echo "disable"
    1449 fi
    14501474
    1451 echo
    1452 
    14531475echo_n "Backend... "
    14541476echo_n "$_backend"
    14551477