X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=configure;h=c3ff68fa2740017657f12db7706c41f545a9d93f;hp=c02721f9d754ea2ec71207ebe40ebce3aa434b30;hb=HEAD;hpb=5514a050f4e936f5c333fa1271b11bf5a6a9ea39 diff --git a/configure b/configure index c02721f9..ac7af0e2 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,18 +39,18 @@ check_define() platform_list="generic pandora maemo caanoo libretro" platform="generic" -builtin_gpu_list="peops unai neon" +builtin_gpu_list="neon peops unai unai_old" 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" -ram_fixed="no" +plugins/dfxvideo/gpu_peops.so plugins/gpu_unai_old/gpu_unai_old.so plugins/gpu_unai/gpu_unai.so" drc_cache_base="no" have_armv5="" have_armv6="" have_armv7="" have_arm_neon="" +have_arm_neon_asm="" have_tslib="" have_gles="" have_c64x_dsp="" @@ -60,16 +66,32 @@ optimize_cortexa8="no" optimize_arm926ej="no" # hardcoded stuff -CC="${CC-${CROSS_COMPILE}gcc}" -CXX="${CXX-${CROSS_COMPILE}g++}" +if [ "${OSTYPE}" = "FreeBSD" ]; then + CC="clang" + CXX="clang++" + CFLAGS="-I/usr/local/include -L/usr/local/lib" + MAKE=gmake +else + CC="${CC-${CROSS_COMPILE}gcc}" + CXX="${CXX-${CROSS_COMPILE}g++}" +fi AS="${AS-${CROSS_COMPILE}as}" AR="${AS-${CROSS_COMPILE}ar}" MAIN_LDLIBS="$LDLIBS -ldl -lm -lpthread" config_mak="config.mak" +if [ "${OSTYPE}" = "FreeBSD" ]; then + SYSROOT="$sysroot" + [ "x${SDL_CONFIG}" = "x" ] && SDL_CONFIG="${SYSROOT}/usr/local/bin/sdl-config" +else + SYSROOT="$(${CC} --print-sysroot)" + [ "x${SDL_CONFIG}" = "x" ] && SDL_CONFIG="${SYSROOT}/usr/bin/sdl-config" +fi + fail() { echo "$@" + if test -n "$DUMP_CONFIG_LOG"; then cat config.log; fi exit 1 } @@ -82,21 +104,18 @@ set_platform() ;; pandora) sound_drivers="oss alsa" - ram_fixed="yes" drc_cache_base="yes" optimize_cortexa8="yes" have_arm_neon="yes" need_xlib="yes" ;; maemo) - ram_fixed="yes" drc_cache_base="yes" optimize_cortexa8="yes" have_arm_neon="yes" ;; caanoo) sound_drivers="oss" - ram_fixed="yes" drc_cache_base="yes" optimize_arm926ej="yes" need_warm="yes" @@ -206,7 +225,7 @@ arm*) fi if [ "x$have_arm_neon" = "x" ]; then - # detect NEON from user-supplied cflags to enable asm code + # detect NEON from user-supplied cflags to enable neon code have_arm_neon=`check_define __ARM_NEON__ && echo yes` || true fi if [ "x$have_armv7" = "x" ]; then @@ -231,7 +250,7 @@ arm*) builtin_gpu="neon" elif [ "$have_armv7" != "yes" ]; then # pre-ARMv7 hardware is usually not fast enough for peops - builtin_gpu="unai" + builtin_gpu="unai_old" else builtin_gpu="peops" fi @@ -271,6 +290,20 @@ arm*) echo "You probably want to specify -mcpu= or -march= like this:" echo " CFLAGS=-march=armv7-a ./configure ..." fi + have_arm_neon_asm=$have_arm_neon + ;; +aarch64) + have_arm_neon="yes" + have_arm_neon_asm="no" + if [ "x$builtin_gpu" = "x" ]; then + builtin_gpu="neon" + fi + ;; +x86_64) + enable_dynarec="no" + if [ "x$builtin_gpu" = "x" ]; then + builtin_gpu="neon" + fi ;; *) # dynarec only available on ARM @@ -287,10 +320,6 @@ if [ "$ARCH" != "arm" -o "$have_armv6" = "yes" ]; then PLUGIN_CFLAGS="$PLUGIN_CFLAGS -fPIC" fi -if [ "$ram_fixed" = "yes" ]; then - CFLAGS="$CFLAGS -DRAM_FIXED" -fi - case "$platform" in generic) need_sdl="yes" @@ -396,7 +425,7 @@ if [ "x$sound_drivers" = "x" ]; then sound_drivers="$sound_drivers pulseaudio" MAIN_LDLIBS="-lpulse $MAIN_LDLIBS" fi - if [ "$need_sdl" = "yes" ] || check_sdl `sdl-config --cflags --libs`; then + if [ "$need_sdl" = "yes" ] || check_sdl `${SDL_CONFIG} --cflags --libs`; then sound_drivers="$sound_drivers sdl" need_sdl="yes" fi @@ -415,10 +444,10 @@ else fi if [ "$need_sdl" = "yes" ]; then - which sdl-config > /dev/null || \ + which ${SDL_CONFIG} > /dev/null || \ fail "sdl-config is missing; please install libsdl (libsdl1.2-dev)" - CFLAGS="$CFLAGS `sdl-config --cflags`" - MAIN_LDLIBS="`sdl-config --libs` $MAIN_LDLIBS" + CFLAGS="$CFLAGS `${SDL_CONFIG} --cflags`" + MAIN_LDLIBS="`${SDL_CONFIG} --libs` $MAIN_LDLIBS" check_sdl || fail "please install libsdl (libsdl1.2-dev)" fi @@ -436,10 +465,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 +483,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 +510,11 @@ 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 + cat > $TMPC <> $config_mak if [ "$have_arm_neon" = "yes" ]; then echo "HAVE_NEON = 1" >> $config_mak fi +if [ "$have_arm_neon_asm" = "yes" ]; then + echo "HAVE_NEON_ASM = 1" >> $config_mak +fi if [ "$have_tslib" = "yes" ]; then echo "HAVE_TSLIB = 1" >> $config_mak fi @@ -553,7 +600,7 @@ if [ "$enable_dynarec" = "yes" ]; then echo "USE_DYNAREC = 1" >> $config_mak fi if [ "$drc_cache_base" = "yes" ]; then - echo "DRC_CACHE_BASE = 1" >> $config_mak + echo "BASE_ADDR_DYNAMIC = 1" >> $config_mak fi if [ "$have_c64x_dsp" = "yes" ]; then echo "HAVE_C64_TOOLS = 1" >> $config_mak