From e55dd5f8ef27965bc989a5a8f11ff387c44e9231 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Wed, 23 Sep 2009 10:14:07 +0000 Subject: [PATCH] * When compiling on Haiku as the host platform, set HOST_LIBSUPC correctly. This is important when setting up the TARGET_LIB* constants later, in case the target platform is not "haiku". (i.e. libbe_test). * Added TODO about HOST_GCC_BASE_FLAGS being wrong for GCC4. I couldn't find the proper fix, but it is important whan compiling libbe_test on Haiku. I worked around this by having the constant defined correctly for the problematic file. See the TODO comment. * Small cleanups. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33246 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- build/jam/BuildSetup | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index 322a7b7e44..46f3758650 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -134,6 +134,13 @@ if $(HAIKU_USE_GCC_PIPE) = 1 { if $(HAIKU_GCC_VERSION[1]) >= 3 { HAIKU_GCC_BASE_FLAGS += -fno-strict-aliasing -fno-tree-vrp ; } +# TODO: With Haiku as the host platform, this does not appear to be set up +# correctly, at least when compiling the libbe_test target platform. When +# enabling the lines below, these flags suddenly appear as link flags passed +# to ld as well. +#if $(HOST_GCC_VERSION[1]) >= 3 { +# HOST_GCC_BASE_FLAGS += -fno-strict-aliasing -fno-tree-vrp ; +#} # override gcc 2.95.3's header directory -- strictly necessary only when using # the BeOS native compiler (since its headers are incompatible), but it doesn't @@ -648,10 +655,13 @@ HOST_BUILD_COMPATIBILITY_LIB_DIR = [ FDirName $(HOST_OBJECT_BASE_DIR) lib ] ; HOST_RM_ATTRS_TARGET = ; if $(HOST_PLATFORM_BEOS_COMPATIBLE) { + # the C++ standard and support libraries if $(HOST_GCC_VERSION[1]) < 3 { HOST_LIBSTDC++ = stdc++.r4 ; + HOST_LIBSUPC++ = ; } else { HOST_LIBSTDC++ = stdc++ ; + HOST_LIBSUPC++ = supc++ ; } HOST_LIBROOT = root ; @@ -867,7 +877,7 @@ if $(TARGET_PLATFORM) = haiku { TARGET_GCC_LIBGCC_OBJECTS = $(HAIKU_GCC_LIBGCC_OBJECTS) ; TARGET_BOOT_PLATFORM ?= $(HAIKU_BOOT_PLATFORM) ; - TARGET_BOOT_BOARD ?= $(HAIKU_BOOT_BOARD) ; + TARGET_BOOT_BOARD ?= $(HAIKU_BOOT_BOARD) ; TARGET_LIBRARY_NAME_MAP = HAIKU_LIBRARY_NAME_MAP ; @@ -883,7 +893,7 @@ if $(TARGET_PLATFORM) = haiku { TARGET_GCC_LIBGCC_OBJECTS = ; TARGET_BOOT_PLATFORM = ; - TARGET_BOOT_BOARD = ; + TARGET_BOOT_BOARD = ; TARGET_LIBRARY_NAME_MAP = HOST_LIBRARY_NAME_MAP ; }