#===--- build-presets.ini - Option presets for building Swift --------------===#
#
## This source file is part of the Swift.org open source project
##
## Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
## Licensed under Apache License v2.0 with Runtime Library Exception
##
## See https://swift.org/LICENSE.txt for license information
## See https://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;swift-remote-mirror;swift-remote-mirror-headers;


[preset: mixin_buildbot_trunk_base]
# Build standard library and SDK overlay for iOS device and simulator.
ios
tvos
watchos
test
validation-test
lit-args=-v
compiler-vendor=apple

dash-dash

verbose-build
build-ninja

# Build static standard library because it is used
# to build external projects.
build-swift-static-stdlib
build-swift-static-sdk-overlay
build-swift-stdlib-unittest-extra

install-swift

# 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
stdlib-deployment-targets=macosx-x86_64
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
test-optimize-for-size

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_RDA_stdlib_RDA]
mixin-preset=
    mixin_buildbot_trunk_base
    mixin_buildbot_install_components

# Build Release without debug info, because it is faster to build.
release-debuginfo
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
# Also run tests in optimized modes.
test-optimized
test-optimize-for-size

dash-dash

swift-stdlib-build-type=RelWithDebInfo
swift-stdlib-enable-assertions=false

[preset: mixin_buildbot_tools_R_stdlib_RD]
mixin-preset=
    mixin_buildbot_trunk_base
    mixin_buildbot_install_components

# Build Release without debug info, because it is faster to build.
release
no-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

dash-dash

# Don't run host tests for iOS, tvOS and watchOS platforms to make the build
# faster.
skip-test-ios-host
skip-test-tvos-host
skip-test-watchos-host

[preset: buildbot,tools=RA,stdlib=RD]
mixin-preset=
    mixin_buildbot_tools_RA_stdlib_RD

dash-dash

# Don't run host tests for iOS, tvOS and watchOS platforms to make the build
# faster.
skip-test-ios-host
skip-test-tvos-host
skip-test-watchos-host

[preset: buildbot,tools=RA,stdlib=RD,single-thread]
mixin-preset=
    mixin_buildbot_tools_RA_stdlib_RD

dash-dash

# Enable non-atomic build of the stdlib
swift-stdlib-use-nonatomic-rc=true

# Don't run host tests for iOS, tvOS and watchOS platforms to make the build
# faster.
skip-test-ios-host
skip-test-tvos-host
skip-test-watchos-host

[preset: buildbot,tools=R,stdlib=RD]
mixin-preset=
    mixin_buildbot_tools_R_stdlib_RD

dash-dash

# Don't run host tests for iOS, tvOS and watchOS platforms to make the build
# faster.
skip-test-ios-host
skip-test-tvos-host
skip-test-watchos-host


[preset: buildbot,tools=RA,stdlib=RDA]
mixin-preset=
    mixin_buildbot_tools_RA_stdlib_RDA

dash-dash

# Don't run host tests for iOS, tvOS and watchOS platforms to make the build
# faster.
skip-test-ios-host
skip-test-tvos-host
skip-test-watchos-host


[preset: buildbot,tools=RA,stdlib=RDA,long_test]
mixin-preset=
    mixin_buildbot_tools_RA_stdlib_RDA

test=0
validation-test=0
long-test=1
stress-test=1
test-optimized=0


[preset: buildbot,tools=RA-flto,stdlib=RDA]
mixin-preset=
    mixin_buildbot_tools_RA_stdlib_RDA

lto

dash-dash

build-swift-static-stdlib
build-swift-static-sdk-overlay

# Don't run host tests for iOS, tvOS and watchOS platforms to make the build
# faster.
skip-test-ios-host
skip-test-tvos-host
skip-test-watchos-host

[preset: buildbot,tools=RDA-flto,stdlib=RDA]
mixin-preset=
    mixin_buildbot_tools_RDA_stdlib_RDA

lto

dash-dash

build-swift-static-stdlib
build-swift-static-sdk-overlay

# Don't run host tests for iOS, tvOS and watchOS platforms to make the build
# faster.
skip-test-ios-host
skip-test-tvos-host
skip-test-watchos-host

[preset: buildbot,tools=RA,stdlib=RDA,sil-ownership]
mixin-preset=
    buildbot,tools=RA,stdlib=RDA
build-subdir=Ninja-ReleaseAssert+stdlib-RelWithDebInfo+sil-ownership
enable-sil-ownership
dash-dash

