diff options
author | Pavel Labath <labath@google.com> | 2017-03-07 14:57:37 +0000 |
---|---|---|
committer | Pavel Labath <labath@google.com> | 2017-03-07 14:57:37 +0000 |
commit | 8faf9b750a9f5622c90594904e6a00046e70d2df (patch) | |
tree | 08577faa743c094b9bab86f27e6c4336c2089b86 /lldb/packages/Python/lldbsuite/test | |
parent | 3770763cdae6f4b46d7555c18a8906a23a03ff38 (diff) | |
download | bcm5719-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.rules | 29 | ||||
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/make/Makefile.rules | 32 |
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)" "" |