[Lldb-commits] [lldb] r278947 - Correct makefile.rules to use arm/aarch64 target specific AR and OBJCOPY

Omair Javaid via lldb-commits lldb-commits at lists.llvm.org
Wed Aug 17 09:45:34 PDT 2016


Author: omjavaid
Date: Wed Aug 17 11:45:34 2016
New Revision: 278947

URL: http://llvm.org/viewvc/llvm-project?rev=278947&view=rev
Log:
Correct makefile.rules to use arm/aarch64 target specific AR and OBJCOPY

Differential revision: https://reviews.llvm.org/D20386


Modified:
    lldb/trunk/packages/Python/lldbsuite/test/make/Makefile.rules

Modified: lldb/trunk/packages/Python/lldbsuite/test/make/Makefile.rules
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/make/Makefile.rules?rev=278947&r1=278946&r2=278947&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/make/Makefile.rules (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/make/Makefile.rules Wed Aug 17 11:45:34 2016
@@ -265,7 +265,33 @@ cxx_linker_notdir = $(if $(findstring cl
                                         $(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 @@ ifeq "$(OS)" "Windows_NT"
 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))




More information about the lldb-commits mailing list