Commit Graph

738 Commits

Author SHA1 Message Date
Ross Bayer
ac431fa3e1 [Build System: build-script] Remove the old which module in swift_build_support and replace uses with the which function provided in the build_swift shell module. 2020-01-19 03:49:13 -08:00
Ross Bayer
de1759c84f [Build System: build-script] Added a new run_test.py script to utils/swift_build_support which is used to run the unit test suite. 2020-01-19 01:31:21 -08:00
Ross Bayer
67d6b10dd0 [Build System: build-script] Add a new versions module to build_swift which provides the Version class.
Version acts very similarly to distutils.version.LooseVersion, but with some more flexibility around character group boundries.
2020-01-18 12:04:53 -08:00
Ross Bayer
516ad28c50 Merge pull request #29244 from Rostepher/adopt-six-in-build-swift
[Build System: build-script] Adopt the six compatibility library in the build_swift module.
2020-01-18 11:56:21 -08:00
Andrew Trick
90c478f6fc Add the target list to build-script --help.
Teach build-script to print the list of valid targets for the
--stdlib-deployment-targets option. Unfortunately, passing all
supported targets to this option is the only way to force
configuration of those targets. Simply using --ios is no longer
sufficient--none of the iOS targets are actually configured unless you
ask them to be built.

(The reasonable way to use a build config script is to first configure
for all supported platforms, but only build the platforms/targets one
by one when you actually need them).

This currently prints:

  --stdlib-deployment-targets STDLIB_DEPLOYMENT_TARGETS
                        The targets to compile or cross-compile the Swift
                        standard library for. None by default. Comma separated
                        list: android-aarch64 android-armv7 appletvos-arm64
                        appletvsimulator-x86_64 cygwin-x86_64 freebsd-x86_64
                        haiku-x86_64 iphoneos-arm64 iphoneos-armv7 iphoneos-
                        armv7s iphonesimulator-i386 iphonesimulator-x86_64
                        linux-aarch64 linux-armv6 linux-armv7 linux-i686
                        linux-powerpc64 linux-powerpc64le linux-s390x linux-
                        x86_64 macosx-x86_64 watchos-armv7k
                        watchsimulator-i386 windows-x86_64
2020-01-17 18:06:00 -08:00
Ross Bayer
0fdef59633 [Build System: build-script] Adopt the six compatibility library in the build_swift module. 2020-01-17 15:43:54 -08:00
Ross Bayer
2e73fd7d11 Merge pull request #29266 from Rostepher/remove-old-arguments-module
[NFC][Build System: build-script] Remove swift_build_support arguments module.
2020-01-17 02:15:04 -08:00
Ross Bayer
513c926e18 Merge pull request #29264 from Rostepher/remove-old-presets-parser
[NFC][Build System: build-script] Remove the old and unused preset parser.
2020-01-17 02:14:38 -08:00
Ross Bayer
31f063b8b8 [Build System: build-script] Remove the old arguments module hiding in swift_build_support in favor of the more featureful one living in build_swift. 2020-01-17 00:30:17 -08:00
Ross Bayer
7b8401c3f7 [Build System: build-script] Remove the old implementation of the preset parser hidden away in swift_build_support. 2020-01-17 00:25:35 -08:00
Ross Bayer
1d088fc231 [Build System: update-checkout] Move the run_parallel and check_parallel_results functions from swift_build_support into update_checkout which is the only caller. 2020-01-17 00:20:18 -08:00
Ross Bayer
bb22690af0 [Build System: build-script] Moves the rest of the build-script-impl migration code from swift_build_support into build_swift. 2020-01-16 21:00:11 -08:00
Saleem Abdulrasool
d8cc616602 Merge pull request #28663 from ahoppen/install-swiftsyntax-usr-lib
[build-script] Install SwiftSyntax to usr/lib instead of usr/lib/swift
2020-01-13 14:43:32 -08:00
Ankit Aggarwal
8ea2b26eb1 [SwiftPM] Pass --reconfigure when building swiftpm
This should help in avoiding incremental build issues on the CI

