From 81bdee57d5bcceb3dcb65cfade052d58d1e35a02 Mon Sep 17 00:00:00 2001 From: Saul Abreu Date: Mon, 11 Aug 2014 17:26:59 -0400 Subject: [PATCH] Scripts for building ICU for Android. [CL 2251958 by Saul Abreu in Main branch] --- .../icu4c-53_1/Config for Android - Debug.bat | 21 +++++++++++++++ .../Config for Android - Release.bat | 21 +++++++++++++++ .../ICU/icu4c-53_1/ConfigForAndroid-Debug.sh | 10 +++++++ .../icu4c-53_1/ConfigForAndroid-Release.sh | 10 +++++++ .../ICU/icu4c-53_1/Make for Android.bat | 26 +++++++++++++++++++ 5 files changed, 88 insertions(+) create mode 100644 Engine/Source/ThirdParty/ICU/icu4c-53_1/Config for Android - Debug.bat create mode 100644 Engine/Source/ThirdParty/ICU/icu4c-53_1/Config for Android - Release.bat create mode 100755 Engine/Source/ThirdParty/ICU/icu4c-53_1/ConfigForAndroid-Debug.sh create mode 100755 Engine/Source/ThirdParty/ICU/icu4c-53_1/ConfigForAndroid-Release.sh create mode 100644 Engine/Source/ThirdParty/ICU/icu4c-53_1/Make for Android.bat diff --git a/Engine/Source/ThirdParty/ICU/icu4c-53_1/Config for Android - Debug.bat b/Engine/Source/ThirdParty/ICU/icu4c-53_1/Config for Android - Debug.bat new file mode 100644 index 000000000000..71d2966e78d6 --- /dev/null +++ b/Engine/Source/ThirdParty/ICU/icu4c-53_1/Config for Android - Debug.bat @@ -0,0 +1,21 @@ +@echo off +REM Batch file for configuring Android platforms of ICU +REM Run this from the ICU directory + +setlocal +set CYGWIN=winsymlinks:native + +REM Android Configs +if not exist ./Android mkdir Android +cd ./Android + + REM ARMv7 Config + if not exist ./ARMv7 mkdir ARMv7 + cd ./ARMv7 + set PATH=%PATH%;%NDKROOT%\toolchains\llvm-3.3\prebuilt\windows-x86_64\bin\;%NDKROOT%\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\bin\;%NDKROOT%\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\arm-linux-androideabi\bin\ + bash -c '../../ConfigForAndroid-Debug.sh' + cd ../ + +REM Back to root +cd ../ +endlocal \ No newline at end of file diff --git a/Engine/Source/ThirdParty/ICU/icu4c-53_1/Config for Android - Release.bat b/Engine/Source/ThirdParty/ICU/icu4c-53_1/Config for Android - Release.bat new file mode 100644 index 000000000000..554caedaebbb --- /dev/null +++ b/Engine/Source/ThirdParty/ICU/icu4c-53_1/Config for Android - Release.bat @@ -0,0 +1,21 @@ +@echo off +REM Batch file for configuring Android platforms of ICU +REM Run this from the ICU directory + +setlocal +set CYGWIN=winsymlinks:native + +REM Android Configs +if not exist ./Android mkdir Android +cd ./Android + + REM ARMv7 Config + if not exist ./ARMv7 mkdir ARMv7 + cd ./ARMv7 + set PATH=%PATH%;%NDKROOT%\toolchains\llvm-3.3\prebuilt\windows-x86_64\bin\;%NDKROOT%\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\bin\;%NDKROOT%\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\arm-linux-androideabi\bin\ + bash -c '../../ConfigForAndroid-Release.sh' + cd ../ + +REM Back to root +cd ../ +endlocal \ No newline at end of file diff --git a/Engine/Source/ThirdParty/ICU/icu4c-53_1/ConfigForAndroid-Debug.sh b/Engine/Source/ThirdParty/ICU/icu4c-53_1/ConfigForAndroid-Debug.sh new file mode 100755 index 000000000000..7273f82a1718 --- /dev/null +++ b/Engine/Source/ThirdParty/ICU/icu4c-53_1/ConfigForAndroid-Debug.sh @@ -0,0 +1,10 @@ +SYSROOT=$NDKROOT/platforms/android-19/arch-arm +GCCTOOLCHAIN=$NDKROOT/toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64 +GNUSTL=$NDKROOT/sources/cxx-stl/gnu-libstdc++/4.8 +COMMONTOOLCHAINFLAGS="-target armv7a-none-linux-androideabi --sysroot=$SYSROOT -gcc-toolchain $GCCTOOLCHAIN" +COMMONCOMPILERFLAGS="-fdiagnostics-format=msvc -fPIC -fno-exceptions -frtti -fno-short-enums -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -fsigned-char" +export CFLAGS="$COMMONTOOLCHAINFLAGS $COMMONCOMPILERFLAGS -x c" +export CXXFLAGS="$COMMONTOOLCHAINFLAGS $COMMONCOMPILERFLAGS -x c++ -std=c++11" +export CPPFLAGS="$COMMONTOOLCHAINFLAGS -DUCONFIG_NO_TRANSLITERATION=1 -DPIC -DU_HAVE_NL_LANGINFO_CODESET=0 -DU_TIMEZONE=0 -I$GNUSTL/include -I$GNUSTL/libs/armeabi-v7a/include" +export LDFLAGS="$COMMONTOOLCHAINFLAGS -nostdlib -Wl,-shared,-Bsymbolic -Wl,--no-undefined -lgnustl_shared -lc -lgcc -L$GNUSTL/libs/armeabi-v7a -march=armv7-a -Wl,--fix-cortex-a8" +../../Source/configure --prefix=$PWD --build=x86_64-unknown-cygwin --with-cross-build=$PWD/../../Win64/VS2013 --host=armv7a-none-linux-androideabi --enable-debug --disable-release --enable-static --disable-shared --disable-extras --disable-samples --disable-tools --with-data-packaging=files \ No newline at end of file diff --git a/Engine/Source/ThirdParty/ICU/icu4c-53_1/ConfigForAndroid-Release.sh b/Engine/Source/ThirdParty/ICU/icu4c-53_1/ConfigForAndroid-Release.sh new file mode 100755 index 000000000000..790c31fc4b49 --- /dev/null +++ b/Engine/Source/ThirdParty/ICU/icu4c-53_1/ConfigForAndroid-Release.sh @@ -0,0 +1,10 @@ +SYSROOT=$NDKROOT/platforms/android-19/arch-arm +GCCTOOLCHAIN=$NDKROOT/toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64 +GNUSTL=$NDKROOT/sources/cxx-stl/gnu-libstdc++/4.8 +COMMONTOOLCHAINFLAGS="-target armv7a-none-linux-androideabi --sysroot=$SYSROOT -gcc-toolchain $GCCTOOLCHAIN" +COMMONCOMPILERFLAGS="-fdiagnostics-format=msvc -fPIC -fno-exceptions -frtti -fno-short-enums -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -fsigned-char" +export CFLAGS="$COMMONTOOLCHAINFLAGS $COMMONCOMPILERFLAGS -x c" +export CXXFLAGS="$COMMONTOOLCHAINFLAGS $COMMONCOMPILERFLAGS -x c++ -std=c++11" +export CPPFLAGS="$COMMONTOOLCHAINFLAGS -DUCONFIG_NO_TRANSLITERATION=1 -DPIC -DU_HAVE_NL_LANGINFO_CODESET=0 -DU_TIMEZONE=0 -I$GNUSTL/include -I$GNUSTL/libs/armeabi-v7a/include" +export LDFLAGS="$COMMONTOOLCHAINFLAGS -nostdlib -Wl,-shared,-Bsymbolic -Wl,--no-undefined -lgnustl_shared -lc -lgcc -L$GNUSTL/libs/armeabi-v7a -march=armv7-a -Wl,--fix-cortex-a8" +../../Source/configure --prefix=$PWD --build=x86_64-unknown-cygwin --with-cross-build=$PWD/../../Win64/VS2013 --host=armv7a-none-linux-androideabi --disable-debug --enable-release --enable-static --disable-shared --disable-extras --disable-samples --disable-tools --with-data-packaging=files \ No newline at end of file diff --git a/Engine/Source/ThirdParty/ICU/icu4c-53_1/Make for Android.bat b/Engine/Source/ThirdParty/ICU/icu4c-53_1/Make for Android.bat new file mode 100644 index 000000000000..057a8bd0bc36 --- /dev/null +++ b/Engine/Source/ThirdParty/ICU/icu4c-53_1/Make for Android.bat @@ -0,0 +1,26 @@ +@echo off +REM Batch file for configuring Android platforms of ICU +REM Run this from the ICU directory + +setlocal +set CYGWIN=winsymlinks:native + +REM Android Configs +if not exist ./Android ( + echo Error: Android directory does not exist. Did you forget to run configuration? + goto:eof) +cd ./Android + + REM ARMv7 Make + if not exist ./ARMv7 ( + echo Error: ARMv7 directory does not exist. Did you forget to run configuration? + goto:eof) + cd ./ARMv7 + set PATH=%PATH%;%NDKROOT%\toolchains\llvm-3.3\prebuilt\windows-x86_64\bin\;%NDKROOT%\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\bin\;%NDKROOT%\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\arm-linux-androideabi\bin\ + bash -c 'make clean' + bash -c 'make all' + cd ../ + +REM Back to root +cd ../ +endlocal \ No newline at end of file