1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00

Set ARCH to x86 on mixed 32/64-bit Linux systems.

Remove the explicit if OS = Darwin test around the setting of -m32/-m64.

llvm-svn: 66765
This commit is contained in:
Nick Lewycky 2009-03-12 03:34:19 +00:00
parent 09e6929cc5
commit 71fd935173
3 changed files with 29 additions and 7 deletions

View File

@ -522,13 +522,11 @@ ifdef UNIVERSAL
# Building universal cannot compute dependencies automatically.
DISABLE_AUTO_DEPENDENCIES=1
else
ifeq ($(OS),Darwin)
ifeq ($(ARCH),x86_64)
CompileCommonOpts += -m64
else
ifeq ($(ARCH),x86)
CompileCommonOpts += -m32
endif
ifeq ($(ARCH),x86_64)
CompileCommonOpts += -m64
else
ifeq ($(ARCH),x86)
CompileCommonOpts += -m32
endif
endif
endif

View File

@ -233,6 +233,13 @@ if test "$llvm_cv_target_arch" = "Unknown" ; then
AC_MSG_WARN([Configuring LLVM for an unknown target archicture])
fi
if test "$llvm_cv_os_type" = "Linux" -a "$llvm_cv_target_arch" = "x86_64" ; then
AC_IS_LINUX_MIXED
if test "$llvm_cv_linux_mixed" = "yes"; then
llvm_cv_target_arch="x86"
fi
fi
dnl Define a substitution, ARCH, for the target architecture
AC_SUBST(ARCH,$llvm_cv_target_arch)

View File

@ -0,0 +1,17 @@
#
# Some Linux machines run a 64-bit kernel with a 32-bit userspace. 'uname -m'
# shows these at x86_64, so in that case, ask the system 'gcc' what it thinks.
#
AC_DEFUN([AC_IS_LINUX_MIXED],
[AC_CACHE_CHECK(for 32-bit userspace on 64-bit system,llvm_cv_linux_mixed,
[ AC_LANG_PUSH([C])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[#ifndef __x86_64__
error: Not x86-64 even if uname says so!
#endif
]])],
[llvm_cv_linux_mixed=no],
[llvm_cv_linux_mixed=yes])
AC_LANG_POP([C])
])
])