[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