aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2014-04-30 21:30:08 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-04-30 21:30:08 +0000
commit1d1c548b4e1f6273e578c362419aa437b1541c31 (patch)
treefc95350f132a04e89d8caca1c3d141fb5cf85dfd
parentac69f5db72efc69e5bb13eef1012bfeae02606df (diff)
parentc07c8fae25ffef1a97dbdba843d833ed7270f703 (diff)
downloadbuild-1d1c548b4e1f6273e578c362419aa437b1541c31.tar.gz
Merge "Update build system for better Clang behavior on Mac." into tools_r22.6
-rw-r--r--core/clang/config.mk8
-rw-r--r--core/clang/x86_common.mk6
-rw-r--r--core/combo/HOST_darwin-x86.mk10
3 files changed, 16 insertions, 8 deletions
diff --git a/core/clang/config.mk b/core/clang/config.mk
index c471f7ebbd..6bc5f28a1f 100644
--- a/core/clang/config.mk
+++ b/core/clang/config.mk
@@ -33,10 +33,10 @@ CLANG_CONFIG_UNKNOWN_CFLAGS := \
-Wno-unused-but-set-parameter
# Clang flags for all host rules
-CLANG_CONFIG_HOST_EXTRA_ASFLAGS := --gcc-toolchain=$(HOST_TOOLCHAIN_FOR_CLANG)
-CLANG_CONFIG_HOST_EXTRA_CFLAGS := --gcc-toolchain=$(HOST_TOOLCHAIN_FOR_CLANG)
-CLANG_CONFIG_HOST_EXTRA_CPPFLAGS := --gcc-toolchain=$(HOST_TOOLCHAIN_FOR_CLANG)
-CLANG_CONFIG_HOST_EXTRA_LDFLAGS := --gcc-toolchain=$(HOST_TOOLCHAIN_FOR_CLANG)
+CLANG_CONFIG_HOST_EXTRA_ASFLAGS :=
+CLANG_CONFIG_HOST_EXTRA_CFLAGS :=
+CLANG_CONFIG_HOST_EXTRA_CPPFLAGS :=
+CLANG_CONFIG_HOST_EXTRA_LDFLAGS :=
# Clang flags for all target rules
CLANG_CONFIG_TARGET_EXTRA_ASFLAGS :=
diff --git a/core/clang/x86_common.mk b/core/clang/x86_common.mk
index cc02aee321..aaee62eb06 100644
--- a/core/clang/x86_common.mk
+++ b/core/clang/x86_common.mk
@@ -5,18 +5,22 @@ endif
ifeq ($(HOST_OS),linux)
CLANG_CONFIG_x86_LINUX_HOST_EXTRA_ASFLAGS := \
+ --gcc-toolchain=$(HOST_TOOLCHAIN_FOR_CLANG) \
--sysroot=$(HOST_TOOLCHAIN_FOR_CLANG)/sysroot
-CLANG_CONFIG_x86_LINUX_HOST_EXTRA_CFLAGS :=
+CLANG_CONFIG_x86_LINUX_HOST_EXTRA_CFLAGS := \
+ --gcc-toolchain=$(HOST_TOOLCHAIN_FOR_CLANG) \
ifneq ($(strip $(BUILD_HOST_64bit)),)
CLANG_CONFIG_x86_LINUX_HOST_EXTRA_CPPFLAGS := \
+ --gcc-toolchain=$(HOST_TOOLCHAIN_FOR_CLANG) \
--sysroot=$(HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
-isystem $(HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/include/c++/4.6 \
-isystem $(HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/include/c++/4.6/x86_64-linux \
-isystem $(HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/include/c++/4.6/backward \
CLANG_CONFIG_x86_LINUX_HOST_EXTRA_LDFLAGS := \
+ --gcc-toolchain=$(HOST_TOOLCHAIN_FOR_CLANG) \
--sysroot=$(HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
-B$(HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/bin \
-B$(HOST_TOOLCHAIN_FOR_CLANG)/lib/gcc/x86_64-linux/4.6 \
diff --git a/core/combo/HOST_darwin-x86.mk b/core/combo/HOST_darwin-x86.mk
index 994196a1b2..b819f36cb3 100644
--- a/core/combo/HOST_darwin-x86.mk
+++ b/core/combo/HOST_darwin-x86.mk
@@ -123,7 +123,9 @@ define transform-host-o-to-shared-lib-inner
$(hide) $(PRIVATE_CXX) \
-dynamiclib -single_module -read_only_relocs suppress \
$(HOST_GLOBAL_LD_DIRS) \
- $(HOST_GLOBAL_LDFLAGS) \
+ $(if $(PRIVATE_NO_DEFAULT_COMPILER_FLAGS),, \
+ $(PRIVATE_HOST_GLOBAL_LDFLAGS) \
+ ) \
$(PRIVATE_ALL_OBJECTS) \
$(addprefix -force_load , $(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)) \
$(call normalize-host-libraries,$(PRIVATE_ALL_SHARED_LIBRARIES)) \
@@ -140,9 +142,11 @@ define transform-host-o-to-executable-inner
$(hide) $(PRIVATE_CXX) \
-Wl,-rpath,@loader_path/../lib \
-o $@ \
- $(PRE_LION_DYNAMIC_LINKER_OPTIONS) -headerpad_max_install_names \
+ $(PRE_LION_DYNAMIC_LINKER_OPTIONS) -Wl,-headerpad_max_install_names \
$(HOST_GLOBAL_LD_DIRS) \
- $(HOST_GLOBAL_LDFLAGS) \
+ $(if $(PRIVATE_NO_DEFAULT_COMPILER_FLAGS),, \
+ $(PRIVATE_HOST_GLOBAL_LDFLAGS) \
+ ) \
$(call normalize-host-libraries,$(PRIVATE_ALL_SHARED_LIBRARIES)) \
$(PRIVATE_ALL_OBJECTS) \
$(call normalize-host-libraries,$(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)) \