blob: 6911bcc0208384e4e24048f77084bc47671133c8 [file] [log] [blame]
#===--- build-presets.ini - Option presets for building Swift --------------===#
#
## This source file is part of the Swift.org open source project
##
## Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors
## Licensed under Apache License v2.0 with Runtime Library Exception
##
## See http://swift.org/LICENSE.txt for license information
## See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
#
#===------------------------------------------------------------------------===#
#===------------------------------------------------------------------------===#
# Buildbots for Darwin OSes
#===------------------------------------------------------------------------===#
[preset: mixin_buildbot_install_components]
dash-dash
swift-install-components=compiler;clang-builtin-headers;stdlib;sdk-overlay;editor-integration;tools;testsuite-tools;sourcekit-xpc-service
[preset: mixin_buildbot_trunk_base]
# Build standard library and SDK overlay for iOS device and simulator.
ios
tvos
watchos
test
validation-test
dash-dash
verbose-build=1
build-ninja
swift-sdks=OSX;IOS;IOS_SIMULATOR;TVOS;TVOS_SIMULATOR;WATCHOS;WATCHOS_SIMULATOR
# Build static standard library because it is used
# to build external projects.
build-swift-static-stdlib=1
compiler-vendor=apple
darwin-crash-reporter-client=0
install-swift=1
# Path to the root of the installation filesystem.
install-destdir=%(install_destdir)s
# Path to the .tar.gz package we would create.
installable-package=%(installable_package)s
# If someone uses this for incremental builds, force reconfiguration.
reconfigure
[preset: buildbot,tools=RA,stdlib=RD,test=no]
mixin-preset=
mixin_buildbot_trunk_base
mixin_buildbot_install_components
# Build Release without debug info, because it is faster to build.
release
assertions
dash-dash
swift-stdlib-build-type=RelWithDebInfo
swift-stdlib-enable-assertions=false
# Disable osx tests.
skip-test-osx
# Disable non-x86.
skip-build-ios
skip-test-ios
skip-build-tvos
skip-test-tvos
skip-build-watchos
skip-test-watchos
swift-sdks=OSX
swift-primary-variant-sdk=OSX
swift-primary-variant-arch=x86_64
[preset: mixin_buildbot_tools_RA_stdlib_RDA]
mixin-preset=
mixin_buildbot_trunk_base
mixin_buildbot_install_components
# Build Release without debug info, because it is faster to build.
release
assertions
# Also run tests in optimized modes.
test-optimized
dash-dash
swift-stdlib-build-type=RelWithDebInfo
swift-stdlib-enable-assertions=true
# This is a release non-incremental build. Run sil-verify-all.
sil-verify-all
[preset: mixin_buildbot_tools_RA_stdlib_RD]
mixin-preset=
mixin_buildbot_trunk_base
mixin_buildbot_install_components
# Build Release without debug info, because it is faster to build.
release
assertions
dash-dash
swift-stdlib-build-type=RelWithDebInfo
swift-stdlib-enable-assertions=false
[preset: mixin_buildbot_tools_RA_stdlib_DA]
mixin-preset=
mixin_buildbot_trunk_base
mixin_buildbot_install_components
# Build Release without debug info, because it is faster to build.
release
assertions
dash-dash
swift-stdlib-build-type=Debug
swift-stdlib-enable-assertions=true
[preset: buildbot,tools=RA,stdlib=DA]
mixin-preset=
mixin_buildbot_tools_RA_stdlib_DA
[preset: buildbot,tools=RA,stdlib=RD]
mixin-preset=
mixin_buildbot_tools_RA_stdlib_RD
[preset: buildbot,tools=RA,stdlib=RDA]
mixin-preset=
mixin_buildbot_tools_RA_stdlib_RDA
[preset: buildbot,tools=RA,stdlib=DA,NotvOS]
mixin-preset=
mixin_buildbot_tools_RA_stdlib_DA
mixin_NotvOS
[preset: buildbot,tools=RA,stdlib=RD,NotvOS]
mixin-preset=
mixin_buildbot_tools_RA_stdlib_RD
mixin_NotvOS
[preset: buildbot,tools=RA,stdlib=RDA,NotvOS]
mixin-preset=
mixin_buildbot_tools_RA_stdlib_RDA
mixin_NotvOS
#===------------------------------------------------------------------------===#
# Incremental buildbots for Darwin OSes
#===------------------------------------------------------------------------===#
[preset: buildbot_incremental_base]
# Build standard library and SDK overlay for iOS device and simulator.
ios
tvos
test
validation-test
dash-dash
# On buildbots, always force a reconfiguration to make sure we pick up changes
# in the build-script and build-presets.ini.
reconfigure
verbose-build=1
build-ninja
# Don't build static standard library to speed up the build.
build-swift-static-stdlib=0
compiler-vendor=apple
[preset: mixin_NotvOS]
dash-dash
swift-sdks=OSX;IOS;IOS_SIMULATOR;WATCHOS;WATCHOS_SIMULATOR
skip-build-tvos
skip-test-tvos
swift-enable-target-appletvos=0
[preset: buildbot_incremental,tools=RA,stdlib=RA]
mixin-preset=buildbot_incremental_base
build-subdir=buildbot_incremental
# Build Release without debug info, because it is faster to build.
release
assertions
dash-dash
# Only run OS X tests to make the build cycle faster.
# We still build the iOS standard library though -- it is free given the
# parallelism.
skip-test-ios
skip-test-tvos
skip-test-watchos
[preset: buildbot_incremental,tools=RA,stdlib=RA,OnlytvOS]
mixin-preset=buildbot_incremental_base
build-subdir=buildbot_incremental_OnlytvOS
# Build Release without debug info, because it is faster to build.
release
assertions
dash-dash
# This preset runs only tvOS tests.
skip-test-osx
skip-test-ios
skip-test-watchos
[preset: buildbot_incremental,tools=RA,stdlib=RA,NotvOS]
mixin-preset=
buildbot_incremental,tools=RA,stdlib=RA
mixin_NotvOS
build-subdir=buildbot_incremental_NotvOS
[preset: buildbot_incremental_asan,tools=RDA,stdlib=RDA]
mixin-preset=buildbot_incremental_base
build-subdir=buildbot_incremental_asan
# Build Release with debug info, so that we can symbolicate backtraces.
release-debuginfo
assertions
dash-dash
# FIXME: Swift/ASan does not support iOS yet.
skip-build-ios
skip-test-ios
# FIXME: Swift/ASan does not support tvos yet.
skip-build-tvos
skip-test-tvos
# FIXME: Swift/ASan does not support watchos yet.
skip-build-watchos
skip-test-watchos
enable-asan
[preset: buildbot_incremental_asan,tools=DA,stdlib=RDA]
mixin-preset=buildbot_incremental_base
build-subdir=buildbot_incremental_asan_debug
# Build Release with debug info, so that we can symbolicate backtraces.
assertions
dash-dash
# FIXME: Swift/ASan does not support iOS yet.
skip-build-ios
skip-test-ios
# FIXME: Swift/ASan does not support tvos yet.
skip-build-tvos
skip-test-tvos
# FIXME: Swift/ASan does not support watchos yet.
skip-build-watchos
skip-test-watchos
enable-asan
swift-stdlib-build-type=RelWithDebInfo
[preset: buildbot_incremental_cross_compile_iphoneos,tools=RA,stdlib=RA]
mixin-preset=buildbot_incremental_base
build-subdir=buildbot_incremental_cross_compile_iphoneos
# Build Release without debug info, because it is faster to build.
release
assertions
dash-dash
cross-compile-tools-deployment-targets=iphoneos-arm64 iphoneos-armv7 iphoneos-armv7s
[preset: buildbot_incremental_cross_compile_iphonesimulator,tools=RA,stdlib=RA]
mixin-preset=buildbot_incremental_base
build-subdir=buildbot_incremental_cross_compile_iphonesimulator
# Build Release without debug info, because it is faster to build.
release
assertions
dash-dash
cross-compile-tools-deployment-targets=iphonesimulator-i386 iphonesimulator-x86_64
#===------------------------------------------------------------------------===#
# A setting to run a buildbot that passes extra swift args when compiling
# modules that match regexp.
#
# This is currently used to run non-default pass orderings to stress the
# optimizer. See utils/pass-pipeline.
#===------------------------------------------------------------------------===#
[preset: buildbot_incremental_extra_swift_args,tools=RA,stdlib=RD]
build-subdir=buildbot_incremental_extra_swift_args
# Build standard library and SDK overlay for iOS device and simulator.
test
validation-test
extra-swift-args=%(extra_swift_args)s
release
assertions
dash-dash
# On buildbots, always force a reconfiguration to make sure we pick up changes
# in the build-script and build-presets.ini.
reconfigure
verbose-build=1
build-ninja
# Don't build static standard library to speed up the build.
build-swift-static-stdlib=0
skip-build-ios
skip-test-ios
skip-build-lldb
compiler-vendor=apple
sil-verify-all
#===------------------------------------------------------------------------===#
# Convenience aliases
#
# Do not use on buildbots!
#===------------------------------------------------------------------------===#
[preset: buildbot_incremental]
mixin-preset=buildbot_incremental,tools=RA,stdlib=RA
[preset: asan]
mixin-preset=buildbot_incremental_asan,tools=RDA,stdlib=RDA
#===------------------------------------------------------------------------===#
# Special Runtime Builders
#===------------------------------------------------------------------------===#
[preset: buildbot_incremental_special,tools=RA,stdlib=RD]
# Build release+asserts
release
assertions
dash-dash
# Disable ios. These builders are x86 only.
skip-ios
skip-tvos
skip-watchos
# Disable x86 testing. skip-ios disables testing of ios as well.
skip-test-osx
# We want our stdlib to not have assertions.
swift-stdlib-enable-assertions=false
# Always reconfigure so we pick up changes in the build-script and
# build-presets.ini.
reconfigure
verbose-build=1
build-ninja
# Don't build static standard library to speed up the build.
build-swift-static-stdlib=0
compiler-vendor=apple
[preset: buildbot_incremental_special_dtrace,tools=RA,stdlib=RD]
mixin-preset=buildbot_incremental_special,tools=RA,stdlib=RD
build-subdir=buildbot_incremental_special_dtrace
dash-dash
swift-runtime-enable-dtrace=1
[preset: buildbot_incremental_special_leaks,tools=RA,stdlib=RD]
mixin-preset=buildbot_incremental_special,tools=RA,stdlib=RD
build-subdir=buildbot_incremental_special_leaks
dash-dash
swift-runtime-enable-leak-checker=1
#===------------------------------------------------------------------------===#
# Package Builders
#===------------------------------------------------------------------------===#
# A mixin that enables 'lightweight' assertions that don't slow down the
# compiler significantly.
[preset: mixin_lightweight_assertions]
assertions
no-swift-stdlib-assertions
# FIXME: This should be:
# no-assertions
# swift-assertions
# ... but our tests are expecting assertions to be either on or off everywhere.
dash-dash
# AST verifier slows down the compiler significantly.
swift-enable-ast-verifier=0
#===------------------------------------------------------------------------===#
# Linux Builders
#===------------------------------------------------------------------------===#
[preset: mixin_linux_installation]
mixin-preset=mixin_lightweight_assertions
dash-dash
install-swift
install-lldb
install-prefix=/usr
swift-install-components=compiler;clang-builtin-headers;stdlib;sdk-overlay;license
build-swift-static-stdlib=1
skip-test-lldb=1
# Executes the lit tests for the installable package that is created
# Assumes the swift-integration-tests repo is checked out
test-installable-package=1
# Path to the root of the installation filesystem.
install-destdir=%(install_destdir)s
# Path to the .tar.gz package we would create.
installable-package=%(installable_package)s
[preset: buildbot_linux]
mixin-preset=mixin_linux_installation
build-subdir=buildbot_linux
lldb
release
test
validation-test
dash-dash
reconfigure
# Ubuntu 15.10 preset for backwards compat and future customizations.
[preset: buildbot_linux_1510]
mixin-preset=buildbot_linux
# Ubuntu 14.04 preset for backwards compat and future customizations.
[preset: buildbot_linux_1404]
mixin-preset=buildbot_linux
#===------------------------------------------------------------------------===#
# OS X Package Builders
#===------------------------------------------------------------------------===#
[preset: mixin_osx_package_base]
ios
tvos
watchos
lldb
# Build with debug info, this allows us to symbolicate crashes from
# production builds.
release-debuginfo
dash-dash
lldb-no-debugserver
lldb-build-type=Release
verbose-build=1
build-ninja
build-swift-static-stdlib=1
compiler-vendor=apple
swift-sdks=OSX;IOS;IOS_SIMULATOR;TVOS;TVOS_SIMULATOR;WATCHOS;WATCHOS_SIMULATOR
install-swift=1
install-lldb=1
install-destdir=%(install_destdir)s
darwin-install-extract-symbols=1
# Path where debug symbols will be installed.
install-symroot=%(install_symroot)s
# Path where the compiler, the runtime and the standard libraries will be
# installed.
install-prefix=%(install_toolchain_dir)s/usr
# Executes the lit tests for the installable package that is created
# Assumes the swift-integration-tests repo is checked out
test-installable-package=1
# If someone uses this for incremental builds, force reconfiguration.
reconfigure
[preset: mixin_osx_package_test]
build-subdir=buildbot_osx
ios
tvos
watchos
test
validation-test
dash-dash
skip-test-lldb
# Path to the .tar.gz package we would create.
installable-package=%(installable_package)s
[preset: buildbot_osx_package]
mixin-preset=
mixin_osx_package_base
mixin_osx_package_test
mixin_lightweight_assertions
dash-dash
swift-install-components=compiler;clang-builtin-headers;stdlib;sdk-overlay;license;sourcekit-xpc-service
llvm-install-components=libclang;libclang-headers
# Path to the .tar.gz package we would create.
installable-package=%(installable_package)s
# Path to the .tar.gz symbols package
symbols-package=%(symbols_package)s
# Info.plist
darwin-toolchain-bundle-identifier=%(darwin_toolchain_bundle_identifier)s
darwin-toolchain-display-name=%(darwin_toolchain_display_name)s
darwin-toolchain-name=%(darwin_toolchain_xctoolchain_name)s
darwin-toolchain-version=%(darwin_toolchain_version)s
#===------------------------------------------------------------------------===#
# LLDB build configurations
#
# Use to build the compiler sources nested in LLDB.
#
# This is only used from Xcode, and expects the following configuration:
## an argument, swift_install_destdir=[path for Swift installed products]
## an environment variable, SWIFT_SOURCE_ROOT=[parent of swift/]
## an environment variable, SWIFT_BUILD_ROOT=[parent of Swift build directory]
#===------------------------------------------------------------------------===#
[preset: LLDB_Nested]
dash-dash
build-swift-perf-testsuite=0
install-destdir=%(swift_install_destdir)s
[preset: LLDB_Swift_DebugAssert]
mixin-preset=
LLDB_Nested
assertions
[preset: LLDB_Swift_ReleaseAssert]
mixin-preset=
LLDB_Nested
release-debuginfo
assertions
#===------------------------------------------------------------------------===#
# Test all platforms on OS X builder
#===------------------------------------------------------------------------===#
[preset: buildbot_all_platforms,tools=RA,stdlib=RA]
mixin-preset=buildbot_incremental_base
build-subdir=buildbot_incremental
# Build Release without debug info, because it is faster to build.
release
assertions