[swift-dev] Cross-compile for Android armv7 from OSX
Dmitri Gribenko
gribozavr at gmail.com
Thu Jan 21 13:38:48 CST 2016
On Thu, Jan 21, 2016 at 11:04 AM, Tom Birch <froody at gmail.com> wrote:
> Ok, thanks, I'll run with that. I see
> SWIFT_NATIVE_(LLVM|CLANG|SWIFT)_TOOLS_PATH, is currently used/supported
> anywhere?
Yes, it is supported and can be used to compile the libraries with an
existing swift compiler, while cross-compiling the compiler. It can
be used for some cross-compilation workflows.
> My current plan is to:
> 1) Build everything (llvm/clang, cmark, swift) for macosx-x86_64
> 2) Setup SWIFT_NATIVE_*_TOOLS_PATH to point to the respective dirs created
> in (1)
> 3) Create a swift-android-armv7 build dir
> 4) Invoke CMake in swift-android-armv7 with vars from (2), plus a
> Toolchain-android-armv7.cmake to set CMAKE_SYSTEM_NAME, CMAKE_SYSROOT, etc
> for the android build
Right, except the step (2) actually happens inside of step (4).
That's exactly how it is supposed to work.
> Ideally I'd only build the stdlib and tests for android, skipping the tools
> and and llvm/clang builds. Does this seem feasible? I know the runtime
> depends on llvm headers, but I can either use the macosx-x86_64 llvm
> headers, or do a partial headers-only install of llvm-android-armv7. Are
> there any binaries/tools needed to be built for the target (i.e
> android-armv7) in order to build stdlib?
Yes, you can do that with appropriate skip-build-* flags, but you
would still need to configure llvm/clang. build-script should take
care of that if you give it appropriate flags.
> Anything else I should know/watch
> out for?
Nothing that I know of right now.
Dmitri
--
main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
(j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/
More information about the swift-dev
mailing list