omjavaid updated this revision to Diff 67669. omjavaid added a comment. Herald added a subscriber: srhines.
Updated with suggestion incorporated. Here's what I am getting on different inputs: Testing make clean CC=gcc ar objcopy Testing make clean CC=clang ar objcopy Testing make clean CC=gcc-5 ar objcopy Testing make clean CC=clang-3.8 ar objcopy Testing make clean CC=arm-linux-gnueabihf-gcc ARCH=arm arm-linux-gnueabihf-ar arm-linux-gnueabihf-objcopy Testing make clean CC=arm-linux-gnueabihf-gcc-5 ARCH=arm arm-linux-gnueabihf-ar arm-linux-gnueabihf-objcopy Testing make clean CC=/home/omair/work/toolchains/arm32-android-toolchain/bin/arm-linux-androideabi-gcc ARCH=arm /home/omair/work/toolchains/arm32-android-toolchain/bin/arm-linux-androideabi-ar /home/omair/work/toolchains/arm32-android-toolchain/bin/arm-linux-androideabi-objcopy Testing make clean CC=/home/omair/work/toolchains/arm32-android-toolchain/bin/arm-linux-androideabi-gcc-4.9 ARCH=arm /home/omair/work/toolchains/arm32-android-toolchain/bin/arm-linux-androideabi-ar /home/omair/work/toolchains/arm32-android-toolchain/bin/arm-linux-androideabi-objcopy https://reviews.llvm.org/D20386 Files: packages/Python/lldbsuite/test/make/Makefile.rules Index: packages/Python/lldbsuite/test/make/Makefile.rules =================================================================== --- packages/Python/lldbsuite/test/make/Makefile.rules +++ packages/Python/lldbsuite/test/make/Makefile.rules @@ -265,7 +265,32 @@ $(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) + AR = $(call replace_cc_with,ar) +endif + +ifdef PIE + LDFLAGS += -pie +endif #---------------------------------------------------------------------- # Windows specific options @@ -285,27 +310,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))
Index: packages/Python/lldbsuite/test/make/Makefile.rules =================================================================== --- packages/Python/lldbsuite/test/make/Makefile.rules +++ packages/Python/lldbsuite/test/make/Makefile.rules @@ -265,7 +265,32 @@ $(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) + AR = $(call replace_cc_with,ar) +endif + +ifdef PIE + LDFLAGS += -pie +endif #---------------------------------------------------------------------- # Windows specific options @@ -285,27 +310,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))
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits