From a85cf9d793c5c1dde0bd4887e7c66d11ed2c07ec Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 24 Nov 2009 18:57:49 +0000 Subject: [PATCH] * configure: Pass gcc's host machine string to the jam build system. * BuildSetup: Set jam variable HOST_PLATFORM_IS_64_BIT and add host define HAIKU_HOST_PLATFORM_64_BIT if the host platform is 64 bit. Removed the check from BeOSBuildCompatibility.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34211 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- build/jam/BuildSetup | 13 ++++++++++++- configure | 2 ++ headers/build/BeOSBuildCompatibility.h | 4 ---- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index 9e69907b44..93d79549ef 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -478,9 +478,15 @@ HAIKU_BUILD_DESCRIPTION ?= "Unknown Build" ; # host platform settings -# enable GCC -m32 option, if requested +# analyze the host gcc machine spec to find out about 64-bitness +HOST_PLATFORM_IS_64_BIT = ; if $(HAIKU_HOST_USE_32BIT) = 1 { + # enable GCC -m32 option HOST_GCC_BASE_FLAGS = -m32 ; +} else { + switch $(HOST_GCC_MACHINE) { + case x86_64-* : HOST_PLATFORM_IS_64_BIT = 1 ; + } } @@ -531,6 +537,7 @@ HOST_CPU ?= $(OSPLAT:L) ; HOST_ARCH ?= $(HOST_CPU) ; HOST_ARCH_MACRO_DEFINE = ARCH_$(HOST_CPU) ; + # directories HOST_OBJECT_BASE_DIR = [ FDirName $(HAIKU_OBJECT_DIR) $(HOST_PLATFORM) ] ; HOST_COMMON_ARCH_OBJECT_DIR = [ FDirName $(HOST_OBJECT_BASE_DIR) common ] ; @@ -926,6 +933,10 @@ switch $(HOST_PLATFORM) { case sunos : HOST_DEFINES += HAIKU_HOST_PLATFORM_SUNOS ; } +# define host platform 64 bit macro +if $(HOST_PLATFORM_IS_64_BIT) { + HOST_DEFINES += HAIKU_HOST_PLATFORM_64_BIT ; +} #pragma mark - diff --git a/configure b/configure index bb94fb17a8..9669e7dbdb 100755 --- a/configure +++ b/configure @@ -266,6 +266,7 @@ haikuStaticLibSupCxx= haikuSharedLibSupCxx= haikuCxxHeadersDir= hostGCCVersion=`gcc -dumpversion` +hostGCCMachine=`gcc -dumpmachine` bochsDebug=0 includeGPLAddOns=0 includePatentedCode=0 @@ -513,6 +514,7 @@ HAIKU_ARFLAGS ?= ${HAIKU_ARFLAGS} ; HAIKU_UNARFLAGS ?= ${HAIKU_UNARFLAGS} ; HOST_GCC_RAW_VERSION ?= ${hostGCCVersion} ; +HOST_GCC_MACHINE ?= ${hostGCCMachine} ; EOF diff --git a/headers/build/BeOSBuildCompatibility.h b/headers/build/BeOSBuildCompatibility.h index 229b1c43a3..5a51165f06 100644 --- a/headers/build/BeOSBuildCompatibility.h +++ b/headers/build/BeOSBuildCompatibility.h @@ -36,10 +36,6 @@ typedef unsigned long haiku_build_addr_t; #include #include -#ifdef __x86_64__ -#define HAIKU_HOST_PLATFORM_64_BIT -#endif - #ifdef __cplusplus extern "C" { #endif