Author: labath
Date: Mon Mar 13 07:07:48 2017
New Revision: 297616

URL: http://llvm.org/viewvc/llvm-project?rev=297616&view=rev
Log:
Android.rules: Add libc++ support

Summary:
This adds support for building libc++ tests when targetting android. The
tests are still not passing due to several other problems, but this way
we can at least build them.

Reviewers: eugene, EricWF, danalbert

Subscribers: srhines, lldb-commits

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

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=297616&r1=297615&r2=297616&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/make/Android.rules (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/make/Android.rules Mon Mar 13 
07:07:48 2017
@@ -61,11 +61,23 @@ ifeq "$(findstring clang,$(CC))" "clang"
                -gcc-toolchain 
$(NDK_ROOT)/toolchains/$(TOOLCHAIN_DIR)/prebuilt/$(HOST_TAG)
 endif
 
-ARCH_CFLAGS += \
-       
--sysroot=$(NDK_ROOT)/platforms/android-$(API_LEVEL)/arch-$(SYSROOT_ARCH) \
-       -isystem $(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.9/include \
-       -isystem 
$(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.9/libs/$(STL_ARCH)/include \
-       -isystem $(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
-ARCH_LDFLAGS += -lm \
-       
$(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.9/libs/$(STL_ARCH)/libgnustl_static.a
 \
-       
--sysroot=$(NDK_ROOT)/platforms/android-$(API_LEVEL)/arch-$(SYSROOT_ARCH)
+ARCH_CFLAGS += 
--sysroot=$(NDK_ROOT)/platforms/android-$(API_LEVEL)/arch-$(SYSROOT_ARCH)
+ARCH_LDFLAGS += 
--sysroot=$(NDK_ROOT)/platforms/android-$(API_LEVEL)/arch-$(SYSROOT_ARCH) -lm
+
+ifeq (1,$(USE_LIBCPP))
+       ARCH_CFLAGS += \
+               -isystem $(NDK_ROOT)/sources/cxx-stl/llvm-libc++/include \
+               -isystem $(NDK_ROOT)/sources/android/support/include \
+               -isystem $(NDK_ROOT)/sources/cxx-stl/llvm-libc++abi/include
+
+       ARCH_LDFLAGS += \
+               -L$(NDK_ROOT)/sources/cxx-stl/llvm-libc++/libs/$(STL_ARCH) \
+               
-l$(NDK_ROOT)/sources/cxx-stl/llvm-libc++/libs/$(STL_ARCH)/libc++.a
+else
+       ARCH_CFLAGS += \
+               -isystem $(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.9/include \
+               -isystem 
$(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.9/libs/$(STL_ARCH)/include \
+               -isystem 
$(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
+
+       ARCH_LDFLAGS += 
$(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.9/libs/$(STL_ARCH)/libgnustl_static.a
+endif

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=297616&r1=297615&r2=297616&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/make/Makefile.rules (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/make/Makefile.rules Mon Mar 13 
07:07:48 2017
@@ -326,15 +326,19 @@ endif
 ifeq (1,$(USE_LIBCPP))
        # Clang requires an extra flag: -stdlib=libstdc++
        ifneq (,$(findstring clang,$(CC)))
+               CXXFLAGS += -DLLDB_USING_LIBCPP
                ifeq "$(OS)" "Linux"
                        # This is the default install location on Ubuntu 14.04
                        ifneq ($(wildcard /usr/include/c++/v1/.),)
-                               CXXFLAGS += -stdlib=libc++ -DLLDB_USING_LIBCPP
+                               CXXFLAGS += -stdlib=libc++
                                LDFLAGS += -stdlib=libc++
                                CXXFLAGS += -I/usr/include/c++/v1
                        endif
+               else ifeq "$(OS)" "Android"
+                       # Nothing to do, this is already handled in
+                       # Android.rules.
                else
-                       CXXFLAGS += -stdlib=libc++ -DLLDB_USING_LIBCPP
+                       CXXFLAGS += -stdlib=libc++
                        LDFLAGS += -stdlib=libc++
                endif
        endif


_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to