X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=configure;h=20ff1d53d1607acf8e8b5f3269ede6b18e26cd13;hp=8b5cbda54356054d93ac3374120bf7ece68912de;hb=afec9d44d1170fd6391528f4985211ffb00e8bea;hpb=955f9af0395a7fa2bba0d1c3a4e6ef5d3e111dae diff --git a/configure b/configure index 8b5cbda5..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="" @@ -47,11 +53,13 @@ have_armv7="" have_arm_neon="" have_tslib="" have_gles="" +have_c64x_dsp="" enable_dynarec="yes" 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 @@ -63,7 +71,7 @@ CC="${CC-${CROSS_COMPILE}gcc}" CXX="${CXX-${CROSS_COMPILE}g++}" AS="${AS-${CROSS_COMPILE}as}" AR="${AS-${CROSS_COMPILE}ar}" -MAIN_LDLIBS="$LDLIBS -ldl -lm" +MAIN_LDLIBS="$LDLIBS -ldl -lm -lpthread" config_mak="config.mak" fail() @@ -86,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" @@ -99,6 +109,7 @@ set_platform() drc_cache_base="yes" optimize_arm926ej="yes" need_warm="yes" + enable_icache_emu="no" ;; libretro) sound_drivers="libretro" @@ -127,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 @@ -145,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 @@ -295,10 +311,7 @@ generic) need_sdl="yes" ;; maemo) - maemo_cflags=`pkg-config --cflags hildon-1` - maemo_ldlibs=`pkg-config --libs hildon-1` - CFLAGS="$CFLAGS -DMAEMO -DMAEMO_CHANGES $maemo_cflags" - MAIN_LDLIBS="$MAIN_LDLIBS $maemo_ldlibs" + CFLAGS="$CFLAGS -DMAEMO -DMAEMO_CHANGES" ;; libretro) CFLAGS="$CFLAGS -fPIC" @@ -371,6 +384,16 @@ EOF compile_object "$@" } +# see if we have c64_tools for TI C64x DSP +check_c64_tools() +{ + cat > $TMPC < + int f() { return dsp_open(); } +EOF + compile_object "$@" +} + MAIN_LDLIBS="$MAIN_LDLIBS -lz" check_zlib || fail "please install zlib (libz-dev)" @@ -428,10 +451,14 @@ EOF fi # check for VideoCore stuff for Raspberry Pi -if [ -d /opt/vc/include -a -d /opt/vc/lib ]; then - CFLAGS_GLES="$CFLAGS_GLES -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads" +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 @@ -442,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 @@ -450,6 +480,10 @@ elif compile_binary $CFLAGS_GLES -lEGL -lGLESv1_CM $LDLIBS_GLES; then LDLIBS_GLES="-lEGL -lGLESv1_CM $LDLIBS_GLES" fi +if check_c64_tools; then + have_c64x_dsp="yes" +fi + if [ "$have_gles" = "yes" ]; then plugins="$plugins plugins/gpu-gles/gpu_gles.so" fi @@ -462,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 <> $config_mak fi +if [ "$have_c64x_dsp" = "yes" ]; then + echo "HAVE_C64_TOOLS = 1" >> $config_mak +fi # use pandora's skin (for now) test -e skin || ln -s frontend/pandora/skin skin