<rdar://problem/58287933> PR test failure to build swiftpm
2020-01-03 08:56:13 -08:00
Ankit Aggarwal
a7e757bc1a [SwiftPM] Replace new-bootstrap with bootstrap 2019-12-13 12:38:41 -08:00
David Hart
288edfd6d0 Migration to SwiftpM’s new boostrap script 2019-12-11 10:23:41 -08:00
Alex Hoppen
91ca8ca093 [build-script] Install SwiftSyntax to usr/lib instead of usr/lib/swift
SwiftSyntax is not part of the standard library and thus should not be
installed in usr/lib/swift.

This also removes the code to install SwiftSyntax's .swiftmodule file
since that code path was never exercised.
2019-12-09 18:27:55 -08:00
Varun Gandhi
d9aa72b2fa [NFC] Please linter by reducing width to < 80 columns. 2019-12-09 18:17:33 -08:00
Saleem Abdulrasool
71e4d23f00 build: bootstrap cmake without QT 2019-12-07 16:23:56 -08:00
Butta
14cc620016 [android] A few tweaks for native compilation and to get more tests working
Now that CMAKE_HOST_SYSTEM_NAME and CMAKE_SYSTEM_NAME are set by default to
Android in the Termux app, make the needed tweaks. Some tests were adapted
to work natively on Android too, adds sys/cdefs.h to the Bionic modulemap,
and includes the start of native Android platform support in the build-script.
2019-12-07 01:01:59 +05:30
Mishal Shah
91e0db40b6 [Build System] Update the llvm projects path to be inside llvm-project dir 2019-11-17 00:12:26 -08:00
Alex Hoppen
ac9288d7ed [build-script] Build SwiftEvolve as part of the unified build 2019-11-05 15:38:24 -08:00
Alex Hoppen
869f8b4344 Merge pull request #28005 from ahoppen/unified-build
Build SwiftSyntax and the stress tester using a unified build
2019-11-04 20:02:58 -08:00
Ankit Aggarwal
7241030876 Move swiftpm to swift_build_support infra
This will allow cleaning up most of the hacks in SwiftPM's build script.