# This is a mixin preset which builds and smoke-tests lldb.
[preset: lldb-smoketest,tools=RA]
# Build LLDB
lldb

dash-dash

# Use the system debugserver to run the lldb swift tests
lldb-no-debugserver
lldb-use-system-debugserver
lldb-build-type=Release
lldb-test-swift-only
lldb-assertions

#===------------------------------------------------------------------------===#
# Incremental buildbots for Darwin OSes
#===------------------------------------------------------------------------===#

[preset: buildbot_incremental_base]
test
validation-test
lit-args=-v

compiler-vendor=apple

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
build-ninja

build-swift-stdlib-unittest-extra


[preset: buildbot_incremental_base_all_platforms]
mixin-preset=buildbot_incremental_base

# Build standard library and SDK overlay for iOS device and simulator.

ios
tvos
watchos

[preset: buildbot_incremental,tools=RA,stdlib=RA]
mixin-preset=buildbot_incremental_base_all_platforms

build-subdir=buildbot_incremental

# Build Release without debug info, because it is faster to build.
release
assertions

# Build llbuild & swiftpm here
llbuild
swiftpm

# Build Playground support
playgroundsupport

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,xcode]
mixin-preset=buildbot_incremental,tools=RA,stdlib=RA
build-subdir=buildbot_incremental_xcode

xcode
dash-dash
# We do not support building cross compiled stdlibs on OS X with Xcode. So only
# build the OS X SDK.
skip-build-ios
skip-test-ios
skip-build-tvos
skip-test-tvos
skip-build-watchos
skip-test-watchos
stdlib-deployment-targets=macosx-x86_64
swift-primary-variant-sdk=OSX
swift-primary-variant-arch=x86_64
skip-build-llbuild
skip-test-llbuild
skip-build-swiftpm
skip-test-swiftpm
skip-build-playgroundsupport
skip-test-playgroundsupport

# This preset is used by CI to test swift-corelibs-xctest.
[preset: buildbot_incremental,tools=RA,stdlib=RA,XCTest]
# We don't use buildbot_incremental_base_all_platforms because we don't need to
# build for iOS/tvOS.
mixin-preset=buildbot_incremental_base

# Build and test XCTest. On Linux, the build script is aware of the dependency
# on Foundation, so that is built as well. On OS X, Foundation is built as part
# of the XCTest Xcode project.
xctest

dash-dash

# This preset is meant to test XCTest, not Swift or Foundation. We don't
# want stochastic failures in those test suites to prevent XCTest tests from
# being run.
skip-test-cmark
skip-test-swift
skip-test-libdispatch
skip-test-foundation

# This preset may be used by swift-corelibs-xctest contributors when building
# locally. It takes less time than the CI preset, but is less reliable at
# clearing out cached build products.
[preset: corelibs-xctest]
release
assertions
xctest
test

dash-dash

skip-test-cmark
skip-test-swift
skip-test-foundation
skip-build-benchmarks

[preset: buildbot_incremental_asan,tools=RDA,stdlib=RDA]
mixin-preset=buildbot_incremental_base_all_platforms

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_tsan,tools=RDA,stdlib=RDA]
mixin-preset=buildbot_incremental_base_all_platforms

build-subdir=buildbot_incremental_tsan

# Build Release with debug info, so that we can symbolicate backtraces.
release-debuginfo
assertions
enable-tsan

dash-dash

skip-build-ios
skip-test-ios
skip-build-tvos
skip-test-tvos
skip-build-watchos
skip-test-watchos

[preset: buildbot_incremental_asan_ubsan,tools=RDA,stdlib=RDA]
mixin-preset=buildbot_incremental_base_all_platforms

build-subdir=buildbot_incremental_asan_ubsan

# Build Release with debug info, so that we can symbolicate backtraces.
release-debuginfo
assertions

dash-dash

# FIXME: Swift/UBSan does not support mac os x yet.
skip-build-osx
skip-test-osx

# 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
enable-ubsan

[preset: buildbot_incremental_asan,tools=DA,stdlib=RDA]
mixin-preset=buildbot_incremental_base_all_platforms

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,tools=RA,stdlib=RD,smoketest=macosx]
mixin-preset=
    buildbot_incremental_base
    lldb-smoketest,tools=RA
build-subdir=buildbot_incremental

# We build release+asserts.
release
assertions

