aboutsummaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authornotaz2012-12-23 03:44:45 +0200
committernotaz2012-12-23 03:55:17 +0200
commit00a212aade3025ba76e60d90520a7b302f83b7ff (patch)
treedc8d67ad83f1c299bd67a233dedcac33945d66c1 /configure
parent82336ba3f94b3a4674042833ca89a3da9cbc2625 (diff)
downloadpcsx_rearmed-00a212aade3025ba76e60d90520a7b302f83b7ff.tar.gz
pcsx_rearmed-00a212aade3025ba76e60d90520a7b302f83b7ff.tar.bz2
pcsx_rearmed-00a212aade3025ba76e60d90520a7b302f83b7ff.zip
configure: detect common mistakes
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure45
1 files changed, 38 insertions, 7 deletions
diff --git a/configure b/configure
index eb859bf..c03d41f 100755
--- a/configure
+++ b/configure
@@ -24,8 +24,7 @@ compile_binary()
check_define()
{
- echo "" > $TMPC
- $CC -E -dD $CFLAGS $TMPC | grep -q $1 || return 1
+ $CC -E -dD $CFLAGS include/arm_features.h | grep -q $1 || return 1
return 0
}
@@ -42,6 +41,7 @@ plugins="plugins/spunull/spunull.so \
plugins/dfxvideo/gpu_peops.so plugins/gpu_unai/gpu_unai.so"
ram_fixed="no"
drc_cache_base="no"
+have_armv5=""
have_armv6=""
have_armv7=""
have_arm_neon=""
@@ -175,6 +175,15 @@ if [ "$need_warm" = "yes" ]; then
fi
fi
+# basic compiler test
+cat > $TMPC <<EOF
+#include <zlib.h>
+int main(void) { return 0; }
+EOF
+if ! compile_binary; then
+ fail "basic compiler test failed, please check config.log"
+fi
+
if [ -z "$ARCH" ]; then
ARCH=`$CC -v 2>&1 | grep -i 'target:' | awk '{print $2}' \
| awk -F '-' '{print $1}'`
@@ -195,15 +204,22 @@ if [ "$ARCH" = "arm" ]; then
# detect NEON from user-supplied cflags to enable asm code
have_arm_neon=`check_define __ARM_NEON__ && echo yes` || true
fi
- if [ "x$have_armv6" = "x" ]; then
- have_armv6=`check_define __ARM_ARCH_6 && echo yes` || true
- fi
if [ "x$have_armv7" = "x" ]; then
- if check_define __ARM_ARCH_7A__; then
- have_armv6="yes"
+ if check_define HAVE_ARMV7; then
have_armv7="yes"
+ have_armv6="yes"
+ have_armv5="yes"
fi
fi
+ if [ "x$have_armv6" = "x" ]; then
+ if check_define HAVE_ARMV6; then
+ have_armv6="yes"
+ have_armv5="yes"
+ fi
+ fi
+ if [ "x$have_armv5" = "x" ]; then
+ have_armv5=`check_define HAVE_ARMV5 && echo yes` || true
+ fi
if [ "x$builtin_gpu" = "x" ]; then
if [ "$have_arm_neon" = "yes" ]; then
@@ -236,6 +252,20 @@ if [ "$ARCH" = "arm" ]; then
if check_define __thumb__; then
CFLAGS="$CFLAGS -marm"
fi
+
+ # warn about common mistakes
+ if [ "$have_armv5" != "yes" ]; then
+ if ! echo "$CFLAGS" | grep -q -- '-mcpu=\|-march='; then
+ echo "Warning: compiling for ARMv4, is that really what you want?"
+ echo "You probably should specify -mcpu= or -march= like this:"
+ echo " CFLAGS=-march=armv6 ./configure ..."
+ fi
+ fi
+ if [ "$have_arm_neon" = "yes" -a "$have_armv7" != "yes" ]; then
+ echo "Warning: compiling for NEON, but not ARMv7?"
+ echo "You probably want to specify -mcpu= or -march= like this:"
+ echo " CFLAGS=-march=armv7-a ./configure ..."
+ fi
else
# dynarec only available on ARM
enable_dynarec="no"
@@ -428,6 +458,7 @@ done
test "x$have_armv6" != "x" || have_armv6="no"
test "x$have_armv7" != "x" || have_armv7="no"
test "x$have_arm_neon" != "x" || have_arm_neon="no"
+test "x$have_gles" != "x" || have_gles="no"
echo "architecture $ARCH"
echo "platform $platform"