[Lldb-commits] [lldb] r297145 - Android.rules: add support for clang compiler

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Tue Mar 7 06:57:37 PST 2017


Author: labath
Date: Tue Mar  7 08:57:37 2017
New Revision: 297145

URL: http://llvm.org/viewvc/llvm-project?rev=297145&view=rev
Log:
Android.rules: add support for clang compiler

Summary:
building executables with the NDK clang requires -target and
-gcc-toolchain arguments.

Reviewers: eugene, danalbert

Subscribers: srhines, lldb-commits

Differential Revision: https://reviews.llvm.org/D30574

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

Modified: lldb/trunk/packages/Python/lldbsuite/test/make/Android.rules
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/make/Android.rules?rev=297145&r1=297144&r2=297145&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/make/Android.rules (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/make/Android.rules Tue Mar  7 08:57:37 2017
@@ -14,22 +14,51 @@ endif
 ifeq "$(ARCH)" "arm"
 	SYSROOT_ARCH := arm
 	STL_ARCH := armeabi-v7a
+	TRIPLE_ARCH := armv7
 	ARCH_CFLAGS += -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -marm
 else ifeq "$(ARCH)" "aarch64"
 	SYSROOT_ARCH := arm64
+	TRIPLE_ARCH := aarch64
 	STL_ARCH := arm64-v8a
 else ifeq "$(ARCH)" "i386"
 	SYSROOT_ARCH := x86
 	STL_ARCH := x86
+	TRIPLE_ARCH := i686
 else ifeq "$(ARCH)" "mips64r6"
 	SYSROOT_ARCH := mips64
 	STL_ARCH := mips64
+	TRIPLE_ARCH := mips64el
 else ifeq "$(ARCH)" "mips32"
 	SYSROOT_ARCH := mips
 	STL_ARCH := mips
+	TRIPLE_ARCH := mipsel
 else
 	SYSROOT_ARCH := $(ARCH)
 	STL_ARCH := $(ARCH)
+	TRIPLE_ARCH := $(ARCH)
+endif
+
+ifeq "$(findstring 86,$(ARCH))" "86"
+	TOOLCHAIN_DIR := $(STL_ARCH)-4.9
+else
+	TOOLCHAIN_DIR := $(TRIPLE_ARCH)-linux-android-4.9
+endif
+
+ifeq "$(HOST_OS)" "Linux"
+	HOST_TAG := linux-x86_64
+else ifeq "$(HOST_OS)" "Darwin"
+	HOST_TAG := darwin-x86_64
+else
+	HOST_TAG := windows-x86_64
+endif
+
+ifeq "$(findstring clang,$(CC))" "clang"
+	ARCH_CFLAGS += \
+		-target $(TRIPLE_ARCH)-none-linux-android \
+		-gcc-toolchain $(NDK_ROOT)/toolchains/$(TOOLCHAIN_DIR)/prebuilt/$(HOST_TAG)
+	ARCH_LDFLAGS += \
+		-target $(TRIPLE_ARCH)-none-linux-android \
+		-gcc-toolchain $(NDK_ROOT)/toolchains/$(TOOLCHAIN_DIR)/prebuilt/$(HOST_TAG)
 endif
 
 ARCH_CFLAGS += \

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=297145&r1=297144&r2=297145&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/make/Makefile.rules (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/make/Makefile.rules Tue Mar  7 08:57:37 2017
@@ -32,6 +32,22 @@ LLDB_BASE_DIR := $(THIS_FILE_DIR)../../.
 
 
 #----------------------------------------------------------------------
+# If OS is not defined, use 'uname -s' to determine the OS name.
+#
+# uname on Windows gives "windows32", but most environments standardize
+# on "Windows_NT", so we'll make it consistent here.  When running
+# tests from Visual Studio, the environment variable isn't inherited
+# all the way down to the process spawned for make.
+#----------------------------------------------------------------------
+HOST_OS = $(shell uname -s)
+ifeq "$(HOST_OS)" "windows32"
+	HOST_OS = Windows_NT
+endif
+ifeq "$(OS)" ""
+	OS = $(HOST_OS)
+endif
+
+#----------------------------------------------------------------------
 # If TRIPLE is not defined try to set the ARCH, CC, CFLAGS, and more
 # from the triple alone
 #----------------------------------------------------------------------
@@ -69,22 +85,6 @@ ifeq "$(OS)" "Android"
 endif
 
 #----------------------------------------------------------------------
-# If OS is not defined, use 'uname -s' to determine the OS name.
-#
-# uname on Windows gives "windows32", but most environments standardize
-# on "Windows_NT", so we'll make it consistent here.  When running
-# tests from Visual Studio, the environment variable isn't inherited
-# all the way down to the process spawned for make.
-#----------------------------------------------------------------------
-HOST_OS = $(shell uname -s)
-ifeq "$(HOST_OS)" "windows32"
-	HOST_OS = Windows_NT
-endif
-ifeq "$(OS)" ""
-	OS = $(HOST_OS)
-endif
-
-#----------------------------------------------------------------------
 # If ARCH is not defined, default to x86_64.
 #----------------------------------------------------------------------
 ifeq "$(ARCH)" ""




More information about the lldb-commits mailing list