# We run the OS X tests and validation tests.
test
validation-test

llvm-targets-to-build=X86

# Set the vendor to apple
compiler-vendor=apple

dash-dash

# Always reconfigure cmake
reconfigure

# We want to always perform a verbose build
verbose-build

# Build ninja while we are at it
build-ninja

# We need to build the unittest extras so we can test
build-swift-stdlib-unittest-extra

# Make sure our stdlib is RA.
swift-stdlib-build-type=RelWithDebInfo
swift-stdlib-enable-assertions=true

# Disable non-x86 building/testing.
skip-build-ios
skip-test-ios
skip-build-tvos
skip-test-tvos
skip-build-watchos
skip-test-watchos
stdlib-deployment-targets=macosx-x86_64
swift-primary-variant-sdk=OSX
swift-primary-variant-arch=x86_64

# Don't build the benchmarks
skip-build-benchmarks

[preset: buildbot_incremental,tools=RA,stdlib=RD,smoketest=macosx,flto]
mixin-preset=buildbot_incremental,tools=RA,stdlib=RD,smoketest=macosx
build-subdir=buildbot_incremental

lto

dash-dash

[preset: buildbot_incremental,tools=RA,llvm-only]
build-subdir=buildbot_incremental_llvmonly

# Build Release without debug info, because it is faster to build.
release-debug
assertions
test=0
lit-args=-v

compiler-vendor=apple

dash-dash

llvm-include-tests
reconfigure
verbose-build
build-ninja

# Do not build swift or cmark
skip-build-swift
skip-build-cmark

#===------------------------------------------------------------------------===#
# 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
compiler-vendor=apple

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
build-ninja

build-swift-stdlib-unittest-extra

skip-build-ios
skip-test-ios
skip-build-lldb

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_leaks]
compiler-vendor=apple
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

# Always reconfigure so we pick up changes in the build-script and
# build-presets.ini.
reconfigure
verbose-build
build-ninja
build-swift-stdlib-unittest-extra
swift-runtime-enable-leak-checker

[preset: buildbot_incremental_leaks,tools=RA,stdlib=R]
mixin-preset=buildbot_incremental_leaks
build-subdir=buildbot_incremental_leaks_RA_R

# Build release+asserts
release
assertions

dash-dash

# We want our stdlib to not have assertions.
swift-stdlib-enable-assertions=false

[preset: buildbot_incremental_leaks,tools=RA,stdlib=RA]
mixin-preset=buildbot_incremental_leaks
build-subdir=buildbot_incremental_leaks_RA_RA

# Build release+asserts
release
assertions

#===------------------------------------------------------------------------===#
# 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

llbuild
swiftpm
xctest
dash-dash

build-ninja
install-swift
install-lldb
install-llbuild
install-swiftpm
install-xctest
install-prefix=/usr
swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;swift-remote-mirror;sdk-overlay;license;sourcekit-inproc
build-swift-static-stdlib
build-swift-static-sdk-overlay
build-swift-stdlib-unittest-extra

# Executes the lit tests for the installable package that is created
# Assumes the swift-integration-tests repo is checked out

test-installable-package

# 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
long-test
stress-test
test-optimized
foundation
libdispatch
lit-args=-v

dash-dash

# rdar://problem/31454823
skip-test-lldb

install-foundation
install-libdispatch
reconfigure


# Linux package with out test
[preset: buildbot_linux,no_test]
mixin-preset=buildbot_linux

dash-dash

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-playgroundsupport
skip-test-libicu


# Ubuntu 16.10 preset for backwards compat and future customizations.
[preset: buildbot_linux_1610]
mixin-preset=buildbot_linux

# Ubuntu 16.04 preset for backwards compat and future customizations.
[preset: buildbot_linux_1604]
mixin-preset=buildbot_linux

# 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

[preset: buildbot_linux,smoketest]
mixin-preset=mixin_linux_installation
build-subdir=buildbot_linux
lldb
release
test
validation-test
foundation
libdispatch
lit-args=-v

dash-dash

install-foundation
install-libdispatch
reconfigure
skip-test-lldb


[preset: buildbot_linux_1404_no_lldb]
mixin-preset=buildbot_incremental_linux
build-subdir=buildbot_linux
release
test
validation-test
long-test
stress-test
foundation
lit-args=-v

[preset: buildbot_linux_armv7]
release
llbuild
lldb
# Not all tests pass, currently
#test
foundation
swiftpm
xctest

