X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=configure;h=8c40b7dcecddb5f8c1386ae4493ba38822238293;hp=7cfd626af13abe393dae2b453043926296d2895b;hb=61bc6d40b4f6f846a0ae1b73ceecdca893c14df4;hpb=ac6575cdd93d665efc374c1a14b391c6a5308972 diff --git a/configure b/configure index 7cfd626a..8c40b7dc 100755 --- a/configure +++ b/configure @@ -24,10 +24,14 @@ check_define() # setting options to "yes" or "no" will make that choice default, # "" means "autodetect". -platform_list="generic pandora maemo caanoo" +platform_list="generic pandora maemo caanoo libretro" platform="generic" -sound_driver_list="oss alsa none" +builtin_gpu_list="peops unai neon" +builtin_gpu="" +sound_driver_list="oss alsa libretro none" sound_driver="alsa" +plugins="plugins/spunull/spunull.so \ +plugins/dfxvideo/gpu_peops.so plugins/gpu_unai/gpu_unai.so" ram_fixed="no" drc_cache_base="no" have_armv6="" @@ -72,6 +76,9 @@ set_platform() drc_cache_base="yes" optimize_arm926ej="yes" ;; + libretro) + sound_driver="libretro" + ;; *) echo "unsupported platform: $platform" exit 1 @@ -86,6 +93,8 @@ for opt do ;; --platform=*) set_platform "$optarg" ;; + --gpu=*) builtin_gpu="$optarg" + ;; --sound-driver=*) sound_driver="$optarg" ;; --enable-neon) have_arm_neon="yes" @@ -104,6 +113,8 @@ if [ "$show_help" = "yes" ]; then echo " --help print this message" echo " --platform=NAME target platform [$platform]" echo " available: $platform_list" + echo " --gpu=NAME builtin gpu plugin [guessed]" + echo " available: $builtin_gpu_list" echo " --sound-driver=NAME sound output driver [$sound_driver]" echo " available: $sound_driver_list" echo " --enable-neon" @@ -115,8 +126,19 @@ if [ "$show_help" = "yes" ]; then exit 1 fi +if [ "x$builtin_gpu" != "x" ]; then + case "$builtin_gpu" in + peops|unai|neon) + ;; + *) + echo "unsupported builtin gpu plugin: $builtin_gpu" + exit 1 + ;; + esac +fi + case "$sound_driver" in -oss|alsa|none) +oss|alsa|libretro|none) ;; *) echo "unsupported sound driver: $sound_driver" @@ -155,6 +177,17 @@ if [ "$ARCH" = "arm" ]; then fi fi + if [ "x$builtin_gpu" = "x" ]; then + if [ "$have_arm_neon" = "yes" ]; then + builtin_gpu="neon" + elif [ "$have_armv7" != "yes" ]; then + # pre-ARMv7 hardware is usually not fast enough for peops + builtin_gpu="unai" + else + builtin_gpu="peops" + fi + fi + # set mfpu and mfloat-abi if they are not set if [ "$have_arm_neon" = "yes" ]; then echo "$CFLAGS" | grep -q -- '-mfpu=' || CFLAGS="$CFLAGS -mfpu=neon" @@ -168,6 +201,11 @@ if [ "$ARCH" = "arm" ]; then echo "$ASFLAGS" | grep -q -- '-mfloat-abi=' || ASFLAGS="$ASFLAGS -mfloat-abi=softfp" fi + # must disable -mthumb as recompiler can't handle it + if check_define __thumb__; then + CFLAGS="$CFLAGS -mno-thumb" + fi + if [ "$have_armv7" = "yes" ]; then ASFLAGS="$ASFLAGS --defsym HAVE_ARMV7=1" else @@ -178,6 +216,10 @@ else enable_dynarec="no" fi +if [ "x$builtin_gpu" = "x" ]; then + builtin_gpu="peops" +fi + if [ "$ARCH" = "x86_64" ]; then # currently we are full of 32bit assumptions, # at least savestate compatibility will break without these @@ -194,17 +236,24 @@ if [ "$ram_fixed" = "yes" ]; then CFLAGS="$CFLAGS -DRAM_FIXED" fi -if [ "$platform" = "generic" ]; then +case "$platform" in +generic) generic_cflags=`sdl-config --cflags` generic_ldlibs=`sdl-config --libs` CFLAGS="$CFLAGS $generic_cflags" LDFLAGS="$LDFLAGS $generic_ldlibs" -elif [ "$platform" = "maemo" ]; then + ;; +maemo) maemo_cflags=`pkg-config --cflags hildon-1` maemo_ldlibs=`pkg-config --libs hildon-1` CFLAGS="$CFLAGS -DMAEMO -DMAEMO_CHANGES $maemo_cflags" LDFLAGS="$LDFLAGS $maemo_ldlibs" -fi + ;; +libretro) + CFLAGS="$CFLAGS -fPIC" + LDFLAGS="$LDFLAGS -shared" + ;; +esac # check for tslib (only headers needed) if [ "x$have_tslib" = "x" ]; then @@ -219,6 +268,29 @@ EOF fi fi +# check for GLES headers +cat > $TMPC < +#include +#include +void *test(void) { + return eglGetDisplay( (EGLNativeDisplayType)0 ); +} +EOF +if compile_object; then + plugins="$plugins plugins/gpu-gles/gpu_gles.so" +fi + +if [ "$have_arm_neon" = "yes" -a "$builtin_gpu" != "neon" ]; then + plugins="$plugins plugins/gpu_neon/gpu_neon.so" +fi + +# short plugin list for display +for p in $plugins; do + p1=`basename $p` + plugins_short="$p1 $plugins_short" +done + # set things that failed to autodetect to "no" test "x$have_armv6" != "x" || have_armv6="no" test "x$have_armv7" != "x" || have_armv7="no" @@ -226,7 +298,9 @@ test "x$have_arm_neon" != "x" || have_arm_neon="no" echo "architecture $ARCH" echo "platform $platform" +echo "built-in GPU $builtin_gpu" echo "sound driver $sound_driver" +echo "plugins $plugins_short" echo "C compiler $CC" echo "C compiler flags $CFLAGS" echo "linker flags $LDFLAGS" @@ -250,19 +324,22 @@ echo "LDLIBS += $LDLIBS" >> $config_mak echo "PLUGIN_CFLAGS += $PLUGIN_CFLAGS" >> $config_mak echo >> $config_mak +if [ "$platform" = "libretro" ]; then + echo "TARGET = libretro.so" >> $config_mak +fi echo "ARCH = $ARCH" >> $config_mak echo "PLATFORM = $platform" >> $config_mak -case "$sound_driver" in -oss) - echo "USE_OSS = 1" >> $config_mak - ;; -alsa) - echo "USE_ALSA = 1" >> $config_mak - ;; -none) - echo "USE_NO_SOUND = 1" >> $config_mak - ;; -esac +echo "BUILTIN_GPU = $builtin_gpu" >> $config_mak +echo "SOUND_DRIVER = $sound_driver" >> $config_mak +if [ "$ARCH" = "arm" ]; then + echo "PLUGINS = $plugins" >> $config_mak +else + echo -n "PLUGINS =" >> $config_mak + for p in $plugins; do + echo -n " ${p}.${ARCH}" >> $config_mak + done + echo >> $config_mak +fi if [ "$have_armv6" = "yes" ]; then echo "HAVE_ARMV6 = 1" >> $config_mak fi @@ -282,4 +359,7 @@ if [ "$drc_cache_base" = "yes" ]; then echo "DRC_CACHE_BASE = 1" >> $config_mak fi +# use pandora's skin (for now) +test -e skin || ln -s frontend/pandora/skin skin + # vim:shiftwidth=2:expandtab