<rdar://problem/56220087>
2019-11-03 03:23:35 +00:00
Alex Hoppen
5764b77226 Build SwiftSyntax and the stress tester using a unified build
This avoids recompiling SwiftSyntax for every dependent project.
SwiftEvolve will be added to the unified build next.
2019-11-02 19:48:11 -07:00
Ben Langmuir
11aeb8b7fa Add build-script option --skip-test-toolchain-benchmarks 2019-10-31 09:47:20 -07:00
Alex Hoppen
fcd3457560 [build-script] Migrate SwiftSyntax to swift_build_support 2019-10-29 10:40:09 -07:00
Alex Hoppen
776e2c0030 Revert "Migrate building SwiftSyntax to swift_build_support" 2019-10-29 09:55:32 -07:00
Alex Hoppen
7ed085cb55 [build-script] Migrate SwiftSyntax to swift_build_support 2019-10-25 15:58:07 -07:00
Alex Hoppen
9721fd70b7 Merge pull request #27840 from ahoppen/dont-build-ios-stdlib
[build-script] Don't build stdlib for iOS if --skip-build-ios is passed
2019-10-24 09:15:27 -07:00
Alex Hoppen
ea2d44e5b6 [build-script] Don't build stdlib for iOS if --skip-build-ios is passed 2019-10-22 14:32:16 -07:00
Rintaro Ishizaki
4d31e7e755 [build-script] Fix python-lint issue
rdar://problem/56469555
2019-10-21 11:43:20 -07:00
Alex Hoppen
1926da3fe7 [build-script] Move building swiftevolve to swift_build_support 2019-10-19 19:10:41 -07:00
Alex Hoppen
adbd96bcf1 [build-script] Move building skstresstester to swift_build_support 2019-10-19 19:10:41 -07:00
Alex Hoppen
39c3f39b82 [build-script] Add function to compute toolchain path 2019-10-18 18:14:25 -07:00
Alex Hoppen
7be52d3852 [build-script] Extract logic determining whether to test/install a product to separate function
Previously, you were to check if a build/test/install is necessary in
the builds/test/install method which is easy to miss. This gives the
check more visibility.
2019-10-18 10:00:29 -07:00
Dan Zheng
2bd55f6755 [Autodiff upstream] Add build-script flag for differentiable programming. (#27595)
Add `--enable-experimental-differentiable-programming` build-script flag.

The build-script flag enables/disables standard library additions
related to differentiable programming. This will allow official Swift
releases to disable these additions.

The build-script flag is on by default to ensure testing of
differentiable programming standard library additions. An additional
driver flag must be enabled to use differentiable programming features:
https://github.com/apple/swift/pull/27446
2019-10-14 14:34:48 -07:00
Alex Hoppen
fa8a56e315 [build-script] Remove redundant test check in sourcekitlsp's build product description 2019-10-08 13:25:46 -07:00
Simon Evans
ec396dc4f0 Linux: Build CMake if the checked out version is newer than the installed version.
- For Linux only, if the checked out CMake repository is a newer version
  than the installed CMake version or CMake is not installed, build and
  use CMake from source.

- This does not affect macOS build or set any minimum required CMake
  version in CMakeLists.txt
2019-08-22 22:51:09 +01:00
Arnold Schwaighofer
257ef70157 Revert "Linux: Build CMake if the checked out version is newer than the installed version." 2019-08-22 14:00:51 -07:00
Simon Evans
ded44f5ba5 Linux: Build CMake if the checked out version is newer than the installed version.
- For Linux only, if the checked out CMake repository is a newer version
  than the installed CMake version or CMake is not installed, build and
  use CMake from source.

- This does not affect macOS build or set any minimum required CMake
  version in CMakeLists.txt
2019-08-21 12:05:36 +01:00
Ben Langmuir
2a1a4dde80 Make pylint happy 2019-08-12 14:11:33 -07:00
Ben Langmuir
718a5bf368 [build-script] Installation support for sourcekit-lsp
Add --install-sourcekit-lsp option to build-script and update presets
for package bots to install it.
2019-08-12 13:24:49 -07:00
Ben Langmuir
7f3a1e2f62 [build-script] Pass ninja path to indexstore-db/sourcekit-lsp 2019-07-22 11:44:58 -07:00
Daniel Rodríguez Troitiño
5a2fd7441b Merge pull request #23303 from drodriguez/cmake-options-improvements
[build-script] Improvements to CMakeOptions.
2019-06-12 10:01:36 -07:00
Saleem Abdulrasool
7ff22f5b7a Merge pull request #25266 from drodriguez/windows-fix-python-tests
[windows] Fix Python tests in Windows.
2019-06-11 10:35:02 -07:00
Ross Bayer
8db65b35a4 Merge pull request #25122 from Rostepher/darwin-supported-archs
[Build System: CMake] Darwin Supported Archs and Modules.
2019-06-10 12:03:04 -07:00
Daniel Rodríguez Troitiño
3fb9a2a7a4 [windows] Fix Python tests in Windows.
- Forward several environment variables to the test environment because
Windows uses them to inform the processes about things like the number
of processors and the architecture.
- Normalize some literal Unix paths to be the same as the results in
Windows, that will have forward slashes and the drive letter.
- Skip some test that use build-script-impl and tests that check for
files being executable (everything is executable in Windows).
- Don't use the owner and group arguments for tar on Windows.
- Hide the stderr output of which. In Windows it prints the full PATH in
case of failures, which is disrupting.
- Quote many paths in Windows in the output of build-script results.
- Provide a version of mock-distcc that can be executed in Windows. The
raw Python script cannot.
- Change the expected results for clang/clang++ to the right values in
Windows (clang-cl in both cases).
2019-06-06 11:30:22 -07:00
mishal_shah
a123d6321a Fix Python lint failure in test_host_specific_configuration 2019-05-31 18:50:05 -07:00
Arnold Schwaighofer
959a6acc28 Fix build-script's handling of --test-optimize-none-with-implicit-dynamic 2019-05-31 11:22:09 -07:00