build-subdir=buildbot_linux

dash-dash

install-swift
install-lldb
install-llbuild
install-foundation
install-swiftpm
install-xctest
install-prefix=/usr
swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;swift-remote-mirror;sdk-overlay;dev
build-swift-static-stdlib
build-swift-static-sdk-overlay

skip-test-lldb

# Executes the lit tests for the installable package that is created
# Assumes the swift-package-tests repo is checked out
# FIXME: Disabled until a home for the swift-snapshot-tests can be found.
#test-installable-package

# 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_incremental_linux_base]
assertions
release
test
validation-test
lit-args=-v

dash-dash

build-ninja
reconfigure

[preset: buildbot_incremental_linux]
mixin-preset=buildbot_incremental_linux_base
build-subdir=buildbot_incremental

llbuild
swiftpm
xctest
foundation
libdispatch
dash-dash

[preset: buildbot_incremental_linux,long_test]
mixin-preset=buildbot_incremental_linux

test=0
validation-test=0
long-test=1
stress-test=1
test-optimized=0

[preset: buildbot_incremental_linux,llvm-only]
mixin-preset=buildbot_incremental_linux_base
build-subdir=buildbot_incremental_llvmonly

test=0
validation-test=0
long-test=0
stress-test=0
test-optimized=0

dash-dash

skip-build-swift
skip-build-cmark
llvm-include-tests

[preset: buildbot_incremental_linux,asan]
mixin-preset=buildbot_incremental_linux
build-subdir=buildbot_incremental_asan

enable-asan

# This does not currently pass due to leakers in the optimizer.
[preset: buildbot_incremental_linux,lsan,tools=RDA,stdlib=RDA,test=no]
build-subdir=buildbot_incremental_lsan

release-debuginfo
assertions
enable-lsan

dash-dash

build-ninja
reconfigure

[preset: buildbot_incremental_linux,lsan,tools=RDA,stdlib=DA,test=no]
build-subdir=buildbot_incremental_lsan

release-debuginfo
assertions
enable-lsan
debug-swift-stdlib

dash-dash

build-ninja
reconfigure

#===------------------------------------------------------------------------===#
# OS X Package Builders
#===------------------------------------------------------------------------===#
[preset: mixin_osx_package_base]
ios
tvos
watchos

lldb
llbuild
swiftpm
playgroundsupport

# Build with debug info, this allows us to symbolicate crashes from
# production builds.
release-debuginfo
compiler-vendor=apple

dash-dash

lldb-no-debugserver
lldb-use-system-debugserver
lldb-build-type=Release
verbose-build
build-ninja
build-swift-static-stdlib
build-swift-static-sdk-overlay
build-swift-stdlib-unittest-extra
playgroundsupport-build-type=Release

install-swift
install-lldb
install-llbuild
install-swiftpm
install-playgroundsupport

install-destdir=%(install_destdir)s

darwin-install-extract-symbols

# 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

# If someone uses this for incremental builds, force reconfiguration.
reconfigure

swift-install-components=compiler;clang-builtin-headers;stdlib;swift-syntax;sdk-overlay;license;sourcekit-xpc-service;swift-remote-mirror;swift-remote-mirror-headers
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-display-name-short=%(darwin_toolchain_display_name_short)s
darwin-toolchain-name=%(darwin_toolchain_xctoolchain_name)s
darwin-toolchain-version=%(darwin_toolchain_version)s
darwin-toolchain-alias=%(darwin_toolchain_alias)s

[preset: mixin_osx_package_test]
build-subdir=buildbot_osx

ios
tvos
watchos
test
validation-test
long-test
stress-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


[preset: buildbot_osx_package,no_assertions]
mixin-preset=
    mixin_osx_package_base
    mixin_osx_package_test

dash-dash

no-assertions


# Debug version of the compilers, release version of the stdlib.
[preset: buildbot_osx_package,tools=DA,stdlib=R]
mixin-preset=buildbot_osx_package

build-subdir=buildbot_osx_debug

release-debuginfo
assertions
debug-llvm
debug-swift
no-swift-stdlib-assertions


# macOS package with out test
[preset: buildbot_osx_package,no_test]
mixin-preset=
    buildbot_osx_package

dash-dash

skip-test-swift
skip-test-swiftpm
skip-test-llbuild
skip-test-lldb
skip-test-cmark
skip-test-playgroundsupport


