> On Jun 2, 2016, at 10:59 AM, bhargav gurlanka <bhargav.gr...@gmail.com> wrote: > > > I always run this after every build > > If I understand you correctly, you first build swift and then run this script > to create the toolchain right? > > Are you using the `build-toolchain` script to build swift? I've tried doing > it sometime back and it included the testing also, which took a long time to > complete. Is there a way to quicken the build (by disabling tests, > incremental build, etc.,)?
No, part of the reason I developed that script is because I wanted to make a toolchain out of the build-script invocation I use for incremental development, which is this: ~/public/swift-project/swift/utils/build-script -R --llbuild --swiftpm That works fine for iterative development, my "null" builds are about 5s. I run that with "--tests" if I want to also run all the tests (but often for my local iterative SwiftPM development I am just running the SwiftPM tests). - Daniel > > > Regards, > Bhargav Gurlanka > > On 2 June 2016 at 23:06, Daniel Dunbar <daniel_dun...@apple.com > <mailto:daniel_dun...@apple.com>> wrote: > FWIW, this: > https://gist.github.com/ddunbar/598bf66952fba0e9d8aecc54995f018e > <https://gist.github.com/ddunbar/598bf66952fba0e9d8aecc54995f018e> > is the script I currently use on OS X to get a working > "swift-dev.xctoolchain" out of a built Swift. It isn't designed to work for > anyone but me, but it should be easy to adapt. > > I always run this after every build, and then use `TOOLCHAINS=swift-dev swift > build` (etc) to use the development compiler. > > My "toolchain-based build process" proposal will hopefully make this a no-op. > > - Daniel > >> On Jun 2, 2016, at 3:12 AM, bhargav gurlanka via swift-build-dev >> <swift-build-...@swift.org <mailto:swift-build-...@swift.org>> wrote: >> >> Hi all, >> >> I'm trying to build a custom toolchain, but it is failing with error: >> >> --- Installing swift --- >> + env DESTDIR=// /usr/local/bin/cmake --build >> /Users/bhargavg/Documents/workspaces/xcode/github/apple/build/bhargavg/swift-macosx-x86_64 >> -- install >> ninja: error: unknown target 'install' >> swift/utils/build-script: fatal error: command terminated with a non-zero >> exit status 1, aborting >> >> >> Script to build toolchain: >> >> #!/bin/bash >> # >> # Faster toolchain build: skips as much as possible. >> # >> # To use this toolchain from the command line:" >> # export TOOLCHAINS=$(whoami) >> # >> # we build to the same prefix every time (instead of building >> # to a versioned prefix) because every time the prefix changes >> # *everything* rebuilds. >> >> set -e >> trap "exit;" SIGINT SIGTERM >> >> SRCROOT="$HOME/Documents/workspaces/xcode/github/apple/" >> >> ALIAS=$(whoami) >> TOOLCHAIN_NAME="swift-${ALIAS}.xctoolchain" >> TOOLCHAIN_PREFIX="$HOME/Library/Developer/Toolchains/${TOOLCHAIN_NAME}" >> >> export TOOLCHAINS=default >> >> if [[ $1 == "--reconfigure" ]]; then >> RECONFIGURE="--reconfigure" >> fi >> >> # so if anything is put in the wrong place we will *see* it >> cd "$HOME/Desktop" >> >> "$SRCROOT/swift/utils/build-script" \ >> --release \ >> --llvm \ >> --llbuild \ >> --swiftpm \ >> --build-subdir="${ALIAS}" \ >> --assertions \ >> --no-swift-stdlib-assertions \ >> --install-prefix="${TOOLCHAIN_PREFIX}/usr" \ >> --lldb \ >> --darwin-xcrun-toolchain=mxcl \ >> -- \ >> --lldb-use-system-debugserver \ >> ${RECONFIGURE} \ >> --skip-ios \ >> --skip-tvos \ >> --skip-watchos \ >> --skip-build-linux \ >> --skip-build-freebsd \ >> --skip-build-cygwin \ >> --skip-build-ios \ >> --skip-build-ios-device \ >> --skip-build-ios-simulator \ >> --skip-build-tvos \ >> --skip-build-tvos-device \ >> --skip-build-tvos-simulator \ >> --skip-build-watchos \ >> --skip-build-watchos-device \ >> --skip-build-watchos-simulator \ >> --skip-build-xctest \ >> --skip-build-foundation \ >> --skip-build-libdispatch \ >> --skip-build-benchmarks \ >> --skip-test-cmark \ >> --skip-test-lldb \ >> --skip-test-swift \ >> --skip-test-llbuild \ >> --skip-test-swiftpm \ >> --skip-test-xctest \ >> --skip-test-foundation \ >> --skip-test-libdispatch \ >> --skip-test-linux \ >> --skip-test-freebsd \ >> --skip-test-cygwin \ >> --skip-test-osx \ >> --skip-test-ios-simulator \ >> --skip-test-ios-host \ >> --skip-test-tvos-simulator \ >> --skip-test-tvos-host \ >> --skip-test-watchos-simulator \ >> --skip-test-watchos-host \ >> --skip-test-benchmarks \ >> --skip-test-optimized \ >> --stdlib-deployment-targets=macosx-x86_64 \ >> --swift-enable-ast-verifier=0 \ >> --build-swift-examples=0 \ >> --build-swift-stdlib-unittest-extra=0 \ >> --build-swift-static-stdlib=1 \ >> --compiler-vendor=apple \ >> >> --swift-install-components="compiler;clang-builtin-headers;stdlib;sdk-overlay;license;sourcekit-xpc-service" >> \ >> --llvm-install-components="libclang;libclang-headers" \ >> --install-swift=1 \ >> --install-llbuild=1 \ >> --install-swiftpm=1 \ >> --install-destdir="/" \ >> --install-lldb=1 \ >> --toolchain-prefix="${TOOLCHAIN_PREFIX}" >> >> >> # doing by hand as the only other way to trigger this >> # is by specifying --installable-package, which tars >> # all installed products and is super slow >> >> DATE=$(date +%Y.%m.%d) >> SWIFT_VERSION=$("${TOOLCHAIN_PREFIX}/usr/bin/swift" --version | ruby -e >> 'ARGF.read =~ /Swift version (\d+\.\d(\.\d+)?(-.*?)?) /; print "#{$1}\n"') >> >> if [[ "$SWIFT_VERSION" == "3.0-dev" ]]; then >> SWIFT_VERSION="3.0.0-dev" >> fi >> >> VERSION="${SWIFT_VERSION}-${ALIAS}+${DATE}" >> >> cat > "${TOOLCHAIN_PREFIX}/Info.plist" <<EOF >> <?xml version="1.0" encoding="UTF-8"?> >> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" >> "http://www.apple.com/DTDs/PropertyList-1.0.dtd >> <http://www.apple.com/DTDs/PropertyList-1.0.dtd>"> >> <plist version="1.0"> >> <dict> >> <key>Aliases</key> >> <array> >> <string>${ALIAS}</string> >> </array> >> <key>CompatibilityVersion</key> >> <integer>2</integer> >> <key>CFBundleIdentifier</key> >> <string>org.swift.${SWIFT_VERSION}.${ALIAS}</string> >> <key>DisplayName</key> >> <string>Swift ${SWIFT_VERSION}.${ALIAS}+${DATE}</string> >> <key>ReportProblemURL</key> >> <string>https://bugs.swift.org/ <https://bugs.swift.org/></string> >> <key>Version</key> >> <string>${DATE}</string> >> <key>OverrideEnvironment</key> >> <dict> >> <key>ENABLE_BITCODE</key> >> <false/> >> <key>SWIFT_DISABLE_REQUIRED_ARCLITE</key> >> <true/> >> <key>SWIFT_LINK_OBJC_RUNTIME</key> >> <true/> >> </dict> >> </dict> >> </plist> >> EOF >> >> >> # again, only way to trigger this otherwise is do a lengthy >> --installable-package step >> >> cp "${SRCROOT}/swift/utils/swift-stdlib-tool-substitute" >> "${TOOLCHAIN_PREFIX}/usr/bin/swift-stdlib-tool" >> >> >> You can find the script at: >> https://gist.github.com/bhargavg/e40b2e7cfe3b34ca5decdb6531068365 >> <https://gist.github.com/bhargavg/e40b2e7cfe3b34ca5decdb6531068365> >> >> Regards, >> Bhargav Gurlanka >> >> _______________________________________________ >> swift-build-dev mailing list >> swift-build-...@swift.org <mailto:swift-build-...@swift.org> >> https://lists.swift.org/mailman/listinfo/swift-build-dev >> <https://lists.swift.org/mailman/listinfo/swift-build-dev> > >
_______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev