diff options
Diffstat (limited to 'config/gr_set_md_cpu.m4')
-rw-r--r-- | config/gr_set_md_cpu.m4 | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/config/gr_set_md_cpu.m4 b/config/gr_set_md_cpu.m4 index d8714c4a7..cb5fb5aac 100644 --- a/config/gr_set_md_cpu.m4 +++ b/config/gr_set_md_cpu.m4 @@ -50,13 +50,37 @@ AC_DEFUN([GR_SET_MD_CPU],[ AC_ARG_WITH(md-cpu, AC_HELP_STRING([--with-md-cpu=ARCH],[set machine dependent speedups (auto)]), [cf_with_md_cpu="$withval"], - [cf_with_md_cpu="$host_cpu"]) - + [ + 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*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 + ]) 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 ;; powerpc*) MD_CPU=powerpc ;; - arm) + arm*) _FIND_ARM_ISA if test $is_armv5 = yes; then MD_CPU=armv5; elif test $is_armv7_a = yes; then MD_CPU=armv7_a; |