#===------------------------------------------------------------------------===#
# 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
skip-build-benchmarks
install-destdir=%(swift_install_destdir)s
llvm-targets-to-build=X86;ARM;AArch64;PowerPC;SystemZ;Mips

[preset: LLDB_Swift_DebugAssert]
mixin-preset=
    LLDB_Nested

assertions

[preset: LLDB_Swift_DebugAssert_asan]
mixin-preset=
    LLDB_Swift_DebugAssert

enable-asan

[preset: LLDB_Swift_DebugAssert_with_devices]
mixin-preset=
    LLDB_Swift_DebugAssert

ios
tvos
watchos
build-swift-static-stdlib
build-swift-static-sdk-overlay

[preset: LLDB_Swift_ReleaseAssert]
mixin-preset=
    LLDB_Nested

release-debuginfo
assertions

[preset: LLDB_Swift_ReleaseAssert_asan]
mixin-preset=
    LLDB_Swift_ReleaseAssert

enable-asan

[preset: LLDB_Swift_ReleaseAssert_with_devices]
mixin-preset=
    LLDB_Swift_ReleaseAssert

ios
tvos
watchos
build-swift-static-stdlib
build-swift-static-sdk-overlay

#===------------------------------------------------------------------------===#
# Test all platforms on OS X builder
#===------------------------------------------------------------------------===#

[preset: buildbot_all_platforms,tools=RA,stdlib=RA]
mixin-preset=
    buildbot_incremental_base_all_platforms
    lldb-smoketest,tools=RA

build-subdir=buildbot_incremental

# Build Release without debug info, because it is faster to build.
release
assertions

# Build llbuild & swiftpm here
llbuild
swiftpm
swiftsyntax

# Build Playground support
playgroundsupport

dash-dash

# Run the SIL verifier after each transform when building swift files
sil-verify-all

# Don't run host tests for iOS, tvOS and watchOS platforms to make the build
# faster.
skip-test-ios-host
skip-test-tvos-host
skip-test-watchos-host


#===------------------------------------------------------------------------===#
# Test watchOS on OS X builder
#===------------------------------------------------------------------------===#

[preset: buildbot_watch_platform,tools=RA,stdlib=RA]
mixin-preset=buildbot_incremental_base_all_platforms

build-subdir=buildbot_incremental

# Build Release without debug info, because it is faster to build.
release
assertions

# Build llbuild & swiftpm here
llbuild
swiftpm

dash-dash

# Only run watchOS tests
skip-test-ios
skip-test-tvos
skip-test-osx


#===------------------------------------------------------------------------===#
# Test swiftPM on macOS builder
#===------------------------------------------------------------------------===#

