diff options
Diffstat (limited to 'cross')
-rw-r--r-- | cross/ndk-build/Makefile.in | 26 | ||||
-rw-r--r-- | cross/ndk-build/ndk-build.mk.in | 2 | ||||
-rw-r--r-- | cross/ndk-build/ndk-resolve.mk | 32 |
3 files changed, 45 insertions, 15 deletions
diff --git a/cross/ndk-build/Makefile.in b/cross/ndk-build/Makefile.in index 8ba2d356f27..0970a765b45 100644 --- a/cross/ndk-build/Makefile.in +++ b/cross/ndk-build/Makefile.in @@ -24,15 +24,17 @@ srcdir = @srcdir@ # This is a list of Android.mk files which provide targets. -NDK_BUILD_ANDROID_MK = @NDK_BUILD_ANDROID_MK@ - NDK_BUILD_ARCH = @NDK_BUILD_ARCH@ - NDK_BUILD_ABI = @NDK_BUILD_ABI@ - NDK_BUILD_SDK = @NDK_BUILD_SDK@ - NDK_BUILD_CC = @NDK_BUILD_CC@ - NDK_BUILD_CXX = @NDK_BUILD_CXX@ - NDK_BUILD_AR = @NDK_BUILD_AR@ - NDK_BUILD_NASM = @NDK_BUILD_NASM@ - NDK_BUILD_CFLAGS = @NDK_BUILD_CFLAGS@ + NDK_BUILD_ANDROID_MK = @NDK_BUILD_ANDROID_MK@ + NDK_BUILD_ARCH = @NDK_BUILD_ARCH@ + NDK_BUILD_ABI = @NDK_BUILD_ABI@ + NDK_BUILD_SDK = @NDK_BUILD_SDK@ + NDK_BUILD_CC = @NDK_BUILD_CC@ + NDK_BUILD_CXX = @NDK_BUILD_CXX@ + NDK_BUILD_CXX_STL = @NDK_BUILD_CXX_STL@ +NDK_BUILD_CXX_LDFLAGS = @NDK_BUILD_CXX_LDFLAGS@ + NDK_BUILD_AR = @NDK_BUILD_AR@ + NDK_BUILD_NASM = @NDK_BUILD_NASM@ + NDK_BUILD_CFLAGS = @NDK_BUILD_CFLAGS@ # This is a list of targets to build. NDK_BUILD_MODULES = @NDK_BUILD_MODULES@ @@ -58,8 +60,10 @@ NDK_BUILD_ANDROID_MK := $(call uniqify,$(NDK_BUILD_ANDROID_MK)) NDK_BUILD_MODULES := $(call uniqify,$(NDK_BUILD_MODULES)) # Define CFLAGS for compiling C++ code; this involves removing all -# -std=NNN options. -NDK_BUILD_CFLAGS_CXX := $(filter-out -std=%,$(NDK_BUILD_CFLAGS)) +# -std=NNN options and inserting compilation options for the C++ +# library. +NDK_BUILD_CFLAGS_CXX := $(filter-out -std=%,$(NDK_BUILD_CFLAGS)) \ + $(NDK_BUILD_CXX_STL) define subr-1 diff --git a/cross/ndk-build/ndk-build.mk.in b/cross/ndk-build/ndk-build.mk.in index 6c85ff5044e..ea1be5af6f1 100644 --- a/cross/ndk-build/ndk-build.mk.in +++ b/cross/ndk-build/ndk-build.mk.in @@ -22,6 +22,8 @@ NDK_BUILD_MODULES = @NDK_BUILD_MODULES@ NDK_BUILD_CXX_SHARED = @NDK_BUILD_CXX_SHARED@ +NDK_BUILD_CXX_STL = @NDK_BUILD_CXX_STL@ +NDK_BUILD_CXX_LDFLAGS = @NDK_BUILD_CXX_LDFLAGS@ NDK_BUILD_ANY_CXX_MODULE = @NDK_BUILD_ANY_CXX_MODULE@ NDK_BUILD_SHARED = NDK_BUILD_STATIC = diff --git a/cross/ndk-build/ndk-resolve.mk b/cross/ndk-build/ndk-resolve.mk index d3b398bca62..4d8ecf8667a 100644 --- a/cross/ndk-build/ndk-resolve.mk +++ b/cross/ndk-build/ndk-resolve.mk @@ -20,7 +20,7 @@ # which actually builds targets. # List of system libraries to ignore. -NDK_SYSTEM_LIBRARIES = z libz libc c libdl dl stdc++ libstdc++ log liblog android libandroid +NDK_SYSTEM_LIBRARIES = z libz libc c libdl dl stdc++ libstdc++ stlport libstlport gnustl libgnustl c++ libc++ log liblog android libandroid # Save information. NDK_LOCAL_PATH_$(LOCAL_MODULE) := $(LOCAL_PATH) @@ -90,11 +90,35 @@ endif # Likewise for libstdc++. ifeq ($(strip $(1)),libstdc++) -NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += -lstdc++ +NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += $(NDK_BUILD_CXX_LDFLAGS) endif -ifeq ($(strip $(1)),dl) -NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += -lstdc++ +ifeq ($(strip $(1)),stdc++) +NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += $(NDK_BUILD_CXX_LDFLAGS) +endif + +ifeq ($(strip $(1)),libstlport) +NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += $(NDK_BUILD_CXX_LDFLAGS) +endif + +ifeq ($(strip $(1)),stlport) +NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += $(NDK_BUILD_CXX_LDFLAGS) +endif + +ifeq ($(strip $(1)),libgnustl) +NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += $(NDK_BUILD_CXX_LDFLAGS) +endif + +ifeq ($(strip $(1)),gnustl) +NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += $(NDK_BUILD_CXX_LDFLAGS) +endif + +ifeq ($(strip $(1)),libc++) +NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += $(NDK_BUILD_CXX_LDFLAGS) +endif + +ifeq ($(strip $(1)),c++) +NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += $(NDK_BUILD_CXX_LDFLAGS) endif # Likewise for liblog. |