From: Glenn Morris Date: Wed, 28 Apr 2010 06:43:38 +0000 (-0700) Subject: Move test for 64-bit kernel with 32-bit userland to configure. X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~438^2~362 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=44e3d510df92cc32bc682a874b978608075ffad2;p=emacs.git 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. --- diff --git a/ChangeLog b/ChangeLog index 11a934e529b..ddd52e9724d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-04-28 Glenn Morris + + * 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). + 2010-04-27 Glenn Morris * configure.in (LIBXTR6): New output variable. Move unixware special diff --git a/configure.in b/configure.in index 281d06995d7..6233b7fe730 100644 --- a/configure.in +++ b/configure.in @@ -761,6 +761,20 @@ AC_PROG_INSTALL 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) diff --git a/src/m/amdx86-64.h b/src/m/amdx86-64.h index f7dfb126e6e..b2e6cae48c7 100644 --- a/src/m/amdx86-64.h +++ b/src/m/amdx86-64.h @@ -17,15 +17,6 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ -#ifdef i386 -/* 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, then the bug is really ours: we should have - guessed better. */ -#include "m/intel386.h" -#else - /* The following line tells the configuration script what sort of operating system this machine is likely to run. USUAL-OPSYS="linux" */ @@ -90,7 +81,6 @@ along with GNU Emacs. If not, see . */ #define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtn.o #endif /* SOLARIS2 */ -#endif /* !i386 */ /* arch-tag: 8a5e001d-e12e-4692-a3a6-0b15ba271c6e (do not change this comment) */