[preset: buildbot_swiftpm_macos_platform,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

# Build llbuild & swiftpm here
llbuild
swiftpm

dash-dash

skip-test-swift
skip-test-cmark
skip-test-llbuild

#===------------------------------------------------------------------------===#
# Test llbuild on macOS builder
#===------------------------------------------------------------------------===#

[preset: buildbot_llbuild_macos_platform,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

# Build llbuild & swiftpm here
llbuild
swiftpm

dash-dash

skip-test-swift
skip-test-cmark

#===------------------------------------------------------------------------===#
# Remote Mirror Library
#===------------------------------------------------------------------------===#

[preset: mixin_remote_mirror_base]
no-assertions
swift-assertions

clang-user-visible-version=9.1.0

compiler-vendor=apple
dash-dash

build-ninja
release-debuginfo
reconfigure
swift-install-components=swift-remote-mirror
install-destdir=%(install_destdir)s
install-symroot=%(install_symroot)s
darwin-install-extract-symbols=1
skip-build-cmark
skip-build-llvm
skip-build-llbuild
skip-build-swiftpm
skip-build-benchmarks
install-swift
install-prefix=%(install_toolchain_dir)s/usr
build-swift-examples=0
build-swift-tools=0
build-swift-static-stdlib=0
build-swift-dynamic-stdlib=0
build-swift-static-sdk-overlay=0
build-swift-dynamic-sdk-overlay=0
swift-include-tests=0
llvm-include-tests=0

[preset: remote_mirror_ios_customization]

dash-dash

darwin-xcrun-toolchain=ios
darwin-deployment-version-ios=11.0
skip-build-osx
skip-test-osx
skip-build-tvos
skip-test-tvos
skip-build-watchos
skip-test-watchos
swift-sdks=IOS
swift-primary-variant-sdk=IOS
swift-primary-variant-arch=arm64
build-subdir=swift_remote_mirror_ios

[preset: remote_mirror_ios]
mixin-preset=
    mixin_remote_mirror_base
    remote_mirror_ios_customization

[preset: remote_mirror_watchos_customization]

dash-dash

darwin-xcrun-toolchain=watchos
darwin-deployment-version-watchos=4.0
skip-build-osx
skip-test-osx
skip-build-tvos
skip-test-tvos
skip-build-ios
skip-test-ios
swift-sdks=WATCHOS
swift-primary-variant-sdk=WATCHOS
swift-primary-variant-arch=armv7k
build-subdir=swift_remote_mirror_watchos

[preset: remote_mirror_watchos]
mixin-preset=
    mixin_remote_mirror_base
    remote_mirror_watchos_customization

[preset: remote_mirror_tvos_customization]

dash-dash

darwin-xcrun-toolchain=tvos
darwin-deployment-version-tvos=11.0
skip-build-osx
skip-test-osx
skip-build-watchos
skip-test-watchos
skip-build-ios
skip-test-ios
swift-sdks=TVOS
swift-primary-variant-sdk=TVOS
swift-primary-variant-arch=arm64
build-subdir=swift_remote_mirror_tvos

[preset: remote_mirror_tvos]
mixin-preset=
    mixin_remote_mirror_base
    remote_mirror_tvos_customization


#===------------------------------------------------------------------------===#
# Mixin for buildbots for CI
#===------------------------------------------------------------------------===#
[preset: mixin_buildbot_incremental,build]
build-subdir=buildbot_incremental
compiler-vendor=apple

# Build standard library and SDK overlay for iOS device and simulator.

ios
tvos
watchos

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
build-ninja
build-swift-stdlib-unittest-extra
skip-build-benchmarks

[preset: mixin_buildbot_incremental,test=macOS,type=device]

test
validation-test
lit-args=-v

dash-dash

skip-test-ios
skip-test-tvos
skip-test-watchos
skip-reconfigure

[preset: mixin_buildbot_incremental,test=iOS,type=simulator]

test
validation-test
lit-args=-v

dash-dash

skip-test-osx
skip-test-tvos
skip-test-watchos
skip-reconfigure

[preset: mixin_buildbot_incremental,test=tvOS,type=simulator]
test
validation-test
lit-args=-v

dash-dash

skip-test-osx
skip-test-watchos
skip-test-ios
skip-reconfigure

[preset: mixin_buildbot_incremental,test=watchOS,type=simulator]

test
validation-test
lit-args=-v

dash-dash

skip-test-osx
skip-test-tvos
skip-test-ios
skip-reconfigure

#===------------------------------------------------------------------------===#
# Swift Preset
# Tools: Release and Assertions
# stdlib: Release and DebInfo
#===------------------------------------------------------------------------===#
[preset: buildbot_incremental,tools=RA,stdlib=RD,build]
mixin-preset=mixin_buildbot_incremental,build

# 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: buildbot_incremental,tools=RA,stdlib=RD,test=macOS,type=device]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RD,build
    mixin_buildbot_incremental,test=macOS,type=device

[preset: buildbot_incremental,tools=RA,stdlib=RD,test=iOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RD,build
    mixin_buildbot_incremental,test=iOS,type=simulator

[preset: buildbot_incremental,tools=RA,stdlib=RD,test=tvOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RD,build
    mixin_buildbot_incremental,test=tvOS,type=simulator

[preset: buildbot_incremental,tools=RA,stdlib=RD,test=watchOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RD,build
    mixin_buildbot_incremental,test=watchOS,type=simulator

#===------------------------------------------------------------------------===#
# Swift Preset
# Tools: Release and Assertions
# stdlib: Release, DebInfo and Assertions
#===------------------------------------------------------------------------===#
[preset: buildbot_incremental,tools=RA,stdlib=RDA,build]
mixin-preset=mixin_buildbot_incremental,build

# Build Release without debug info, because it is faster to build.
release
assertions

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: buildbot_incremental,tools=RA,stdlib=RDA,test=macOS,type=device]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RDA,build
    mixin_buildbot_incremental,test=macOS,type=device

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=RDA,test=iOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RDA,build
    mixin_buildbot_incremental,test=iOS,type=simulator

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=RDA,test=tvOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RDA,build
    mixin_buildbot_incremental,test=tvOS,type=simulator

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=RDA,test=watchOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RDA,build
    mixin_buildbot_incremental,test=watchOS,type=simulator

test-optimized

#===------------------------------------------------------------------------===#
# Swift Preset
# Tools: Release and Assertions
# stdlib: DebInfo and Assertions
#===------------------------------------------------------------------------===#
[preset: buildbot_incremental,tools=RA,stdlib=DA,build]
mixin-preset=mixin_buildbot_incremental,build

# 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: buildbot_incremental,tools=RA,stdlib=DA,test=macOS,type=device]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=DA,build
    mixin_buildbot_incremental,test=macOS,type=device

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=DA,test=iOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=DA,build
    mixin_buildbot_incremental,test=iOS,type=simulator

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=DA,test=tvOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=DA,build
    mixin_buildbot_incremental,test=tvOS,type=simulator

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=DA,test=watchOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=DA,build
    mixin_buildbot_incremental,test=watchOS,type=simulator

test-optimized

#===------------------------------------------------------------------------===#
# Swift Preset
# Tools: Release and Assertions
# stdlib: Release and Assertions
#===------------------------------------------------------------------------===#
[preset: buildbot_incremental,tools=RA,stdlib=RA,build]
mixin-preset=mixin_buildbot_incremental,build

# Build Release without debug info, because it is faster to build.
release
assertions

dash-dash

[preset: buildbot_incremental,tools=RA,stdlib=RA,test=macOS,type=device]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RA,build
    mixin_buildbot_incremental,test=macOS,type=device

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=RA,test=iOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RA,build
    mixin_buildbot_incremental,test=iOS,type=simulator

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=RA,test=tvOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RA,build
    mixin_buildbot_incremental,test=tvOS,type=simulator

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=RA,test=watchOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RA,build
    mixin_buildbot_incremental,test=watchOS,type=simulator

test-optimized

#===------------------------------------------------------------------------===#
# Swift Preset
# Tools: DebInfo and Assertions
# stdlib: Release and Assertions
#===------------------------------------------------------------------------===#
[preset: buildbot_incremental,tools=DA,stdlib=RA,build]
mixin-preset=mixin_buildbot_incremental,build

# Build Release without debug info, because it is faster to build.
release-debuginfo
assertions
debug-llvm
debug-swift

dash-dash

#===------------------------------------------------------------------------===#
# Swift Preset
# Tools: DebInfo and Assertions
# stdlib: DebInfo and Assertions
#===------------------------------------------------------------------------===#
[preset: buildbot_incremental,tools=DA,stdlib=DA,build]
mixin-preset=mixin_buildbot_incremental,build

# Build Release without debug info, because it is faster to build.
release-debuginfo
assertions
debug-llvm
debug-swift

dash-dash

swift-stdlib-build-type=RelWithDebInfo
swift-stdlib-enable-assertions=true

#===------------------------------------------------------------------------===#
# Swift Coverage Preset
#===------------------------------------------------------------------------===#

[preset: buildbot_incremental,tools=RDA,stdlib=RDA,coverage]
build-subdir=buildbot_incremental_coverage
release-debuginfo
assertions
swift-analyze-code-coverage=not-merged
test
validation-test
skip-test-ios
skip-test-tvos
skip-test-watchos
skip-build-benchmark
verbose-build
lit-args=-v
reconfigure
build-ninja

#===------------------------------------------------------------------------===#
# iOS arm64 cross compiler
#===------------------------------------------------------------------------===#
[preset: buildbot_iphoneos_arm64_crosscompiler]

build-subdir=LLVMClangSwift_iphoneos
release

dash-dash

cross-compile-hosts=iphoneos-arm64
compiler-vendor=apple
swift-primary-variant-sdk=IOS
swift-primary-variant-arch=arm64
extra-cmake-options=-DLLVM_ENABLE_BACKTRACES:BOOL=OFF

build-toolchain-only=1
build-swift-static-stdlib=0
build-swift-dynamic-stdlib=0
build-swift-static-sdk-overlay=0
build-swift-dynamic-sdk-overlay=0
build-runtime-with-host-compiler=0
skip-build-benchmarks
llvm-include-tests=0
llvm-enable-modules=0
build-swift-examples=0
swift-include-tests=0
darwin-deployment-version-ios=10.0
darwin-crash-reporter-client=1
