diff --git a/amazonlinux2/Makefile b/amazonlinux2/Makefile index 8f938d5..c0a0f3b 100644 --- a/amazonlinux2/Makefile +++ b/amazonlinux2/Makefile @@ -34,8 +34,11 @@ PLATFORM=amazonlinux2 PACKAGE_URL=https://swift.org/builds/$(BRANCH)/$(subst .,,$(PLATFORM))/swift-$(TARBALL_VERSION)-$(SNAPSHOT)/swift-$(TARBALL_VERSION)-$(SNAPSHOT)-$(PLATFORM).tar.gz HOST_SWIFT_TOOLCHAIN=/usr/local/lib/swift/xctoolchains/$(ARCH)-apple-darwin/$(HOST_VERSION)-current/swift.xctoolchain +HOST_X_LLD=$(SWIFT_LIB_DIR)/clang-llvm/${HOST_PLATFORM}-apple-darwin/8.0.0/bin/lld +INSTALL_PREFIX=$(BUILD_DIR) + BUILD_DIR=$(PWD)/.build FETCH_DIR=$(PWD)/.fetch PATCH_DIR=$(BUILD_DIR)/patch @@ -148,6 +151,8 @@ build-toolchain: $(PACKAGE_FETCH_FILE) HOST_SWIFT_TOOLCHAIN=$(HOST_SWIFT_TOOLCHAIN) \ TARGET_ARCH=$(ARCH) \ TARGET_PLATFORM=$(PLATFORM) \ + HOST_X_LLD=$(HOST_X_LLD) \ + INSTALL_PREFIX=$(INSTALL_PREFIX) \ ./build-toolchain.sh $(PWD)/.fetch/swift-$(VERSION)-$(PLATFORM).tar.gz diff --git a/amazonlinux2/build-toolchain.sh b/amazonlinux2/build-toolchain.sh index 309aa88..887e1c9 100755 --- a/amazonlinux2/build-toolchain.sh +++ b/amazonlinux2/build-toolchain.sh @@ -27,7 +27,7 @@ SWIFT_LIB_DIR=${SWIFT_LIB_DIR:=/usr/local/lib/swift} # brew install swiftxcode/swiftxcode/clang-llvm-bin-8 # ./retrieve-sdk-packages.sh HOST_SWIFT_TOOLCHAIN=${HOST_SWIFT_TOOLCHAIN:=${SWIFT_LIB_DIR}/xctoolchains/${HOST_PLATFORM}-apple-darwin/${SWIFT_VERSION}-current/swift.xctoolchain} -HOST_X_LLD=${SWIFT_LIB_DIR}/clang-llvm/${HOST_PLATFORM}-apple-darwin/8.0.0/bin/lld +HOST_X_LLD=${HOST_X_LLD:=${SWIFT_LIB_DIR}/clang-llvm/${HOST_PLATFORM}-apple-darwin/8.0.0/bin/lld} linux_sdk_name="${TARGET_ARCH}-${TARGET_PLATFORM}.sdk" LINUX_SDK="${BUILD_DIR}/${linux_sdk_name}" diff --git a/ubuntu16.04/Makefile b/ubuntu16.04/Makefile index 9529b2c..790d929 100644 --- a/ubuntu16.04/Makefile +++ b/ubuntu16.04/Makefile @@ -25,6 +25,11 @@ LINUX_TARGET_TRIPLE=$(ARCH)-linux-gnu PLATFORM=ubuntu16.04 PACKAGE_URL=https://swift.org/builds/$(BRANCH)/$(subst .,,$(PLATFORM))/swift-$(VERSION)-$(SNAPSHOT)/swift-$(VERSION)-$(SNAPSHOT)-$(PLATFORM).tar.gz +HOST_SWIFT_TOOLCHAIN=/usr/local/lib/swift/xctoolchains/$(ARCH)-apple-darwin/$(HOST_VERSION)-current/swift.xctoolchain +HOST_X_LLD=$(SWIFT_LIB_DIR)/clang-llvm/${HOST_PLATFORM}-apple-darwin/8.0.0/bin/lld + +INSTALL_PREFIX=$(BUILD_DIR) + BUILD_DIR=$(PWD)/.build FETCH_DIR=$(PWD)/.fetch PATCH_DIR=$(BUILD_DIR)/patch @@ -109,7 +114,11 @@ retrieve-packages: # toolchain builder build-toolchain: $(PACKAGE_FETCH_FILE) - SWIFT_VERSION=$(VERSION) ./build-toolchain.sh $(PWD)/.fetch/swift-$(VERSION)-$(PLATFORM).tar.gz + SWIFT_VERSION=$(VERSION) \ + HOST_SWIFT_TOOLCHAIN=$(HOST_SWIFT_TOOLCHAIN) \ + HOST_X_LLD=$(HOST_X_LLD) \ + INSTALL_PREFIX=$(INSTALL_PREFIX) \ + ./build-toolchain.sh $(PWD)/.fetch/swift-$(VERSION)-$(PLATFORM).tar.gz testbuild: rm -rf my-test-app @@ -138,4 +147,4 @@ testbuild-bash: --workdir "/run" \ $(DOCKER_IMAGE) \ bash - \ No newline at end of file + diff --git a/ubuntu16.04/build-toolchain.sh b/ubuntu16.04/build-toolchain.sh index 554a96a..d407126 100755 --- a/ubuntu16.04/build-toolchain.sh +++ b/ubuntu16.04/build-toolchain.sh @@ -26,8 +26,8 @@ SWIFT_LIB_DIR=${SWIFT_LIB_DIR:=/usr/local/lib/swift} # brew install swiftxcode/swiftxcode/swift-xctoolchain-5.3 # brew install swiftxcode/swiftxcode/clang-llvm-bin-8 # ./retrieve-sdk-packages.sh -HOST_SWIFT_TOOLCHAIN=${SWIFT_LIB_DIR}/xctoolchains/${HOST_PLATFORM}-apple-darwin/${SWIFT_VERSION}-current/swift.xctoolchain -HOST_X_LLD=${SWIFT_LIB_DIR}/clang-llvm/${HOST_PLATFORM}-apple-darwin/8.0.0/bin/lld +HOST_SWIFT_TOOLCHAIN=${HOST_SWIFT_TOOLCHAIN:=${SWIFT_LIB_DIR}/xctoolchains/${HOST_PLATFORM}-apple-darwin/${SWIFT_VERSION}-current/swift.xctoolchain} +HOST_X_LLD=${HOST_X_LLD:=${SWIFT_LIB_DIR}/clang-llvm/${HOST_PLATFORM}-apple-darwin/8.0.0/bin/lld} linux_sdk_name="${TARGET_ARCH}-${TARGET_PLATFORM}.sdk" LINUX_SDK="${BUILD_DIR}/${linux_sdk_name}" diff --git a/ubuntu20.04/Makefile b/ubuntu20.04/Makefile index 9f930da..a3b2d85 100644 --- a/ubuntu20.04/Makefile +++ b/ubuntu20.04/Makefile @@ -26,10 +26,16 @@ LINUX_TARGET_TRIPLE=$(ARCH)-linux-gnu PLATFORM=ubuntu20.04 PACKAGE_URL=https://swift.org/builds/$(BRANCH)/$(subst .,,$(PLATFORM))/swift-$(VERSION)-$(SNAPSHOT)/swift-$(VERSION)-$(SNAPSHOT)-$(PLATFORM).tar.gz +SWIFT_LIB_DIR=/usr/local/lib/swift +HOST_SWIFT_TOOLCHAIN=/usr/local/lib/swift/xctoolchains/$(ARCH)-apple-darwin/$(HOST_VERSION)-current/swift.xctoolchain +HOST_X_LLD=$(SWIFT_LIB_DIR)/clang-llvm/${HOST_PLATFORM}-apple-darwin/8.0.0/bin/lld + BUILD_DIR=$(PWD)/.build FETCH_DIR=$(PWD)/.fetch PATCH_DIR=$(BUILD_DIR)/patch +INSTALL_PREFIX=$(BUILD_DIR) + DESTDIR_PREFIX=$(prefix)/lib/swift/dst/x86_64-unknown-linux/ PACKAGE_FETCH_FILENAME=swift-$(VERSION)-$(PLATFORM).tar.gz @@ -106,7 +112,11 @@ retrieve-packages: # toolchain builder build-toolchain: $(PACKAGE_FETCH_FILE) - SWIFT_VERSION=$(MAIN_VERSION) ./build-toolchain.sh $(PWD)/.fetch/swift-$(VERSION)-$(PLATFORM).tar.gz + HOST_SWIFT_TOOLCHAIN=$(HOST_SWIFT_TOOLCHAIN) \ + HOST_X_LLD=$(HOST_X_LLD) \ + SWIFT_VERSION=$(MAIN_VERSION) \ + INSTALL_PREFIX=$(INSTALL_PREFIX) \ + ./build-toolchain.sh $(PWD)/.fetch/swift-$(VERSION)-$(PLATFORM).tar.gz testbuild: rm -rf my-test-app diff --git a/ubuntu20.04/build-toolchain.sh b/ubuntu20.04/build-toolchain.sh index 8da15b4..016f7eb 100755 --- a/ubuntu20.04/build-toolchain.sh +++ b/ubuntu20.04/build-toolchain.sh @@ -26,8 +26,10 @@ SWIFT_LIB_DIR=${SWIFT_LIB_DIR:=/usr/local/lib/swift} # brew install swiftxcode/swiftxcode/swift-xctoolchain-5.3 # brew install swiftxcode/swiftxcode/clang-llvm-bin-8 # ./retrieve-sdk-packages.sh -HOST_SWIFT_TOOLCHAIN=${SWIFT_LIB_DIR}/xctoolchains/${HOST_PLATFORM}-apple-darwin/${SWIFT_VERSION}-current/swift.xctoolchain -HOST_X_LLD=${SWIFT_LIB_DIR}/clang-llvm/${HOST_PLATFORM}-apple-darwin/8.0.0/bin/lld +HOST_SWIFT_TOOLCHAIN=${HOST_SWIFT_TOOLCHAIN:=${SWIFT_LIB_DIR}/xctoolchains/${HOST_PLATFORM}-apple-darwin/${SWIFT_VERSION}-current/swift.xctoolchain} + +HOST_X_LLD=${HOST_X_LLD:=${SWIFT_LIB_DIR}/clang-llvm/${HOST_PLATFORM}-apple-darwin/8.0.0/bin/lld} + linux_sdk_name="${TARGET_ARCH}-${TARGET_PLATFORM}.sdk" LINUX_SDK="${BUILD_DIR}/${linux_sdk_name}"