summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
authorPavel Labath <labath@google.com>2017-03-07 14:57:37 +0000
committerPavel Labath <labath@google.com>2017-03-07 14:57:37 +0000
commit8faf9b750a9f5622c90594904e6a00046e70d2df (patch)
tree08577faa743c094b9bab86f27e6c4336c2089b86 /lldb/packages/Python/lldbsuite/test
parent3770763cdae6f4b46d7555c18a8906a23a03ff38 (diff)
downloadbcm5719-llvm-8faf9b750a9f5622c90594904e6a00046e70d2df.tar.gz
bcm5719-llvm-8faf9b750a9f5622c90594904e6a00046e70d2df.zip
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 llvm-svn: 297145
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/make/Android.rules29
-rw-r--r--lldb/packages/Python/lldbsuite/test/make/Makefile.rules32
2 files changed, 45 insertions, 16 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/make/Android.rules b/lldb/packages/Python/lldbsuite/test/make/Android.rules
index 88fcef70248..2455bdbb0e3 100644
--- a/lldb/packages/Python/lldbsuite/test/make/Android.rules
+++ b/lldb/packages/Python/lldbsuite/test/make/Android.rules
@@ -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 += \
diff --git a/lldb/packages/Python/lldbsuite/test/make/Makefile.rules b/lldb/packages/Python/lldbsuite/test/make/Makefile.rules
index 4387a840ead..ac9cf032642 100644
--- a/lldb/packages/Python/lldbsuite/test/make/Makefile.rules
+++ b/lldb/packages/Python/lldbsuite/test/make/Makefile.rules
@@ -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)" ""
OpenPOWER on IntegriCloud