summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael2009-10-17 11:55:09 -0400
committerMichael2009-10-17 11:55:09 -0400
commitcd033953971e377722056e7f8042010e658d8aa2 (patch)
treedf64be75790a6ab9754b5296f991e7798736cda1
parent28d1a3fab5e2ccb593df9cd3a05b3911be326d9e (diff)
downloadgnuradio-cd033953971e377722056e7f8042010e658d8aa2.tar.gz
gnuradio-cd033953971e377722056e7f8042010e658d8aa2.tar.bz2
gnuradio-cd033953971e377722056e7f8042010e658d8aa2.zip
better for both cross-compiling and 10.6 native compiling, to determine CPU architecture
-rw-r--r--config/gr_set_md_cpu.m431
1 files changed, 22 insertions, 9 deletions
diff --git a/config/gr_set_md_cpu.m4 b/config/gr_set_md_cpu.m4
index bb2862dee..7ebf88a66 100644
--- a/config/gr_set_md_cpu.m4
+++ b/config/gr_set_md_cpu.m4
@@ -51,18 +51,31 @@ AC_DEFUN([GR_SET_MD_CPU],[
AC_HELP_STRING([--with-md-cpu=ARCH],[set machine dependent speedups (auto)]),
[cf_with_md_cpu="$withval"],
[
- dnl temporary fix for Darwin 10.6; $host_cpu is always "i386" no matter
- dnl if the kernel is in 32-bit or 64-bit mode.
+ dnl see if the user has specified --host or --build, via 'cross_compiling'
+ if test "$cross_compiling" != no; then
+ dnl when cross-compiling, because the user specified it either via
+ dnl --target or --build, just keep the user's specs & hope for the best.
+ cf_with_md_cpu="$host_cpu"
+ else
+ dnl when the user didn't specify --target or --build, on Darwin 10
+ dnl (OSX 10.6.0 and .1) and GNU libtoool 2.2.6, 'configure' doesn't
+ dnl figure out the CPU type correctly, so do it by hand here using
+ dnl the sizeof (void*): if 4 then use i386, and otherwise use x86_64.
case "$host_os" in
- darwin*)
- cf_with_md_cpu=`uname -m`
- ;;
- *)
- cf_with_md_cpu="$host_cpu"
- ;;
+ *darwin*10*)
+ AC_CHECK_SIZEOF(void*)
+ if test "$ac_cv_sizeof_voidp" = 4; then
+ cf_with_md_cpu="i386"
+ else
+ cf_with_md_cpu="x86_64"
+ fi
+ ;;
+ *)
+ cf_with_md_cpu="$host_cpu"
+ ;;
esac
+ fi
])
- AC_MSG_RESULT($cf_with_md_cpu)
case "$cf_with_md_cpu" in
x86 | i[[3-7]]86) MD_CPU=x86 MD_SUBCPU=x86 ;;
x86_64) MD_CPU=x86 MD_SUBCPU=x86_64 ;;