Index: lldb/trunk/packages/Python/lldbsuite/test/make/Makefile.rules =================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/make/Makefile.rules +++ lldb/trunk/packages/Python/lldbsuite/test/make/Makefile.rules @@ -265,7 +265,33 @@ $(subst cc,c++,$(1)))))) cxx_linker = $(if $(findstring /,$(1)),$(join $(dir $(1)), $(call cxx_linker_notdir,$(notdir $(1)))),$(call cxx_linker_notdir,$(1))) -OBJCOPY := $(CROSS_COMPILE)objcopy +ifneq "$(OS)" "Darwin" + CLANG_OR_GCC := $(strip $(if $(findstring clang,$(CC)), \ + $(findstring clang,$(CC)), \ + $(if $(findstring gcc,$(CC)), \ + $(findstring gcc,$(CC)), \ + cc))) + + CC_LASTWORD := $(strip $(lastword $(subst -, ,$(CC)))) + + replace_with = $(strip $(if $(findstring $(3),$(CC_LASTWORD)), \ + $(subst $(3),$(1),$(2)), \ + $(subst $(3),$(1),$(subst -$(CC_LASTWORD),,$(2))))) + + ifeq "$(notdir $(CC))" "$(CC)" + replace_cc_with = $(call replace_with,$(1),$(CC),$(CLANG_OR_GCC)) + else + replace_cc_with = $(join $(dir $(CC)),$(call replace_with,$(1),$(notdir $(CC)),$(CLANG_OR_GCC))) + endif + + OBJCOPY ?= $(call replace_cc_with,objcopy) + ARCHIVER ?= $(call replace_cc_with,ar) + override AR = $(ARCHIVER) +endif + +ifdef PIE + LDFLAGS += -pie +endif #---------------------------------------------------------------------- # Windows specific options @@ -285,27 +311,6 @@ endif #---------------------------------------------------------------------- -# Android specific options -#---------------------------------------------------------------------- -ifeq "$(OS)" "Android" - ifdef PIE - LDFLAGS += -pie - endif - replace_with = $(if $(findstring clang,$(1)), \ - $(subst clang,$(2),$(1)), \ - $(if $(findstring gcc,$(1)), \ - $(subst gcc,$(2),$(1)), \ - $(subst cc,$(2),$(1)))) - ifeq "$(notdir $(CC))" "$(CC)" - replace_cc_with = $(call replace_with,$(CC),$(1)) - else - replace_cc_with = $(join $(dir $(CC)),$(call replace_with,$(notdir $(CC)),$(1))) - endif - OBJCOPY = $(call replace_cc_with,objcopy) - AR = $(call replace_cc_with,ar) -endif - -#---------------------------------------------------------------------- # C++ standard library options #---------------------------------------------------------------------- ifeq (1,$(USE_LIBSTDCPP))