2013-07-15 02:48:39 -07:00
|
|
|
LOCAL_PATH := $(call my-dir)
|
|
|
|
|
|
|
|
# Normally, we distribute the NDK with prebuilt binaries of STLport
|
2015-01-08 16:05:58 -08:00
|
|
|
# in $LOCAL_PATH/libs/<abi>/. However,
|
2013-07-15 02:48:39 -07:00
|
|
|
#
|
|
|
|
|
|
|
|
STLPORT_FORCE_REBUILD := $(strip $(STLPORT_FORCE_REBUILD))
|
|
|
|
ifndef STLPORT_FORCE_REBUILD
|
2015-01-08 16:05:58 -08:00
|
|
|
ifeq (,$(strip $(wildcard $(LOCAL_PATH)/libs/$(TARGET_ARCH_ABI)/libstlport_static$(TARGET_LIB_EXTENSION))))
|
2013-07-15 02:48:39 -07:00
|
|
|
$(call __ndk_info,WARNING: Rebuilding STLport libraries from sources!)
|
2015-01-08 16:05:58 -08:00
|
|
|
$(call __ndk_info,You might want to use $$NDK/build/tools/build-cxx-stl.sh --stl=stlport)
|
2013-07-15 02:48:39 -07:00
|
|
|
$(call __ndk_info,in order to build prebuilt versions to speed up your builds!)
|
|
|
|
STLPORT_FORCE_REBUILD := true
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
libstlport_path := $(LOCAL_PATH)
|
|
|
|
|
|
|
|
libstlport_src_files := \
|
|
|
|
src/dll_main.cpp \
|
|
|
|
src/fstream.cpp \
|
|
|
|
src/strstream.cpp \
|
|
|
|
src/sstream.cpp \
|
|
|
|
src/ios.cpp \
|
|
|
|
src/stdio_streambuf.cpp \
|
|
|
|
src/istream.cpp \
|
|
|
|
src/ostream.cpp \
|
|
|
|
src/iostream.cpp \
|
|
|
|
src/codecvt.cpp \
|
|
|
|
src/collate.cpp \
|
|
|
|
src/ctype.cpp \
|
|
|
|
src/monetary.cpp \
|
|
|
|
src/num_get.cpp \
|
|
|
|
src/num_put.cpp \
|
|
|
|
src/num_get_float.cpp \
|
|
|
|
src/num_put_float.cpp \
|
|
|
|
src/numpunct.cpp \
|
|
|
|
src/time_facets.cpp \
|
|
|
|
src/messages.cpp \
|
|
|
|
src/locale.cpp \
|
|
|
|
src/locale_impl.cpp \
|
|
|
|
src/locale_catalog.cpp \
|
|
|
|
src/facets_byname.cpp \
|
|
|
|
src/complex.cpp \
|
|
|
|
src/complex_io.cpp \
|
|
|
|
src/complex_trig.cpp \
|
|
|
|
src/string.cpp \
|
|
|
|
src/bitset.cpp \
|
|
|
|
src/allocators.cpp \
|
|
|
|
src/c_locale.c \
|
|
|
|
src/cxa.c \
|
|
|
|
|
|
|
|
libstlport_cflags := -D_GNU_SOURCE
|
|
|
|
libstlport_cppflags := -fuse-cxa-atexit
|
|
|
|
libstlport_c_includes := $(libstlport_path)/stlport
|
|
|
|
|
|
|
|
#It is much more practical to include the sources of GAbi++ in our builds
|
|
|
|
# of STLport. This is similar to what the GNU libstdc++ does (it includes
|
|
|
|
# its own copy of libsupc++)
|
|
|
|
#
|
|
|
|
# This simplifies usage, since you only have to list a single library
|
|
|
|
# as a dependency, instead of two, especially when using the standalone
|
|
|
|
# toolchain.
|
|
|
|
#
|
|
|
|
include $(dir $(LOCAL_PATH))/gabi++/sources.mk
|
|
|
|
|
|
|
|
libstlport_c_includes += $(libgabi++_c_includes)
|
2015-01-08 16:05:58 -08:00
|
|
|
ifneq ($(strip $(filter-out $(NDK_KNOWN_ARCHS),$(TARGET_ARCH))),)
|
|
|
|
libgabi++_src_files := src/delete.cc \
|
|
|
|
src/new.cc
|
|
|
|
endif
|
2013-07-15 02:48:39 -07:00
|
|
|
|
|
|
|
ifneq ($(STLPORT_FORCE_REBUILD),true)
|
|
|
|
|
|
|
|
$(call ndk_log,Using prebuilt STLport libraries)
|
|
|
|
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := stlport_static
|
2015-01-08 16:05:58 -08:00
|
|
|
LOCAL_SRC_FILES := libs/$(TARGET_ARCH_ABI)/lib$(LOCAL_MODULE)$(TARGET_LIB_EXTENSION)
|
|
|
|
# For armeabi*, choose thumb mode unless LOCAL_ARM_MODE := arm
|
|
|
|
ifneq (,$(filter armeabi%,$(TARGET_ARCH_ABI)))
|
|
|
|
ifneq (arm,$(LOCAL_ARM_MODE))
|
|
|
|
LOCAL_SRC_FILES := libs/$(TARGET_ARCH_ABI)/thumb/lib$(LOCAL_MODULE)$(TARGET_LIB_EXTENSION)
|
|
|
|
endif
|
|
|
|
endif
|
2013-07-15 02:48:39 -07:00
|
|
|
LOCAL_EXPORT_C_INCLUDES := $(libstlport_c_includes)
|
|
|
|
LOCAL_CPP_FEATURES := rtti
|
|
|
|
include $(PREBUILT_STATIC_LIBRARY)
|
|
|
|
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := stlport_shared
|
2015-01-08 16:05:58 -08:00
|
|
|
LOCAL_SRC_FILES := libs/$(TARGET_ARCH_ABI)/lib$(LOCAL_MODULE)$(TARGET_SONAME_EXTENSION)
|
|
|
|
# For armeabi*, choose thumb mode unless LOCAL_ARM_MODE := arm
|
|
|
|
$(info TARGET_ARCH_ABI=$(TARGET_ARCH_ABI))
|
|
|
|
$(info LOCAL_ARM_MODE=$(LOCAL_ARM_MODE))
|
|
|
|
ifneq (,$(filter armeabi%,$(TARGET_ARCH_ABI)))
|
|
|
|
ifneq (arm,$(LOCAL_ARM_MODE))
|
|
|
|
LOCAL_SRC_FILES := libs/$(TARGET_ARCH_ABI)/thumb/lib$(LOCAL_MODULE)$(TARGET_SONAME_EXTENSION)
|
|
|
|
endif
|
|
|
|
endif
|
2013-07-15 02:48:39 -07:00
|
|
|
LOCAL_EXPORT_C_INCLUDES := $(libstlport_c_includes)
|
|
|
|
LOCAL_CPP_FEATURES := rtti
|
|
|
|
include $(PREBUILT_SHARED_LIBRARY)
|
|
|
|
|
|
|
|
else # STLPORT_FORCE_REBUILD == true
|
|
|
|
|
|
|
|
$(call ndk_log,Rebuilding STLport libraries from sources)
|
|
|
|
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := stlport_static
|
|
|
|
LOCAL_CPP_EXTENSION := .cpp .cc
|
|
|
|
LOCAL_SRC_FILES := $(libstlport_src_files)
|
|
|
|
LOCAL_SRC_FILES += $(libgabi++_src_files:%=../gabi++/%)
|
|
|
|
LOCAL_CFLAGS := $(libstlport_cflags)
|
|
|
|
LOCAL_CPPFLAGS := $(libstlport_cppflags)
|
|
|
|
LOCAL_C_INCLUDES := $(libstlport_c_includes)
|
|
|
|
LOCAL_EXPORT_C_INCLUDES := $(libstlport_c_includes)
|
|
|
|
LOCAL_CPP_FEATURES := rtti exceptions
|
|
|
|
include $(BUILD_STATIC_LIBRARY)
|
|
|
|
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := stlport_shared
|
|
|
|
LOCAL_CPP_EXTENSION := .cpp .cc
|
|
|
|
LOCAL_SRC_FILES := $(libstlport_src_files)
|
|
|
|
LOCAL_SRC_FILES += $(libgabi++_src_files:%=../gabi++/%)
|
|
|
|
LOCAL_CFLAGS := $(libstlport_cflags)
|
|
|
|
LOCAL_CPPFLAGS := $(libstlport_cppflags)
|
|
|
|
LOCAL_C_INCLUDES := $(libstlport_c_includes)
|
|
|
|
LOCAL_EXPORT_C_INCLUDES := $(libstlport_c_includes)
|
|
|
|
LOCAL_CPP_FEATURES := rtti exceptions
|
|
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
|
|
|
|
endif # STLPORT_FORCE_REBUILD == true
|