X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=configure;h=42ab9f5cf6d339708decb12026ea21c55df294fe;hp=f5e3b6fc682625665d4a9d6eb0d4ceb25440eb05;hb=1b908f9e6e455d3eecf3b9a9236405c29764c0f8;hpb=07c13dfd11cbd45e96a5c21cd88ccd44601678ea diff --git a/configure b/configure index f5e3b6fc..42ab9f5c 100755 --- a/configure +++ b/configure @@ -47,6 +47,9 @@ have_armv7="" have_arm_neon="" have_tslib="" enable_dynarec="yes" +need_sdl="no" +need_libpicofe="yes" +need_warm="no" # these are for known platforms optimize_cortexa8="no" optimize_arm926ej="no" @@ -56,7 +59,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 -lpng -lz" +MAIN_LDLIBS="$LDLIBS -ldl -lm" config_mak="config.mak" fail() @@ -90,9 +93,11 @@ set_platform() ram_fixed="yes" drc_cache_base="yes" optimize_arm926ej="yes" + need_warm="yes" ;; libretro) sound_drivers="libretro" + need_libpicofe="no" ;; *) fail "unsupported platform: $platform" @@ -155,6 +160,18 @@ if [ "x$sound_drivers" != "x" ]; then done fi +if [ "$need_libpicofe" = "yes" ]; then + if ! test -f "frontend/libpicofe/README"; then + fail "libpicofe is missing, please run 'git submodule init && git submodule update'" + fi +fi + +if [ "$need_warm" = "yes" ]; then + if ! test -f "frontend/warm/README"; then + fail "wARM is missing, please run 'git submodule init && git submodule update'" + fi +fi + if [ -z "$ARCH" ]; then ARCH=`$CC -v 2>&1 | grep -i 'target:' | awk '{print $2}' \ | awk -F '-' '{print $1}'` @@ -163,7 +180,6 @@ fi # ARM stuff if [ "$ARCH" = "arm" ]; then if [ "$optimize_cortexa8" = "yes" ]; then - # both: -mfpu=neon CFLAGS="$CFLAGS -mcpu=cortex-a8 -mtune=cortex-a8" ASFLAGS="$ASFLAGS -mcpu=cortex-a8" fi @@ -197,7 +213,7 @@ if [ "$ARCH" = "arm" ]; then fi fi - # set mfpu and mfloat-abi if they are not set + # automatically 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" echo "$ASFLAGS" | grep -q -- '-mfpu=' || ASFLAGS="$ASFLAGS -mfpu=neon" @@ -205,14 +221,15 @@ if [ "$ARCH" = "arm" ]; then echo "$CFLAGS" | grep -q -- '-mfpu=' || CFLAGS="$CFLAGS -mfpu=vfp" echo "$ASFLAGS" | grep -q -- '-mfpu=' || ASFLAGS="$ASFLAGS -mfpu=vfp" fi - if [ "$have_armv6" = "yes" ]; then + floatabi_set_by_gcc=`$CC -v 2>&1 | grep -q -- --with-float= && echo yes` || true + if [ "$floatabi_set_by_gcc" != "yes" -a "$have_armv6" = "yes" ]; then echo "$CFLAGS" | grep -q -- '-mfloat-abi=' || CFLAGS="$CFLAGS -mfloat-abi=softfp" echo "$ASFLAGS" | grep -q -- '-mfloat-abi=' || ASFLAGS="$ASFLAGS -mfloat-abi=softfp" fi - # must disable -mthumb as recompiler can't handle it + # must disable thumb as recompiler can't handle it if check_define __thumb__; then - CFLAGS="$CFLAGS -mno-thumb" + CFLAGS="$CFLAGS -marm" fi if [ "$have_armv7" = "yes" ]; then @@ -229,13 +246,6 @@ 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 - CFLAGS="$CFLAGS -m32" - LDFLAGS="$LDFLAGS -m32" -fi - # supposedly we can avoid -fPIC on armv5 for slightly better performace? if [ "$ARCH" != "arm" -o "$have_armv6" = "yes" ]; then PLUGIN_CFLAGS="$PLUGIN_CFLAGS -fPIC" @@ -247,10 +257,7 @@ fi case "$platform" in generic) - generic_cflags=`sdl-config --cflags` - generic_ldlibs=`sdl-config --libs` - CFLAGS="$CFLAGS $generic_cflags" - MAIN_LDLIBS="$MAIN_LDLIBS $generic_ldlibs" + need_sdl="yes" ;; maemo) maemo_cflags=`pkg-config --cflags hildon-1` @@ -260,7 +267,7 @@ maemo) ;; libretro) CFLAGS="$CFLAGS -fPIC" - LDFLAGS="$LDFLAGS -shared" + MAIN_LDFLAGS="$MAIN_LDFLAGS -shared -Wl,--no-undefined" ;; esac @@ -269,7 +276,7 @@ check_zlib() { cat > $TMPC < - void main() { uncompress(0, 0, 0, 0); } + int main(void) { uncompress(0, 0, 0, 0); } EOF compile_binary } @@ -320,28 +327,41 @@ EOF compile_binary "$@" } -check_zlib || fail "please install libz-dev" -check_bzlib || fail "please install libbz2-dev" -check_libpng || fail "please install libpng-dev" +MAIN_LDLIBS="$MAIN_LDLIBS -lz" +check_zlib || fail "please install zlib (libz-dev)" + +check_bzlib || fail "please install bz2lib (libbz2-dev)" + +MAIN_LDLIBS="-lpng $MAIN_LDLIBS" +check_libpng || fail "please install libpng (libpng-dev)" # find what audio support we can compile if [ "x$sound_drivers" = "x" ]; then if check_oss; then sound_drivers="$sound_drivers oss"; fi - if check_alsa -lasound; then sound_drivers="$sound_drivers alsa"; fi - if check_sdl; then sound_drivers="$sound_drivers sdl"; fi + if check_alsa -lasound; then + sound_drivers="$sound_drivers alsa" + MAIN_LDLIBS="-lasound $MAIN_LDLIBS" + fi + if [ "$need_sdl" = "yes" ] || check_sdl `sdl-config --cflags --libs`; then + sound_drivers="$sound_drivers sdl" + need_sdl="yes" + fi +else + if echo $sound_drivers | grep -q "\"; then + check_oss || fail "oss support is missing" + fi + if echo $sound_drivers | grep -q "\"; then + MAIN_LDLIBS="-lasound $MAIN_LDLIBS" + check_alsa || fail "please install libasound2-dev" + fi fi -if echo $sound_drivers | grep -q "\"; then - check_oss || fail "oss support missing" -fi -if echo $sound_drivers | grep -q "\"; then - MAIN_LDLIBS="$MAIN_LDLIBS -lasound" - check_alsa || fail "please install libasound2-dev" -fi -if echo $sound_drivers | grep -q "\"; then - echo $MAIN_LDLIBS | grep -qi SDL || CFLAGS="$CFLAGS `sdl-config --cflags`" - echo $MAIN_LDLIBS | grep -qi SDL || MAIN_LDLIBS="$MAIN_LDLIBS `sdl-config --libs`" - check_sdl || fail "please install libsdl1.2-dev" +if [ "$need_sdl" = "yes" ]; then + 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" + check_sdl || fail "please install libsdl (libsdl1.2-dev)" fi # check for tslib (only headers needed) @@ -374,6 +394,13 @@ if [ "$have_arm_neon" = "yes" -a "$builtin_gpu" != "neon" ]; then plugins="$plugins plugins/gpu_neon/gpu_neon.so" fi +cat > $TMPC <> $config_mak echo "CFLAGS += $CFLAGS" >> $config_mak echo "ASFLAGS += $ASFLAGS" >> $config_mak echo "LDFLAGS += $LDFLAGS" >> $config_mak +echo "MAIN_LDFLAGS += $MAIN_LDFLAGS" >> $config_mak echo "MAIN_LDLIBS += $MAIN_LDLIBS" >> $config_mak echo "PLUGIN_CFLAGS += $PLUGIN_CFLAGS" >> $config_mak echo >> $config_mak