X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=configure;h=20ff1d53d1607acf8e8b5f3269ede6b18e26cd13;hp=c02721f9d754ea2ec71207ebe40ebce3aa434b30;hb=afec9d44d1170fd6391528f4985211ffb00e8bea;hpb=5514a050f4e936f5c333fa1271b11bf5a6a9ea39 diff --git a/configure b/configure index c02721f9..20ff1d53 100755 --- a/configure +++ b/configure @@ -24,7 +24,13 @@ compile_binary() check_define() { - $CC -E -dD $CFLAGS include/arm_features.h | grep -q $1 || return 1 + $CC -E -dD $CFLAGS include/arm_features.h | grep -q "$1" || return 1 + return 0 +} + +check_define_val() +{ + $CC -E -dD $CFLAGS include/arm_features.h | grep "$1" | awk '{print $3}' return 0 } @@ -33,12 +39,12 @@ check_define() platform_list="generic pandora maemo caanoo libretro" platform="generic" -builtin_gpu_list="peops unai neon" +builtin_gpu_list="peops unai neon senquack" builtin_gpu="" sound_driver_list="oss alsa pulseaudio sdl libretro" sound_drivers="" plugins="plugins/spunull/spunull.so \ -plugins/dfxvideo/gpu_peops.so plugins/gpu_unai/gpu_unai.so" +plugins/dfxvideo/gpu_peops.so plugins/gpu_unai/gpu_unai.so plugins/gpu_senquack/gpu_senquack.so" ram_fixed="no" drc_cache_base="no" have_armv5="" @@ -53,6 +59,7 @@ need_sdl="no" need_xlib="no" need_libpicofe="yes" need_warm="no" +enable_icache_emu="yes" CFLAGS_GLES="" LDLIBS_GLES="" # these are for known platforms @@ -87,12 +94,14 @@ set_platform() optimize_cortexa8="yes" have_arm_neon="yes" need_xlib="yes" + enable_icache_emu="no" ;; maemo) ram_fixed="yes" drc_cache_base="yes" optimize_cortexa8="yes" have_arm_neon="yes" + enable_icache_emu="no" ;; caanoo) sound_drivers="oss" @@ -100,6 +109,7 @@ set_platform() drc_cache_base="yes" optimize_arm926ej="yes" need_warm="yes" + enable_icache_emu="no" ;; libretro) sound_drivers="libretro" @@ -128,6 +138,10 @@ for opt do ;; --disable-dynarec) enable_dynarec="no" ;; + --disable-icache-emu) enable_icache_emu="no" + ;; + --enable-icache-emu) enable_icache_emu="yes" + ;; *) echo "ERROR: unknown option $opt"; show_help="yes" ;; esac @@ -146,6 +160,7 @@ if [ "$show_help" = "yes" ]; then echo " --disable-neon enable/disable ARM NEON optimizations [guessed]" echo " --disable-dynarec disable dynamic recompiler" echo " (dynarec is only available and enabled on ARM)" + echo " --disable-icache-emu Disables the instruction cache emulation" echo "influential environment variables:" echo " CROSS_COMPILE CC CXX AS AR CFLAGS ASFLAGS LDFLAGS LDLIBS" exit 1 @@ -436,10 +451,14 @@ EOF fi # check for VideoCore stuff for Raspberry Pi -if [ -d /opt/vc/include -a -d /opt/vc/lib ]; then +if [ -d /opt/vc/include -a -d /opt/vc/lib -a "$VIDEOCORE" != "no" ]; then CFLAGS_GLES="$CFLAGS_GLES -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux" LDLIBS_GLES="$LDLIBS_GLES -L/opt/vc/lib" + if [ -f /opt/vc/lib/libbcm_host.so ]; then + LDLIBS_GLES="$LDLIBS_GLES -lbcm_host" + fi need_xlib="yes" + VIDEOCORE="yes" fi # check for GLES headers @@ -450,7 +469,10 @@ int main(void) { return (int)eglGetDisplay( (EGLNativeDisplayType)0 ); } EOF -if compile_binary $CFLAGS_GLES -lEGL -lGLES_CM $LDLIBS_GLES; then +if [ "$VIDEOCORE" = "yes" ] && compile_binary $CFLAGS_GLES -lbrcmEGL -lbrcmGLESv2 $LDLIBS_GLES; then + have_gles="yes" + LDLIBS_GLES="-lbrcmEGL -lbrcmGLESv2 $LDLIBS_GLES" +elif compile_binary $CFLAGS_GLES -lEGL -lGLES_CM $LDLIBS_GLES; then have_gles="yes" LDLIBS_GLES="-lEGL -lGLES_CM $LDLIBS_GLES" elif compile_binary $CFLAGS_GLES -lEGL -lGLESv1_CM $LDLIBS_GLES; then @@ -474,6 +496,15 @@ if [ "x$need_xlib" = "xyes" ]; then check_xlib_headers || fail "please install libx11-dev" fi +sizeof_long=`check_define_val __SIZEOF_LONG__` +if [ "x$sizeof_long" = "x4" ]; then + CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64" +fi + +if [ "$enable_icache_emu" = "yes" ]; then + CFLAGS="$CFLAGS -DICACHE_EMULATION" +fi + cat > $TMPC <