diff options
author | Michael | 2009-10-17 11:55:09 -0400 |
---|---|---|
committer | Michael | 2009-10-17 11:55:09 -0400 |
commit | cd033953971e377722056e7f8042010e658d8aa2 (patch) | |
tree | df64be75790a6ab9754b5296f991e7798736cda1 | |
parent | 28d1a3fab5e2ccb593df9cd3a05b3911be326d9e (diff) | |
download | gnuradio-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.m4 | 31 |
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 ;; |