How to export something similar to an xctoolchain for another platform


(Andrew Hyatt) #1

Hello swift-dev,

I am cross compiling for iOS. Everything compiles fine, but at the install step things are very broken.

My goal is for /tmp/install/swift to look like an xctoolchain.

The install commands fail to create the necessary directories, and even when I create the directories, all the swift-install-components are never copied over. Ninja also fails if --install-swift is specified after the dash-dash. Also, clang ignores the toolchain prefix and the install prefix.

cp: cannot create regular file '/tmp/install//var/swift/bin/swift-stdlib-tool': No such file or directory

Here is my preset:

[preset: iphoneos]

release
assertions

extra-cmake-options = -DLLVM_ENABLE_BACKTRACES=Off -DSWIFT_BUILD_SOURCEKIT=FALSE

build-subdir = iphoneos

ios
tvos
watchos

#install-prefix = ~/src/install/swift
#install-symroot = ~/src/install/swift-sym
install-prefix = /var/swift
install-destdir= /tmp/install
install-symroot= /tmp/symroot
installable-package= /tmp/xcode-root.tar.gz

dash-dash

toolchain-prefix =

swift-install-components = compiler;clang-builtin-headers;stdlib;sdk-overlay;tools

llvm-install-components = libclang;libclang-headers
cross-compile-tools-deployment-targets = iphoneos-armv7s

Andrew Hyatt
ahyattdev@icloud.com