From 5d25e421ed52a989d44b9d35e785a62560285439 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Fri, 15 Sep 2017 10:58:24 -0700 Subject: [PATCH 01/23] INSTALL.md --- INSTALL.md | 15 ++++++++++++++ build-android | 50 ++++++++++++++++++++++++++++++++++++++++++++++ build-android-test | 5 +++++ os/linux_base.h | 2 ++ 4 files changed, 72 insertions(+) create mode 100755 build-android create mode 100755 build-android-test diff --git a/INSTALL.md b/INSTALL.md index 9940c2cf7..5b4c435f5 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -156,3 +156,18 @@ to get the gold linker. make make install ``` + +### Building for Android + +To build the Swift Android toolchain including libdispatch, run: + +``` +swift/utils/android$ ./build-toolchain +``` + +Which will call at the end: + +``` +swift-corelibs-libdispatch$ ./build-android +``` + diff --git a/build-android b/build-android new file mode 100755 index 000000000..5e37e9f20 --- /dev/null +++ b/build-android @@ -0,0 +1,50 @@ +#!/usr/bin/env bash +# +# build-android +# +# This source file is part of the Swift.org open source project +# +# Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors +# Licensed under Apache License v2.0 with Runtime Library Exception +# +# See https://swift.org/LICENSE.txt for license information +# See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors + +set -e + +cd "$(dirname $0)/.." || exit 1 +SWIFT_PATH=$PWD + +ANDROID_NDK_PATH="${ANDROID_NDK_PATH:?Please set the Android NDK path in the ANDROID_NDK_PATH environment variable}" + +SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/toolchains/swift-android-toolchain" +SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/Ninja-ReleaseAssert" + +cd ${SWIFT_PATH}/swift-corelibs-libdispatch +sh autogen.sh +env \ + CC="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang" \ + CXX="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++" \ + SWIFTC="$SWIFT_ANDROID_BUILD_PATH/swift-linux-x86_64/bin/swiftc" \ + CFLAGS="" \ + CPPFLAGS="-DTARGET_OS_EMBEDDED" \ + ./configure \ + --with-swift-toolchain="$SWIFT_ANDROID_TOOLCHAIN_PATH/usr" \ + --with-build-variant=release \ + --enable-android \ + --host=arm-linux-androideabi \ + --with-android-ndk=$ANDROID_NDK_PATH \ + --with-android-api-level=21 \ + --disable-build-tests \ + --prefix=$SWIFT_ANDROID_TOOLCHAIN_PATH/usr + + #LIBS="-L/tmp/placeholder" \ + #CFLAGS="-DTRASHIT='' -I/usr/include" \ + +#sed -ie "s@-L/tmp/placeholder@-L$SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android -lswiftCore -L$ANDROID_NDK_PATH/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/arm-linux-androideabi/lib/armv7-a -latomic@" src/Makefile + +make clean +make +make install + +#rsync -av $SWIFT_PATH/swift-corelibs-libdispatch/src/swift/Dispatch.swift{doc,module} $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7/ diff --git a/build-android-test b/build-android-test new file mode 100755 index 000000000..1e318fd5a --- /dev/null +++ b/build-android-test @@ -0,0 +1,5 @@ +/home/amr/swift/toolchains/swift-android-toolchain/usr/bin/swiftc -whole-module-optimization -c /home/amr/swift/swift-corelibs-libdispatch/src/swift/Block.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Data.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Dispatch.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/IO.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Private.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Queue.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Source.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Time.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Wrapper.swift -Xcc -fmodule-map-file=/home/amr/swift/swift-corelibs-libdispatch/dispatch/module.modulemap -module-name Dispatch -I/home/amr/swift/swift-corelibs-libdispatch -emit-module-path /home/amr/swift/swift-corelibs-libdispatch/src/swift/Dispatch.swiftmodule -target armv7-none-linux-androideabi -sdk /home/amr/android/android-ndk-r14b/platforms/android-21/arch-arm + +#/home/amr/swift/toolchains/swift-android-toolchain/usr/bin/swiftc -whole-module-optimization -emit-library -c /home/amr/swift/swift-corelibs-libdispatch/src/swift/Block.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Data.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Dispatch.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/IO.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Private.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Queue.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Source.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Time.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Wrapper.swift \ +#-target armv7-none-linux-androideabi -sdk /home/amr/android/android-ndk-r14b/platforms/android-21/arch-arm -L/home/amr/android/android-ndk-r14b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9.x -Xcc -fmodule-map-file=/home/amr/swift/swift-corelibs-libdispatch/dispatch/module.modulemap -I/home/amr/swift/swift-corelibs-libdispatch -Xcc -fblocks -O -module-name Dispatch -module-link-name dispatch \ +#-emit-module-path /home/amr/swift/swift-corelibs-libdispatch/src/swift/Dispatch.swiftmodule diff --git a/os/linux_base.h b/os/linux_base.h index 58b497148..278d37360 100644 --- a/os/linux_base.h +++ b/os/linux_base.h @@ -13,9 +13,11 @@ #ifndef __OS_LINUX_BASE__ #define __OS_LINUX_BASE__ +#ifndef __ANDROID__ #if __has_include() #include #endif +#endif #include #if __has_include() From 85af8ba853c98120fad4bd54aa78deea1693512b Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Fri, 15 Sep 2017 10:59:18 -0700 Subject: [PATCH 02/23] .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index aa26514c9..65dd512ee 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ Build # build files generated by autotools Makefile Makefile.in +Makefilee config.log configure aclocal.m4 From 317fd6ad7ba582aec011b4642300048df4d8c632 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Fri, 15 Sep 2017 16:11:29 -0700 Subject: [PATCH 03/23] Added build-android script which will build libdispatch for Android --- .gitignore | 1 + INSTALL.md | 15 +++++++++++++++ build-android | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ os/linux_base.h | 2 ++ 4 files changed, 68 insertions(+) create mode 100755 build-android diff --git a/.gitignore b/.gitignore index aa26514c9..65dd512ee 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ Build # build files generated by autotools Makefile Makefile.in +Makefilee config.log configure aclocal.m4 diff --git a/INSTALL.md b/INSTALL.md index 9940c2cf7..29f8617c2 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -156,3 +156,18 @@ to get the gold linker. make make install ``` + +### Building for Android + +To build the Swift Android toolchain including libdispatch, run: + +``` +swift/utils/android$ ./build-toolchain +``` + +Then run: + +``` +swift-corelibs-libdispatch$ ./build-android +``` + diff --git a/build-android b/build-android new file mode 100755 index 000000000..5e37e9f20 --- /dev/null +++ b/build-android @@ -0,0 +1,50 @@ +#!/usr/bin/env bash +# +# build-android +# +# This source file is part of the Swift.org open source project +# +# Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors +# Licensed under Apache License v2.0 with Runtime Library Exception +# +# See https://swift.org/LICENSE.txt for license information +# See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors + +set -e + +cd "$(dirname $0)/.." || exit 1 +SWIFT_PATH=$PWD + +ANDROID_NDK_PATH="${ANDROID_NDK_PATH:?Please set the Android NDK path in the ANDROID_NDK_PATH environment variable}" + +SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/toolchains/swift-android-toolchain" +SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/Ninja-ReleaseAssert" + +cd ${SWIFT_PATH}/swift-corelibs-libdispatch +sh autogen.sh +env \ + CC="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang" \ + CXX="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++" \ + SWIFTC="$SWIFT_ANDROID_BUILD_PATH/swift-linux-x86_64/bin/swiftc" \ + CFLAGS="" \ + CPPFLAGS="-DTARGET_OS_EMBEDDED" \ + ./configure \ + --with-swift-toolchain="$SWIFT_ANDROID_TOOLCHAIN_PATH/usr" \ + --with-build-variant=release \ + --enable-android \ + --host=arm-linux-androideabi \ + --with-android-ndk=$ANDROID_NDK_PATH \ + --with-android-api-level=21 \ + --disable-build-tests \ + --prefix=$SWIFT_ANDROID_TOOLCHAIN_PATH/usr + + #LIBS="-L/tmp/placeholder" \ + #CFLAGS="-DTRASHIT='' -I/usr/include" \ + +#sed -ie "s@-L/tmp/placeholder@-L$SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android -lswiftCore -L$ANDROID_NDK_PATH/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/arm-linux-androideabi/lib/armv7-a -latomic@" src/Makefile + +make clean +make +make install + +#rsync -av $SWIFT_PATH/swift-corelibs-libdispatch/src/swift/Dispatch.swift{doc,module} $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7/ diff --git a/os/linux_base.h b/os/linux_base.h index 58b497148..278d37360 100644 --- a/os/linux_base.h +++ b/os/linux_base.h @@ -13,9 +13,11 @@ #ifndef __OS_LINUX_BASE__ #define __OS_LINUX_BASE__ +#ifndef __ANDROID__ #if __has_include() #include #endif +#endif #include #if __has_include() From fb87e45a357033581fd698fbc173f1348d4b75ff Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Fri, 15 Sep 2017 16:14:31 -0700 Subject: [PATCH 04/23] Cleanup --- build-android | 7 ------- 1 file changed, 7 deletions(-) diff --git a/build-android b/build-android index 5e37e9f20..7641b275d 100755 --- a/build-android +++ b/build-android @@ -38,13 +38,6 @@ env \ --disable-build-tests \ --prefix=$SWIFT_ANDROID_TOOLCHAIN_PATH/usr - #LIBS="-L/tmp/placeholder" \ - #CFLAGS="-DTRASHIT='' -I/usr/include" \ - -#sed -ie "s@-L/tmp/placeholder@-L$SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android -lswiftCore -L$ANDROID_NDK_PATH/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/arm-linux-androideabi/lib/armv7-a -latomic@" src/Makefile - make clean make make install - -#rsync -av $SWIFT_PATH/swift-corelibs-libdispatch/src/swift/Dispatch.swift{doc,module} $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7/ From 21b095a4aaa383bc251e5035f16734a0c28d5089 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Fri, 15 Sep 2017 16:25:47 -0700 Subject: [PATCH 05/23] Fixed the toolchain path --- build-android | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-android b/build-android index 7641b275d..c38b471e2 100755 --- a/build-android +++ b/build-android @@ -17,7 +17,7 @@ SWIFT_PATH=$PWD ANDROID_NDK_PATH="${ANDROID_NDK_PATH:?Please set the Android NDK path in the ANDROID_NDK_PATH environment variable}" -SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/toolchains/swift-android-toolchain" +SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/swift-android-toolchain" SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/Ninja-ReleaseAssert" cd ${SWIFT_PATH}/swift-corelibs-libdispatch From b13a6007483f3a724b0cedd59bd8a6e834a65097 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Tue, 19 Sep 2017 11:50:30 -0700 Subject: [PATCH 06/23] build-android-cmake --- .gitignore | 4 ++++ build-android | 2 +- build-android-cmake | 58 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100755 build-android-cmake diff --git a/.gitignore b/.gitignore index 65dd512ee..bcfbd5b22 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,7 @@ libtool .dirstamp /dispatch/module.modulemap /private/module.modulemap + +*.cmake +CMakeCache.txt +CMakeFiles diff --git a/build-android b/build-android index 5e37e9f20..bb2f4bdb4 100755 --- a/build-android +++ b/build-android @@ -17,7 +17,7 @@ SWIFT_PATH=$PWD ANDROID_NDK_PATH="${ANDROID_NDK_PATH:?Please set the Android NDK path in the ANDROID_NDK_PATH environment variable}" -SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/toolchains/swift-android-toolchain" +SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/swift-android-toolchain" SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/Ninja-ReleaseAssert" cd ${SWIFT_PATH}/swift-corelibs-libdispatch diff --git a/build-android-cmake b/build-android-cmake new file mode 100755 index 000000000..f2c00e7bb --- /dev/null +++ b/build-android-cmake @@ -0,0 +1,58 @@ +#!/usr/bin/env bash +# +# build-android +# +# This source file is part of the Swift.org open source project +# +# Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors +# Licensed under Apache License v2.0 with Runtime Library Exception +# +# See https://swift.org/LICENSE.txt for license information +# See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors + +set -e + +cd "$(dirname $0)/.." || exit 1 +SWIFT_PATH=$PWD + +ANDROID_NDK_PATH="${ANDROID_NDK_PATH:?Please set the Android NDK path in the ANDROID_NDK_PATH environment variable}" + +SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/toolchains/swift-android-toolchain" +SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/Ninja-ReleaseAssert" + +cd ${SWIFT_PATH}/swift-corelibs-libdispatch + +cmake -DCMAKE_SYSTEM_NAME=Android \ + -DCMAKE_SYSTEM_VERSION=21 \ + -DCMAKE_ANDROID_NDK=$ANDROID_NDK_PATH \ + . + +# + +#sh autogen.sh +#env \ +# CC="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang" \ +# CXX="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++" \ +# SWIFTC="$SWIFT_ANDROID_BUILD_PATH/swift-linux-x86_64/bin/swiftc" \ +# CFLAGS="" \ +# CPPFLAGS="-DTARGET_OS_EMBEDDED" \ +# ./configure \ +# --with-swift-toolchain="$SWIFT_ANDROID_TOOLCHAIN_PATH/usr" \ +# --with-build-variant=release \ +# --enable-android \ +# --host=arm-linux-androideabi \ +# --with-android-ndk=$ANDROID_NDK_PATH \ +# --with-android-api-level=21 \ +# --disable-build-tests \ +# --prefix=$SWIFT_ANDROID_TOOLCHAIN_PATH/usr + + #LIBS="-L/tmp/placeholder" \ + #CFLAGS="-DTRASHIT='' -I/usr/include" \ + +#sed -ie "s@-L/tmp/placeholder@-L$SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android -lswiftCore -L$ANDROID_NDK_PATH/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/arm-linux-androideabi/lib/armv7-a -latomic@" src/Makefile + +#make clean +#make +#make install + +#rsync -av $SWIFT_PATH/swift-corelibs-libdispatch/src/swift/Dispatch.swift{doc,module} $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7/ From aefacdc67ab7afae0e54d627a78ddec7926c9385 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Tue, 19 Sep 2017 20:24:21 -0700 Subject: [PATCH 07/23] build-android .gitignore --- .gitignore | 2 ++ build-android | 34 +++++++------------------- build-android-cmake | 58 --------------------------------------------- 3 files changed, 11 insertions(+), 83 deletions(-) delete mode 100755 build-android-cmake diff --git a/.gitignore b/.gitignore index bcfbd5b22..872120bfb 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,5 @@ libtool *.cmake CMakeCache.txt CMakeFiles +*.so +*.a diff --git a/build-android b/build-android index bb2f4bdb4..22eed3d4c 100755 --- a/build-android +++ b/build-android @@ -21,30 +21,14 @@ SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/swift-android-toolchain" SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/Ninja-ReleaseAssert" cd ${SWIFT_PATH}/swift-corelibs-libdispatch -sh autogen.sh -env \ - CC="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang" \ - CXX="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++" \ - SWIFTC="$SWIFT_ANDROID_BUILD_PATH/swift-linux-x86_64/bin/swiftc" \ - CFLAGS="" \ - CPPFLAGS="-DTARGET_OS_EMBEDDED" \ - ./configure \ - --with-swift-toolchain="$SWIFT_ANDROID_TOOLCHAIN_PATH/usr" \ - --with-build-variant=release \ - --enable-android \ - --host=arm-linux-androideabi \ - --with-android-ndk=$ANDROID_NDK_PATH \ - --with-android-api-level=21 \ - --disable-build-tests \ - --prefix=$SWIFT_ANDROID_TOOLCHAIN_PATH/usr - - #LIBS="-L/tmp/placeholder" \ - #CFLAGS="-DTRASHIT='' -I/usr/include" \ - -#sed -ie "s@-L/tmp/placeholder@-L$SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android -lswiftCore -L$ANDROID_NDK_PATH/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/arm-linux-androideabi/lib/armv7-a -latomic@" src/Makefile - -make clean + +cmake -DCMAKE_SYSTEM_NAME=Android \ + -DCMAKE_SYSTEM_VERSION=21 \ + -DCMAKE_ANDROID_NDK=$ANDROID_NDK_PATH \ + -DCMAKE_C_COMPILER=$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang \ + -DCMAKE_CXX_COMPILER=$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++ + make -make install -#rsync -av $SWIFT_PATH/swift-corelibs-libdispatch/src/swift/Dispatch.swift{doc,module} $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7/ +cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android + diff --git a/build-android-cmake b/build-android-cmake deleted file mode 100755 index f2c00e7bb..000000000 --- a/build-android-cmake +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env bash -# -# build-android -# -# This source file is part of the Swift.org open source project -# -# Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors -# Licensed under Apache License v2.0 with Runtime Library Exception -# -# See https://swift.org/LICENSE.txt for license information -# See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors - -set -e - -cd "$(dirname $0)/.." || exit 1 -SWIFT_PATH=$PWD - -ANDROID_NDK_PATH="${ANDROID_NDK_PATH:?Please set the Android NDK path in the ANDROID_NDK_PATH environment variable}" - -SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/toolchains/swift-android-toolchain" -SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/Ninja-ReleaseAssert" - -cd ${SWIFT_PATH}/swift-corelibs-libdispatch - -cmake -DCMAKE_SYSTEM_NAME=Android \ - -DCMAKE_SYSTEM_VERSION=21 \ - -DCMAKE_ANDROID_NDK=$ANDROID_NDK_PATH \ - . - -# - -#sh autogen.sh -#env \ -# CC="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang" \ -# CXX="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++" \ -# SWIFTC="$SWIFT_ANDROID_BUILD_PATH/swift-linux-x86_64/bin/swiftc" \ -# CFLAGS="" \ -# CPPFLAGS="-DTARGET_OS_EMBEDDED" \ -# ./configure \ -# --with-swift-toolchain="$SWIFT_ANDROID_TOOLCHAIN_PATH/usr" \ -# --with-build-variant=release \ -# --enable-android \ -# --host=arm-linux-androideabi \ -# --with-android-ndk=$ANDROID_NDK_PATH \ -# --with-android-api-level=21 \ -# --disable-build-tests \ -# --prefix=$SWIFT_ANDROID_TOOLCHAIN_PATH/usr - - #LIBS="-L/tmp/placeholder" \ - #CFLAGS="-DTRASHIT='' -I/usr/include" \ - -#sed -ie "s@-L/tmp/placeholder@-L$SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android -lswiftCore -L$ANDROID_NDK_PATH/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/arm-linux-androideabi/lib/armv7-a -latomic@" src/Makefile - -#make clean -#make -#make install - -#rsync -av $SWIFT_PATH/swift-corelibs-libdispatch/src/swift/Dispatch.swift{doc,module} $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7/ From e42c5093a128e9f007356a7c5b7fa4e7ad1a2e5a Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Tue, 19 Sep 2017 20:25:51 -0700 Subject: [PATCH 08/23] Now using cmake --- .gitignore | 6 ++++++ build-android | 31 +++++++++++-------------------- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index 65dd512ee..872120bfb 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,9 @@ libtool .dirstamp /dispatch/module.modulemap /private/module.modulemap + +*.cmake +CMakeCache.txt +CMakeFiles +*.so +*.a diff --git a/build-android b/build-android index c38b471e2..d56517809 100755 --- a/build-android +++ b/build-android @@ -20,24 +20,15 @@ ANDROID_NDK_PATH="${ANDROID_NDK_PATH:?Please set the Android NDK path in the AND SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/swift-android-toolchain" SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/Ninja-ReleaseAssert" -cd ${SWIFT_PATH}/swift-corelibs-libdispatch -sh autogen.sh -env \ - CC="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang" \ - CXX="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++" \ - SWIFTC="$SWIFT_ANDROID_BUILD_PATH/swift-linux-x86_64/bin/swiftc" \ - CFLAGS="" \ - CPPFLAGS="-DTARGET_OS_EMBEDDED" \ - ./configure \ - --with-swift-toolchain="$SWIFT_ANDROID_TOOLCHAIN_PATH/usr" \ - --with-build-variant=release \ - --enable-android \ - --host=arm-linux-androideabi \ - --with-android-ndk=$ANDROID_NDK_PATH \ - --with-android-api-level=21 \ - --disable-build-tests \ - --prefix=$SWIFT_ANDROID_TOOLCHAIN_PATH/usr - -make clean +cd ${SWIFT_PATH}/swift-corelibs-libdispatch + +cmake -DCMAKE_SYSTEM_NAME=Android \ + -DCMAKE_SYSTEM_VERSION=21 \ + -DCMAKE_ANDROID_NDK=$ANDROID_NDK_PATH \ + -DCMAKE_C_COMPILER=$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang \ + -DCMAKE_CXX_COMPILER=$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++ + make -make install + +cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android + From 8e0f338bcae25e39c9410a7c05935592590b2e98 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Wed, 20 Sep 2017 11:38:17 -0700 Subject: [PATCH 09/23] Using build-script to build Dispatch.swiftmodule --- build-android | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/build-android b/build-android index 22eed3d4c..4925b7c5a 100755 --- a/build-android +++ b/build-android @@ -16,6 +16,7 @@ cd "$(dirname $0)/.." || exit 1 SWIFT_PATH=$PWD ANDROID_NDK_PATH="${ANDROID_NDK_PATH:?Please set the Android NDK path in the ANDROID_NDK_PATH environment variable}" +ANDROID_ICU_PATH=${SWIFT_PATH}/libiconv-libicu-android SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/swift-android-toolchain" SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/Ninja-ReleaseAssert" @@ -26,9 +27,23 @@ cmake -DCMAKE_SYSTEM_NAME=Android \ -DCMAKE_SYSTEM_VERSION=21 \ -DCMAKE_ANDROID_NDK=$ANDROID_NDK_PATH \ -DCMAKE_C_COMPILER=$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang \ - -DCMAKE_CXX_COMPILER=$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++ + -DCMAKE_CXX_COMPILER=$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++ -make +# -DCMAKE_SWIFT_COMPILER=$SWIFT_ANDROID_BUILD_PATH/swift-linux-x86_64/bin/swiftc -cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android +$SWIFT_PATH/swift/utils/build-script \ + -R \ + --android \ + --android-ndk ${ANDROID_NDK_PATH} \ + --android-api-level 21 \ + --android-icu-uc "${ANDROID_ICU_PATH}/armeabi-v7a" \ + --android-icu-uc-include "${ANDROID_ICU_PATH}/armeabi-v7a/icu/source/common" \ + --android-icu-i18n "${ANDROID_ICU_PATH}/armeabi-v7a" \ + --android-icu-i18n-include "${ANDROID_ICU_PATH}/armeabi-v7a/icu/source/i18n" \ + --libdispatch -- --install-libdispatch \ + --install-destdir=${SWIFT_ANDROID_TOOLCHAIN_PATH} + +#make + +#cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android From 5fac8063e4bb3adcddfd4040c1ded79226129d45 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Wed, 20 Sep 2017 15:13:47 -0700 Subject: [PATCH 10/23] Reverted my changes to go back to use autoconf --- build-android | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/build-android b/build-android index d56517809..e2b3002ab 100755 --- a/build-android +++ b/build-android @@ -20,14 +20,25 @@ ANDROID_NDK_PATH="${ANDROID_NDK_PATH:?Please set the Android NDK path in the AND SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/swift-android-toolchain" SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/Ninja-ReleaseAssert" -cd ${SWIFT_PATH}/swift-corelibs-libdispatch - -cmake -DCMAKE_SYSTEM_NAME=Android \ - -DCMAKE_SYSTEM_VERSION=21 \ - -DCMAKE_ANDROID_NDK=$ANDROID_NDK_PATH \ - -DCMAKE_C_COMPILER=$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang \ - -DCMAKE_CXX_COMPILER=$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++ - +cd ${SWIFT_PATH}/swift-corelibs-libdispatch +sh autogen.sh +env \ + CC="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang" \ + CXX="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++" \ + SWIFTC="$SWIFT_ANDROID_BUILD_PATH/swift-linux-x86_64/bin/swiftc" \ + CFLAGS="" \ + CPPFLAGS="-DTARGET_OS_EMBEDDED" \ + ./configure \ + --with-swift-toolchain="$SWIFT_ANDROID_TOOLCHAIN_PATH/usr" \ + --with-build-variant=release \ + --enable-android \ + --host=arm-linux-androideabi \ + --with-android-ndk=$ANDROID_NDK_PATH \ + --with-android-api-level=21 \ + --disable-build-tests \ + --prefix=$SWIFT_ANDROID_TOOLCHAIN_PATH/usr + +make clean make cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android From 2e905f8c4582833e4889fb01fac50bf690fd2ea8 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Wed, 20 Sep 2017 15:23:44 -0700 Subject: [PATCH 11/23] Copying also swiftmodule,swiftdoc --- build-android | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-android b/build-android index e2b3002ab..5289bc9ff 100755 --- a/build-android +++ b/build-android @@ -41,5 +41,6 @@ env \ make clean make -cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android +cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/.libs/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android +cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/swift/Dispatch.{swiftmodule,swiftdoc} $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/arm From e0e074020138af82cc1f7315b0fe614f90139c1b Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Tue, 26 Sep 2017 17:37:52 -0700 Subject: [PATCH 12/23] armv7 --- build-android | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-android b/build-android index 5289bc9ff..bcf6fa0fb 100755 --- a/build-android +++ b/build-android @@ -42,5 +42,5 @@ make clean make cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/.libs/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android -cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/swift/Dispatch.{swiftmodule,swiftdoc} $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/arm +cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/swift/Dispatch.{swiftmodule,swiftdoc} $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7 From 24f1e9bace1885c9fe942f669f911cf32ebd2e30 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Tue, 26 Sep 2017 17:41:34 -0700 Subject: [PATCH 13/23] build-android hw_config.h --- build-android | 47 ++++++++++++++++++++----------------------- src/shims/hw_config.h | 2 +- 2 files changed, 23 insertions(+), 26 deletions(-) diff --git a/build-android b/build-android index 4925b7c5a..7f251839e 100755 --- a/build-android +++ b/build-android @@ -16,34 +16,31 @@ cd "$(dirname $0)/.." || exit 1 SWIFT_PATH=$PWD ANDROID_NDK_PATH="${ANDROID_NDK_PATH:?Please set the Android NDK path in the ANDROID_NDK_PATH environment variable}" -ANDROID_ICU_PATH=${SWIFT_PATH}/libiconv-libicu-android SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/swift-android-toolchain" SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/Ninja-ReleaseAssert" cd ${SWIFT_PATH}/swift-corelibs-libdispatch - -cmake -DCMAKE_SYSTEM_NAME=Android \ - -DCMAKE_SYSTEM_VERSION=21 \ - -DCMAKE_ANDROID_NDK=$ANDROID_NDK_PATH \ - -DCMAKE_C_COMPILER=$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang \ - -DCMAKE_CXX_COMPILER=$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++ - -# -DCMAKE_SWIFT_COMPILER=$SWIFT_ANDROID_BUILD_PATH/swift-linux-x86_64/bin/swiftc - -$SWIFT_PATH/swift/utils/build-script \ - -R \ - --android \ - --android-ndk ${ANDROID_NDK_PATH} \ - --android-api-level 21 \ - --android-icu-uc "${ANDROID_ICU_PATH}/armeabi-v7a" \ - --android-icu-uc-include "${ANDROID_ICU_PATH}/armeabi-v7a/icu/source/common" \ - --android-icu-i18n "${ANDROID_ICU_PATH}/armeabi-v7a" \ - --android-icu-i18n-include "${ANDROID_ICU_PATH}/armeabi-v7a/icu/source/i18n" \ - --libdispatch -- --install-libdispatch \ - --install-destdir=${SWIFT_ANDROID_TOOLCHAIN_PATH} - -#make - -#cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android +sh autogen.sh +env \ + CC="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang" \ + CXX="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++" \ + SWIFTC="$SWIFT_ANDROID_BUILD_PATH/swift-linux-x86_64/bin/swiftc" \ + CFLAGS="-I$ANDROID_NDK_PATH/sysroot/usr/include" \ + CPPFLAGS="-I$ANDROID_NDK_PATH/sysroot/usr/include -DTARGET_OS_EMBEDDED" \ + ./configure \ + --with-swift-toolchain="$SWIFT_ANDROID_TOOLCHAIN_PATH/usr" \ + --with-build-variant=release \ + --enable-android \ + --host=arm-linux-androideabi \ + --with-android-ndk=$ANDROID_NDK_PATH \ + --with-android-api-level=21 \ + --disable-build-tests \ + --prefix=$SWIFT_ANDROID_TOOLCHAIN_PATH/usr + +make clean +make + +cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/.libs/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7 +cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/swift/Dispatch.{swiftmodule,swiftdoc} $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7 diff --git a/src/shims/hw_config.h b/src/shims/hw_config.h index 485dad663..1d164048e 100644 --- a/src/shims/hw_config.h +++ b/src/shims/hw_config.h @@ -104,7 +104,7 @@ _dispatch_hw_get_config(_dispatch_hw_config_t c) return (uint32_t)sysconf(_SC_NPROCESSORS_CONF); case _dispatch_hw_config_active_cpus: { -#ifdef __USE_GNU +#if defined(__USE_GNU) && !defined(__ANDROID__) // Prefer pthread_getaffinity_np because it considers // scheduler cpu affinity. This matters if the program // is restricted to a subset of the online cpus (eg via numactl). From 1bdb62dfe888ab915339688cbfa2e7f190793989 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Tue, 26 Sep 2017 20:03:15 -0700 Subject: [PATCH 14/23] removed build-android-test --- build-android-test | 5 ----- 1 file changed, 5 deletions(-) delete mode 100755 build-android-test diff --git a/build-android-test b/build-android-test deleted file mode 100755 index 1e318fd5a..000000000 --- a/build-android-test +++ /dev/null @@ -1,5 +0,0 @@ -/home/amr/swift/toolchains/swift-android-toolchain/usr/bin/swiftc -whole-module-optimization -c /home/amr/swift/swift-corelibs-libdispatch/src/swift/Block.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Data.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Dispatch.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/IO.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Private.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Queue.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Source.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Time.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Wrapper.swift -Xcc -fmodule-map-file=/home/amr/swift/swift-corelibs-libdispatch/dispatch/module.modulemap -module-name Dispatch -I/home/amr/swift/swift-corelibs-libdispatch -emit-module-path /home/amr/swift/swift-corelibs-libdispatch/src/swift/Dispatch.swiftmodule -target armv7-none-linux-androideabi -sdk /home/amr/android/android-ndk-r14b/platforms/android-21/arch-arm - -#/home/amr/swift/toolchains/swift-android-toolchain/usr/bin/swiftc -whole-module-optimization -emit-library -c /home/amr/swift/swift-corelibs-libdispatch/src/swift/Block.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Data.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Dispatch.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/IO.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Private.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Queue.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Source.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Time.swift /home/amr/swift/swift-corelibs-libdispatch/src/swift/Wrapper.swift \ -#-target armv7-none-linux-androideabi -sdk /home/amr/android/android-ndk-r14b/platforms/android-21/arch-arm -L/home/amr/android/android-ndk-r14b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9.x -Xcc -fmodule-map-file=/home/amr/swift/swift-corelibs-libdispatch/dispatch/module.modulemap -I/home/amr/swift/swift-corelibs-libdispatch -Xcc -fblocks -O -module-name Dispatch -module-link-name dispatch \ -#-emit-module-path /home/amr/swift/swift-corelibs-libdispatch/src/swift/Dispatch.swiftmodule From 68e0c4775d4680a4d553e7ec85b909c0ab009d58 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Tue, 26 Sep 2017 22:24:44 -0700 Subject: [PATCH 15/23] Added build-android-cmake --- build-android-cmake | 59 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100755 build-android-cmake diff --git a/build-android-cmake b/build-android-cmake new file mode 100755 index 000000000..7267bbfb6 --- /dev/null +++ b/build-android-cmake @@ -0,0 +1,59 @@ +#!/usr/bin/env bash +# +# build-android +# +# This source file is part of the Swift.org open source project +# +# Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors +# Licensed under Apache License v2.0 with Runtime Library Exception +# +# See https://swift.org/LICENSE.txt for license information +# See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors + +set -e + +cd "$(dirname $0)/.." || exit 1 +SWIFT_PATH=$PWD + +ANDROID_NDK_PATH="${ANDROID_NDK_PATH:?Please set the Android NDK path in the ANDROID_NDK_PATH environment variable}" + +SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/swift-android-toolchain" +SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/Ninja-ReleaseAssert" + +cd ${SWIFT_PATH}/swift-corelibs-libdispatch + +cmake \ + -DBUILD_SHARED_LIBS=OFF \ + -DENABLE_TESTING=OFF \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SYSTEM_NAME=Android \ + -DCMAKE_SYSTEM_VERSION=21 \ + -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a \ + -DCMAKE_ANDROID_NDK=$ANDROID_NDK_PATH \ + -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang \ + -DCMAKE_CXX_COMPILER=$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++ \ + -DCMAKE_SWIFT_COMPILER=$SWIFT_ANDROID_BUILD_PATH/swift-linux-x86_64/bin/swiftc + +#sh autogen.sh +#env \ +# CC="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang" \ +# CXX="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++" \ +# SWIFTC="$SWIFT_ANDROID_BUILD_PATH/swift-linux-x86_64/bin/swiftc" \ +# CFLAGS="-I$ANDROID_NDK_PATH/sysroot/usr/include" \ +# CPPFLAGS="-I$ANDROID_NDK_PATH/sysroot/usr/include -DTARGET_OS_EMBEDDED" \ +# ./configure \ +# --with-swift-toolchain="$SWIFT_ANDROID_TOOLCHAIN_PATH/usr" \ +# --with-build-variant=release \ +# --enable-android \ +# --host=arm-linux-androideabi \ +# --with-android-ndk=$ANDROID_NDK_PATH \ +# --with-android-api-level=21 \ +# --disable-build-tests \ +# --prefix=$SWIFT_ANDROID_TOOLCHAIN_PATH/usr + +#make clean +make + +cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/.libs/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7 +cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/swift/Dispatch.{swiftmodule,swiftdoc} $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7 + From 59bd341dbdb29e3541484cf5c95de4d98cf4619b Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Tue, 26 Sep 2017 22:25:32 -0700 Subject: [PATCH 16/23] cleanup --- build-android | 1 - build-android-cmake | 18 ------------------ 2 files changed, 19 deletions(-) diff --git a/build-android b/build-android index 7f251839e..54463d3f8 100755 --- a/build-android +++ b/build-android @@ -38,7 +38,6 @@ env \ --disable-build-tests \ --prefix=$SWIFT_ANDROID_TOOLCHAIN_PATH/usr -make clean make cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/.libs/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7 diff --git a/build-android-cmake b/build-android-cmake index 7267bbfb6..e5f3207a6 100755 --- a/build-android-cmake +++ b/build-android-cmake @@ -34,24 +34,6 @@ cmake \ -DCMAKE_CXX_COMPILER=$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++ \ -DCMAKE_SWIFT_COMPILER=$SWIFT_ANDROID_BUILD_PATH/swift-linux-x86_64/bin/swiftc -#sh autogen.sh -#env \ -# CC="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang" \ -# CXX="$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++" \ -# SWIFTC="$SWIFT_ANDROID_BUILD_PATH/swift-linux-x86_64/bin/swiftc" \ -# CFLAGS="-I$ANDROID_NDK_PATH/sysroot/usr/include" \ -# CPPFLAGS="-I$ANDROID_NDK_PATH/sysroot/usr/include -DTARGET_OS_EMBEDDED" \ -# ./configure \ -# --with-swift-toolchain="$SWIFT_ANDROID_TOOLCHAIN_PATH/usr" \ -# --with-build-variant=release \ -# --enable-android \ -# --host=arm-linux-androideabi \ -# --with-android-ndk=$ANDROID_NDK_PATH \ -# --with-android-api-level=21 \ -# --disable-build-tests \ -# --prefix=$SWIFT_ANDROID_TOOLCHAIN_PATH/usr - -#make clean make cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/.libs/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7 From dcdb947ca7f53fa3092fea31f4415dafb7ba7840 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Sat, 30 Sep 2017 10:22:51 -0700 Subject: [PATCH 17/23] API 22 --- build-android | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-android b/build-android index 54463d3f8..a79c700b9 100755 --- a/build-android +++ b/build-android @@ -34,7 +34,7 @@ env \ --enable-android \ --host=arm-linux-androideabi \ --with-android-ndk=$ANDROID_NDK_PATH \ - --with-android-api-level=21 \ + --with-android-api-level=22 \ --disable-build-tests \ --prefix=$SWIFT_ANDROID_TOOLCHAIN_PATH/usr From 787ed997a4049fcc3ad5edf376e72749d8c22644 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Fri, 6 Oct 2017 16:05:01 -0700 Subject: [PATCH 18/23] build-android build-android-cmake --- build-android | 4 ++-- build-android-cmake | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/build-android b/build-android index a79c700b9..ddd3fbf58 100755 --- a/build-android +++ b/build-android @@ -16,9 +16,9 @@ cd "$(dirname $0)/.." || exit 1 SWIFT_PATH=$PWD ANDROID_NDK_PATH="${ANDROID_NDK_PATH:?Please set the Android NDK path in the ANDROID_NDK_PATH environment variable}" +SWIFT_ANDROID_BUILD_PATH="${SWIFT_ANDROID_BUILD_PATH:?Please set the Swift Android build path in the SWIFT_ANDROID_BUILD_PATH environment variable}" SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/swift-android-toolchain" -SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/Ninja-ReleaseAssert" cd ${SWIFT_PATH}/swift-corelibs-libdispatch sh autogen.sh @@ -34,7 +34,7 @@ env \ --enable-android \ --host=arm-linux-androideabi \ --with-android-ndk=$ANDROID_NDK_PATH \ - --with-android-api-level=22 \ + --with-android-api-level=21 \ --disable-build-tests \ --prefix=$SWIFT_ANDROID_TOOLCHAIN_PATH/usr diff --git a/build-android-cmake b/build-android-cmake index e5f3207a6..c0fbdcd93 100755 --- a/build-android-cmake +++ b/build-android-cmake @@ -16,9 +16,9 @@ cd "$(dirname $0)/.." || exit 1 SWIFT_PATH=$PWD ANDROID_NDK_PATH="${ANDROID_NDK_PATH:?Please set the Android NDK path in the ANDROID_NDK_PATH environment variable}" +SWIFT_ANDROID_BUILD_PATH="${SWIFT_ANDROID_BUILD_PATH:?Please set the Swift Android build path in the SWIFT_ANDROID_BUILD_PATH environment variable}" SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/swift-android-toolchain" -SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/Ninja-ReleaseAssert" cd ${SWIFT_PATH}/swift-corelibs-libdispatch @@ -32,7 +32,8 @@ cmake \ -DCMAKE_ANDROID_NDK=$ANDROID_NDK_PATH \ -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang \ -DCMAKE_CXX_COMPILER=$SWIFT_ANDROID_BUILD_PATH/llvm-linux-x86_64/bin/clang++ \ - -DCMAKE_SWIFT_COMPILER=$SWIFT_ANDROID_BUILD_PATH/swift-linux-x86_64/bin/swiftc + -DCMAKE_SWIFT_COMPILER=$SWIFT_ANDROID_BUILD_PATH/swift-linux-x86_64/bin/swiftc \ + -DENABLE_SWIFT=YES make From f63dcbeb333c8a151a5cfbbb3355b2fd9e04e129 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Sun, 8 Oct 2017 08:17:25 -0700 Subject: [PATCH 19/23] Changed the build path --- build-android | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-android b/build-android index ddd3fbf58..23f2611e4 100755 --- a/build-android +++ b/build-android @@ -16,8 +16,7 @@ cd "$(dirname $0)/.." || exit 1 SWIFT_PATH=$PWD ANDROID_NDK_PATH="${ANDROID_NDK_PATH:?Please set the Android NDK path in the ANDROID_NDK_PATH environment variable}" -SWIFT_ANDROID_BUILD_PATH="${SWIFT_ANDROID_BUILD_PATH:?Please set the Swift Android build path in the SWIFT_ANDROID_BUILD_PATH environment variable}" - +SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/android" SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/swift-android-toolchain" cd ${SWIFT_PATH}/swift-corelibs-libdispatch From dfb892f511e02eaf698a7794c3bbf27012512bb4 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Mon, 9 Oct 2017 17:45:48 -0700 Subject: [PATCH 20/23] build-android --- build-android | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-android b/build-android index 23f2611e4..818cdd137 100755 --- a/build-android +++ b/build-android @@ -16,7 +16,7 @@ cd "$(dirname $0)/.." || exit 1 SWIFT_PATH=$PWD ANDROID_NDK_PATH="${ANDROID_NDK_PATH:?Please set the Android NDK path in the ANDROID_NDK_PATH environment variable}" -SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/android" +SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/Ninja-ReleaseAssert" SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/swift-android-toolchain" cd ${SWIFT_PATH}/swift-corelibs-libdispatch From 7d59be2b19fc8143355cd4d26ff39f73120e85a9 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Tue, 10 Oct 2017 18:19:13 -0700 Subject: [PATCH 21/23] build-android --- build-android | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-android b/build-android index 818cdd137..633c36939 100755 --- a/build-android +++ b/build-android @@ -39,6 +39,6 @@ env \ make -cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/.libs/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7 +cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/.libs/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/swift/Dispatch.{swiftmodule,swiftdoc} $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7 From c37e9ac28530dd49da8a6a38443e89e7ad70e1a1 Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Sun, 15 Oct 2017 16:16:58 -0700 Subject: [PATCH 22/23] armv7 --- build-android | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-android b/build-android index 633c36939..818cdd137 100755 --- a/build-android +++ b/build-android @@ -39,6 +39,6 @@ env \ make -cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/.libs/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android +cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/.libs/libdispatch.so $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7 cp ${SWIFT_PATH}/swift-corelibs-libdispatch/src/swift/Dispatch.{swiftmodule,swiftdoc} $SWIFT_ANDROID_TOOLCHAIN_PATH/usr/lib/swift/android/armv7 From 38e6a8c1e201a634e6380f1db5be2f9c27e4dcbb Mon Sep 17 00:00:00 2001 From: Amr Aboelela Date: Sun, 15 Oct 2017 18:59:36 -0700 Subject: [PATCH 23/23] build-android-cmake --- build-android-cmake | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-android-cmake b/build-android-cmake index c0fbdcd93..db7fafee0 100755 --- a/build-android-cmake +++ b/build-android-cmake @@ -16,8 +16,7 @@ cd "$(dirname $0)/.." || exit 1 SWIFT_PATH=$PWD ANDROID_NDK_PATH="${ANDROID_NDK_PATH:?Please set the Android NDK path in the ANDROID_NDK_PATH environment variable}" -SWIFT_ANDROID_BUILD_PATH="${SWIFT_ANDROID_BUILD_PATH:?Please set the Swift Android build path in the SWIFT_ANDROID_BUILD_PATH environment variable}" - +SWIFT_ANDROID_BUILD_PATH="${SWIFT_PATH}/build/Ninja-ReleaseAssert" SWIFT_ANDROID_TOOLCHAIN_PATH="${SWIFT_PATH}/swift-android-toolchain" cd ${SWIFT_PATH}/swift-corelibs-libdispatch