From ce89123828b772b371f920c248748628c051d75c Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Thu, 21 Jan 2010 04:04:51 +0000 Subject: [PATCH] =?UTF-8?q?Patch=20partially=20by=20Samuel=20Rodr=C3=ADgue?= =?UTF-8?q?z=20P=C3=A9rez:=20*=20Added=20amd64-*=20as=20supported=20host?= =?UTF-8?q?=20gcc=20machine.=20*=20Added=20work-around=20for=20AMD64=20Fre?= =?UTF-8?q?eBSD=208:=20It=20only=20has=20a=20static=20libsupc++,=20=20=20w?= =?UTF-8?q?hich=20prevents=20us=20from=20building=20shared=20libraries,=20?= =?UTF-8?q?so=20we=20use=20the=20shared=20=20=20libstdc++=20instead.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35211 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- build/jam/BuildSetup | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index 1ae74884f3..be28bf9344 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -192,13 +192,15 @@ switch $(HAIKU_GCC_MACHINE) { # determine the endianness of the host switch $(HOST_GCC_MACHINE) { + case amd64-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; case i?86-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; - case x86_64-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; case powerpc-* : HAIKU_HOST_IS_BIG_ENDIAN = 1 ; + case x86_64-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; + # the following are rather unlikely as hosts ... + case arm-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; case m68k-* : HAIKU_HOST_IS_BIG_ENDIAN = 1 ; case mipsel-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; - case arm-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ; case * : Exit "Unsupported gcc host machine:" $(HOST_GCC_MACHINE) ; } @@ -490,9 +492,9 @@ if $(HAIKU_HOST_USE_32BIT) = 1 { HOST_GCC_BASE_FLAGS = -m32 ; } else { switch $(HOST_GCC_MACHINE) { - case x86_64-* : HOST_PLATFORM_IS_64_BIT = 1 ; - case i686-apple-darwin10 : - HOST_PLATFORM_IS_64_BIT = 1 ; + case amd64-* : HOST_PLATFORM_IS_64_BIT = 1 ; + case i686-apple-darwin10 : HOST_PLATFORM_IS_64_BIT = 1 ; + case x86_64-* : HOST_PLATFORM_IS_64_BIT = 1 ; } } @@ -717,6 +719,14 @@ if $(HOST_PLATFORM_BEOS_COMPATIBLE) { # part of the C++ runtime lives in libstdc++ on Darwin HOST_LIBSUPC++ = gcc_s.1 stdc++ ; HOST_LIBSTDC++ = ; + } else if $(HOST_PLATFORM) = freebsd { + if $(HOST_CPU) = x86 && $(HOST_PLATFORM_IS_64_BIT) = 1 { + # 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++. + HOST_LIBSUPC++ = stdc++ ; + HOST_LIBSTDC++ = ; + } } # Unlike glibc FreeBSD's libc doesn't have built-in regex support. @@ -728,7 +738,6 @@ if $(HOST_PLATFORM_BEOS_COMPATIBLE) { HOST_STATIC_LIBROOT += /opt/local/lib/libgnuregex.dylib ; } - # The BeOS compilers define __INTEL__ respectively __POWERPC__. On the # build platform we need to make sure, this is also defined. if $(HOST_CPU) = x86 {