diff configure.in @ 108145:947dd776616f

Move test for 64-bit kernel with 32-bit userland to configure. See discussion in bug#5655. * configure.in (machine, canonical): On amdx86-64, check for a 32-bit userland and maybe change values to i386 (move test from s/amdx86-64.h). * src/m/amdx86-64.h [i386]: Move this test to configure.in.
author Glenn Morris <rgm@gnu.org>
date Tue, 27 Apr 2010 23:43:38 -0700
parents 43dcbd8381dc
children 40b36ac1946f
line wrap: on
line diff
--- a/configure.in	Tue Apr 27 14:14:16 2010 -0400
+++ b/configure.in	Tue Apr 27 23:43:38 2010 -0700
@@ -761,6 +761,20 @@
 if test "x$RANLIB" = x; then
   AC_PROG_RANLIB
 fi
+
+## Although we're running on an amd64 kernel, we're actually compiling for
+## the x86 architecture.  The user should probably have provided an
+## explicit --build to `configure', but if everything else than the kernel
+## is running in i386 mode, we can help them out.
+if test "$machine" = "amdx86-64"; then
+  AC_CHECK_DECL([i386])
+  if test "$ac_cv_have_decl_i386" = "yes"; then
+    canonical=`echo "$canonical" | sed -e 's/^amd64/i386/' -e 's/^x86_64/i386/'`
+    machine=intel386
+    machfile="m/${machine}.h"
+  fi
+fi
+
 AC_PATH_PROG(INSTALL_INFO, install-info)
 AC_PATH_PROG(INSTALL_INFO, install-info,, /usr/sbin)
 AC_PATH_PROG(INSTALL_INFO, install-info,:, /sbin)