forked from organicmaps/organicmaps
[android] Updated toolchain and added instructions for windows
This commit is contained in:
parent
33d868612b
commit
65e35a2816
3 changed files with 37 additions and 19 deletions
21
docs/android_toolchain.txt
Normal file
21
docs/android_toolchain.txt
Normal file
|
@ -0,0 +1,21 @@
|
|||
Windows:
|
||||
|
||||
- Unzip NDK
|
||||
- Install Cygwin with gnu make and launch it
|
||||
$ export NDK_ROOT=C:/path/to/android-ndk-r5c
|
||||
$ export NDK_HOST=windows
|
||||
$ mkdir omim-android-debug
|
||||
$ cd omim-android-debug
|
||||
$ qmake -r ../omim/omim.pro -spec ../omim/tools/mkspecs/android-g++ CONFIG+=debug
|
||||
$ make
|
||||
|
||||
Mac OS X:
|
||||
|
||||
- Unzip NDK
|
||||
- Create android-debug configuration in the QtCreator and set it's properties:
|
||||
--- Shadow dir omim-android-debug
|
||||
--- Override qmake parameters: -spec /path/to/omim/tools/mkspecs/android-g++
|
||||
--- Set Environment variables
|
||||
NDK_ROOT=C:/path/to/android-ndk-r5c
|
||||
NDK_HOST=darwin-x86
|
||||
- Enjoy using QtCreator!
|
|
@ -7,29 +7,23 @@ include(g++-unix.conf)
|
|||
include(linux.conf)
|
||||
include(qws.conf)
|
||||
|
||||
NDK_ROOT = /Developer/android-ndk-r5c
|
||||
NDK_HOST = darwin-x86
|
||||
# NDK_ROOT should be defined for qmake
|
||||
# NDK_HOST should be defined for qmake
|
||||
|
||||
NDK_TOOLCHAIN_PREFIX = arm-linux-androideabi
|
||||
NDK_TOOLCHAIN_VERSION = 4.4.3
|
||||
ANDROID_PLATFORM = android-7
|
||||
ANDROID_PLATFORM = android-5
|
||||
ANDROID_TARGET_ARCH = armeabi
|
||||
|
||||
|
||||
|
||||
NDK_TOOLCHAIN = $$NDK_TOOLCHAIN_PREFIX-$$NDK_TOOLCHAIN_VERSION
|
||||
NDK_TOOLCHAIN_PATH=$$NDK_ROOT/toolchains/$$NDK_TOOLCHAIN/prebuilt/$$NDK_HOST
|
||||
NDK_TOOLCHAIN_PATH=$$(NDK_ROOT)/toolchains/$$NDK_TOOLCHAIN/prebuilt/$$(NDK_HOST)
|
||||
|
||||
|
||||
CONFIG += android-4 $$ANDROID_PLATFORM
|
||||
ANDROID_PLATFORM_ROOT_PATH = $$NDK_ROOT/platforms/android-4/arch-arm/
|
||||
CONFIG += $$ANDROID_PLATFORM
|
||||
ANDROID_PLATFORM_ROOT_PATH = $$(NDK_ROOT)/platforms/$$ANDROID_PLATFORM/arch-arm
|
||||
ANDROID_PLATFORM_PATH = $$ANDROID_PLATFORM_ROOT_PATH/usr
|
||||
|
||||
# used to compile platform plugins for android-4 and android-5
|
||||
QMAKE_ANDROID_PLATFORM_INCDIR = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-arm/usr/include
|
||||
QMAKE_ANDROID_PLATFORM_LIBDIR = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-arm/usr/lib
|
||||
|
||||
ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/libs/armeabi
|
||||
ANDROID_SOURCES_CXX_STL_INCDIR = $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/include $$ANDROID_SOURCES_CXX_STL_LIBDIR/include
|
||||
ANDROID_SOURCES_CXX_STL_LIBDIR = $$(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/libs/armeabi
|
||||
ANDROID_SOURCES_CXX_STL_INCDIR = $$(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/include $$ANDROID_SOURCES_CXX_STL_LIBDIR/include
|
||||
|
||||
# modifications to g++.conf
|
||||
QMAKE_CC = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLCHAIN_PREFIX-gcc
|
||||
|
@ -37,9 +31,11 @@ QMAKE_CC = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLCHAIN_PREFIX-gcc
|
|||
contains(ANDROID_TARGET_ARCH, armeabi-v7a): QMAKE_CFLAGS = -Wno-psabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mfpu=neon -fpic -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -Wa,--noexecstack
|
||||
else: QMAKE_CFLAGS = -Wno-psabi -march=armv5te -mtune=xscale -msoft-float -fpic -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -Wa,--noexecstack
|
||||
|
||||
QMAKE_CFLAGS += --sysroot=$$ANDROID_PLATFORM_ROOT_PATH
|
||||
|
||||
QMAKE_CFLAGS_WARN_ON = -Wall -W
|
||||
QMAKE_CFLAGS_WARN_OFF =
|
||||
QMAKE_CFLAGS_RELEASE = -mthumb -O3 -g -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64
|
||||
QMAKE_CFLAGS_RELEASE = -mthumb -O3 -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64
|
||||
QMAKE_CFLAGS_DEBUG = -marm -O0 -g -fno-omit-frame-pointer
|
||||
QMAKE_CFLAGS_SHLIB = -fPIC
|
||||
QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
|
||||
|
@ -80,12 +76,13 @@ QMAKE_LIBDIR_OPENGL = $$ANDROID_PLATFORM_PATH/lib
|
|||
QMAKE_INCDIR_QTOPIA =
|
||||
QMAKE_LIBDIR_QTOPIA =
|
||||
|
||||
LIBGCC_PATH = $$system($$QMAKE_CC -mthumb-interwork -print-libgcc-file-name | xargs dirname)
|
||||
#LIBGCC_PATH = $$system($$QMAKE_CC -mthumb-interwork -print-libgcc-file-name | xargs dirname)
|
||||
#LIBSTDCPP_PATH = $$system($$QMAKE_CC -mthumb-interwork -print-file-name=libstdc++.a | xargs dirname)
|
||||
|
||||
QMAKE_LINK = $$QMAKE_CXX
|
||||
QMAKE_LINK_SHLIB = $$QMAKE_CXX
|
||||
QMAKE_LFLAGS = --sysroot=$$ANDROID_PLATFORM_ROOT_PATH -L$$LIBGCC_PATH -Wl,-rpath-link=$$ANDROID_PLATFORM_PATH/lib
|
||||
#QMAKE_LFLAGS = --sysroot=$$ANDROID_PLATFORM_ROOT_PATH -L$$LIBGCC_PATH -Wl,-rpath-link=$$ANDROID_PLATFORM_PATH/lib
|
||||
QMAKE_LFLAGS = --sysroot=$$ANDROID_PLATFORM_ROOT_PATH -Wl,-rpath-link=$$ANDROID_PLATFORM_PATH/lib
|
||||
QMAKE_LFLAGS_APP =
|
||||
QMAKE_LFLAGS_SHLIB = -Wl,--no-undefined -Wl,-z,noexecstack -shared
|
||||
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
|
||||
|
|
|
@ -9,7 +9,7 @@ ROOT_DIR = ..
|
|||
include($$ROOT_DIR/common.pri)
|
||||
|
||||
# Generate version header
|
||||
VERSION_HEADER = $${IN_PWD}/../version/version.hpp
|
||||
VERSION_HEADER = ../../omim/version/version.hpp
|
||||
|
||||
versiontarget.target = $$VERSION_HEADER
|
||||
win32 {
|
||||
|
|
Loading…
Add table
Reference in a new issue