have_arm_neon=""
have_tslib=""
enable_dynarec="yes"
+need_sdl="no"
# these are for known platforms
optimize_cortexa8="no"
optimize_arm926ej="no"
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()
# 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
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"
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
builtin_gpu="peops"
fi
-if [ "$ARCH" = "x86_64" ]; then
+#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
+# 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
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`
{
cat > $TMPC <<EOF
#include <zlib.h>
- void main() { uncompress(0, 0, 0, 0); }
+ int main(void) { uncompress(0, 0, 0, 0); }
EOF
compile_binary
}
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 "\<oss\>"; then
+ check_oss || fail "oss support is missing"
+ fi
+ if echo $sound_drivers | grep -q "\<alsa\>"; then
+ MAIN_LDLIBS="-lasound $MAIN_LDLIBS"
+ check_alsa || fail "please install libasound2-dev"
+ fi
fi
-if echo $sound_drivers | grep -q "\<oss\>"; then
- check_oss || fail "oss support missing"
-fi
-if echo $sound_drivers | grep -q "\<alsa\>"; then
- MAIN_LDLIBS="$MAIN_LDLIBS -lasound"
- check_alsa || fail "please install libasound2-dev"
-fi
-if echo $sound_drivers | grep -q "\<sdl\>"; 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)
plugins="$plugins plugins/gpu_neon/gpu_neon.so"
fi
+cat > $TMPC <<EOF
+void test(void *f, void *d) { fread(d, 1, 1, f); }
+EOF
+if compile_object -Wno-unused-result; then
+ CFLAGS="$CFLAGS -Wno-unused-result"
+fi
+
# short plugin list for display
for p in $plugins; do
p1=`basename $p`