diff --git a/android/jni/Android.mk b/android/jni/Android.mk index 715ab65ed9..6acb7c0035 100644 --- a/android/jni/Android.mk +++ b/android/jni/Android.mk @@ -18,6 +18,11 @@ MY_PREBUILT_LIBS_PATH := ../../../omim-android-$(OMIM_CONFIG)-$(TARGET_ARCH_ABI) # Avoid clean errors due to missing external static libs ifneq ($(MAKECMDGOALS),clean) +include $(CLEAR_VARS) +LOCAL_MODULE := osrm +LOCAL_SRC_FILES := $(MY_PREBUILT_LIBS_PATH)/libosrm.a +include $(PREBUILT_STATIC_LIBRARY) + include $(CLEAR_VARS) LOCAL_MODULE := protobuf LOCAL_SRC_FILES := $(MY_PREBUILT_LIBS_PATH)/libprotobuf.a @@ -132,7 +137,7 @@ include $(CLEAR_VARS) LOCAL_CPP_FEATURES += exceptions rtti LOCAL_MODULE := mapswithme -LOCAL_STATIC_LIBRARIES := stats_client map gui routing search storage indexer graphics platform anim geometry coding base expat freetype fribidi zlib bzip2 jansson tomcrypt protobuf +LOCAL_STATIC_LIBRARIES := stats_client map gui routing search storage indexer graphics platform anim geometry coding base expat freetype fribidi zlib bzip2 jansson tomcrypt protobuf osrm LOCAL_CFLAGS := -ffunction-sections -fdata-sections -Wno-extern-c-compat ifneq ($(NDK_DEBUG),1) @@ -199,7 +204,7 @@ LOCAL_SRC_FILES := \ nv_event/nv_event.cpp \ nv_time/nv_time.cpp \ -LOCAL_LDLIBS := -llog -lGLESv2 +LOCAL_LDLIBS := -llog -lGLESv2 -latomic LOCAL_LDLIBS += -Wl,--gc-sections diff --git a/android/jni/Application.mk b/android/jni/Application.mk index c3718d29c7..3c6c072aa5 100644 --- a/android/jni/Application.mk +++ b/android/jni/Application.mk @@ -1,9 +1,11 @@ -NDK_TOOLCHAIN_VERSION := 4.6 +NDK_TOOLCHAIN_VERSION := clang3.4 APP_PLATFORM := android-5 -APP_STL := gnustl_static -APP_CPPFLAGS += -std=c++11 +APP_STL := c++_static +#APP_CPPFLAGS += -std=c++11 +# for gcc 4.6 +#APP_CPPFLAGS += -D__GXX_EXPERIMENTAL_CXX0X__ -D_GLIBCXX_USE_C99_STDINT_TR1 # for gcc 4.8+ -#APP_CPPFLAGS += -Wno-deprecated-register +APP_CPPFLAGS += -Wno-deprecated-register ifeq (x$(NDK_ABI_TO_BUILD), x) APP_ABI := armeabi armeabi-v7a-hard x86 diff --git a/tools/autobuild/android.sh b/tools/autobuild/android.sh index 5ccb407a71..bc4544490a 100644 --- a/tools/autobuild/android.sh +++ b/tools/autobuild/android.sh @@ -14,7 +14,7 @@ CONFIGURATION="$1" source "$MY_PATH/build.sh" source "$MY_PATH/ndk_helper.sh" -MKSPEC="$MY_PATH/../mkspecs/android-g++" +MKSPEC="$MY_PATH/../mkspecs/android-clang" QMAKE_PARAMS="CONFIG+=${CONFIGURATION}" SHADOW_DIR_BASE="$MY_PATH/../../../omim-android" diff --git a/tools/mkspecs/android-clang/qmake.conf b/tools/mkspecs/android-clang/qmake.conf index 19a844e582..7a6e98c7f6 100644 --- a/tools/mkspecs/android-clang/qmake.conf +++ b/tools/mkspecs/android-clang/qmake.conf @@ -99,6 +99,7 @@ QMAKE_CFLAGS *= -Wa,--noexecstack -Wformat -Werror=format-security # in android-ndk/platforms/android-5/arch-arm/usr/include/locale.h QMAKE_CFLAGS *= -Wno-extern-c-compat -Wno-deprecated-register +QMAKE_CFLAGS *= --sysroot=$$PLATFORM_INCLUDE_PATH/../.. QMAKE_CXXFLAGS *= $$QMAKE_CFLAGS -std=c++11 -fexceptions -frtti @@ -113,13 +114,15 @@ QMAKE_CXXFLAGS_HIDESYMS = $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden # modifications to linux.conf QMAKE_AR = $$AR_FULL_PATH cqsD -#QMAKE_INCDIR = $$BASE_CXX_INCLUDE_PATH/libcxx/include -#QMAKE_INCDIR *= $$BASE_CXX_INCLUDE_PATH/../../android/support/include -#QMAKE_INCDIR *= $$ABI_INCLUDE_PATH +#ABI_INCLUDE_PATH = $$BASE_CXX_INCLUDE_PATH/../llvm-libc++abi/libcxxabi/include + +QMAKE_INCDIR = $$BASE_CXX_INCLUDE_PATH/libcxx/include +QMAKE_INCDIR *= $$ABI_INCLUDE_PATH +QMAKE_INCDIR *= $$BASE_CXX_INCLUDE_PATH/../../android/support/include QMAKE_INCDIR *= $$PLATFORM_INCLUDE_PATH -QMAKE_INCDIR *= $$BASE_GNUSTL_INCLUDE_PATH/include -QMAKE_INCDIR *= $$BASE_GNUSTL_INCLUDE_PATH/include/backward -QMAKE_INCDIR *= $$ABI_GNUSTL_INCLUDE_PATH +#QMAKE_INCDIR *= $$BASE_GNUSTL_INCLUDE_PATH/include +#QMAKE_INCDIR *= $$BASE_GNUSTL_INCLUDE_PATH/include/backward +#QMAKE_INCDIR *= $$ABI_GNUSTL_INCLUDE_PATH #QMAKE_LIBDIR = $$ANDROID_SOURCES_CXX_STL_LIBDIR $$ANDROID_PLATFORM_PATH/lib