diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index 34dfcb947d..87092982cf 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -599,6 +599,11 @@ if $(HOST_PLATFORM) = cygwin { HOST_CPU ?= $(OSPLAT:L) ; +# Jam doesn't know x86_64, so override HOST_CPU, if 64 bit. +if $(HOST_CPU) = x86 && $(HOST_PLATFORM_IS_64_BIT) { + HOST_CPU = x86_64 ; +} + HOST_ARCH ?= $(HOST_CPU) ; HOST_ARCH_MACRO_DEFINE = ARCH_$(HOST_CPU) ; @@ -699,7 +704,7 @@ for level in $(HAIKU_DEBUG_LEVELS[2-]) { } # ld flags -if $(HOST_ARCH) = x86 && $(HAIKU_HOST_USE_32BIT) = 1 { +if $(HOST_ARCH) = x86_64 && $(HAIKU_HOST_USE_32BIT) = 1 { HOST_LDFLAGS += -melf_i386 ; } @@ -784,7 +789,7 @@ if $(HOST_PLATFORM_BEOS_COMPATIBLE) { HOST_LIBSUPC++ = gcc_s.1 stdc++ ; HOST_LIBSTDC++ = ; } else if $(HOST_PLATFORM) = freebsd { - if $(HOST_CPU) = x86 && $(HOST_PLATFORM_IS_64_BIT) = 1 { + if $(HOST_CPU) = x86_64 { # amd64 FreeBSD 8 doesn't come without a shared libsupc++, and the # static one prevents us from building shared libraries. So we have # to work around by using the shared libstdc++. @@ -806,6 +811,8 @@ if $(HOST_PLATFORM_BEOS_COMPATIBLE) { # build platform we need to make sure, this is also defined. if $(HOST_CPU) = x86 { HOST_DEFINES += __INTEL__ ; + } else if $(HOST_CPU) = x86_64 { + HOST_DEFINES += __x86_64__ ; } else if $(HOST_CPU) = ppc { HOST_DEFINES += __POWERPC__ ; } else if $(HOST_CPU) = m68k { diff --git a/headers/os/kernel/OS.h b/headers/os/kernel/OS.h index a12deed5cd..383f857e9c 100644 --- a/headers/os/kernel/OS.h +++ b/headers/os/kernel/OS.h @@ -414,6 +414,8 @@ extern void ktrace_vprintf(const char *format, va_list args); #if __INTEL__ # define B_MAX_CPU_COUNT 8 +#elif __x86_64__ +# define B_MAX_CPU_COUNT 8 #elif __POWERPC__ # define B_MAX_CPU_COUNT 8 #elif __M68K__