Commit Graph

8541 Commits

Author SHA1 Message Date
Saleem Abdulrasool
2760b0ad8f Merge pull request #79609 from compnerd/build-and-test
utils: clean up some of the build and test rules for XCTest and Testing
2025-02-26 15:03:41 -08:00
Adrian Prantl
b20a93b193 Merge pull request #79583 from adrian-prantl/swift-mode
[swift-mode] require flymake-proc
2025-02-26 12:40:11 -08:00
Saleem Abdulrasool
7591beb3c0 utils: rework Build-Testing to exclude -Test
Simplify the `Build-Testing` call to simply build swift testing for
distribution. The testing support was never implemented and there was
more duplication than necessary.
2025-02-26 08:40:04 -08:00
Saleem Abdulrasool
c80b750c57 utils: split Build-XCTest into Build-XCTest and Test-XCTest
This split reduces the logic and changes nearly all the handling into
path computation. It also will enable us to migrate towards avoiding a
separate staging step.
2025-02-26 08:40:02 -08:00
Ben Barham
c6d1060778 Merge pull request #79543 from bnbarham/always-use-local-deps
[Build] Make sure to always use local package dependencies on Windows
2025-02-26 00:33:36 -08:00
Alastair Houghton
4c0e141ccc Merge pull request #79390 from al45tair/eng/PR-144497613
[Backtracing] Add warning suppression option, enable it for tests.
2025-02-25 17:51:28 +00:00
Saleem Abdulrasool
b1207eda7e utils: provide structure to settings
Use a structural definition of the settings and convert them to the
appropriate serialised format as a delayed operation. This makes it
easier to read the settings and modify them as we iterate on the
toolchain.

Take the opportunity to extract the PList conversion into a helper
function.
2025-02-24 15:32:32 -08:00
Saleem Abdulrasool
6c74271269 Merge pull request #79535 from compnerd/platform-staging
utils: remove per-arch `PlatformInstallRoot`
2025-02-24 15:28:49 -08:00
Adrian Prantl
bfc70044d9 [swift-mode] require flymake-proc 2025-02-24 11:42:00 -08:00
Alastair Houghton
0bc76dae80 [Backtracing] Add warning suppression option, enable it for tests.
The backtracing code will warn you if you attempt to forcibly enable
backtracing for a privileged executable.  This is apparently upsetting
the Driver/filelists.swift test.

Since we want to force it on for tests, so that we will definitely get
backtraces, add an option to suppress warning messages, and turn that
on for tests as well.

rdar://144497613
2025-02-24 12:55:16 +00:00
Jeff
11027b8ba2 utils: remove unused variables in build.ps1. (#79531) 2025-02-22 11:32:09 -08:00
Ben Barham
bab8fd84b3 [Build] Make sure to always use local package dependencies on Windows 2025-02-21 10:59:56 -08:00
Saleem Abdulrasool
28256e828f utils: remove per-arch PlatformInstallRoot
This further migrates towards a shared installation of the platform and
SDKs staging. This helps ensure that we are properly creating additional
SDKs without overwriting components and can share components across
builds. It also avoids unnecessary duplicated work.
2025-02-21 08:43:52 -08:00
Jeff
3115f38053 utils: cleanup compares against null in build.ps1 (#79533)
* utils: cleanup compares against null in build.ps1
* Further cleanup.

Co-authored-by: Saleem Abdulrasool <compnerd@compnerd.org>
2025-02-20 23:31:34 -08:00
Saleem Abdulrasool
1af236e7e6 Merge pull request #79505 from compnerd/prefix
utils: pass static library prefix for Swift to Swift
2025-02-20 23:27:11 -08:00
Jeff
b44367e753 util: Add -Variant param to build.ps1 for building Asserts | NoAsserts. (#79313)
* util: Add -Variant param to build.ps1 for building Asserts | NoAsserts.

* Special case BinaryCache path concatenation.

* Fix merge damage.

* Cleanup.
2025-02-20 18:06:31 -08:00
Saleem Abdulrasool
db7b013bc6 Update update-checkout-config.json (#79117)
* Update update-checkout-config.json

Update swift-system requirement to 1.4.0. This is motivated by swift-build which requires swift-system 1.4.0. More importantly, the API surface between 1.3.0 and 1.4.0 changed including the API usage that is required by swift-build.

* Update update-checkout-config.json

Update to 1.4.1
2025-02-20 13:43:16 -08:00
Konrad `ktoso` Malawski
e8668684a1 Merge pull request #79411 from amartini51/typo_144059094
Remove double word ("a a" and "the the")
2025-02-20 13:05:06 +09:00
Saleem Abdulrasool
d2d719c3f3 utils: pass static library prefix for Swift to Swift
Update the build invocation for the experimental swift runtime to ensure
that we generate the libraries with the expected names.
2025-02-19 13:10:41 -08:00
Michael Gottesman
473753a98d [swift_snapshot_tool] Turn off dry_run from bisect_toolchains.swift 2025-02-18 14:17:29 -08:00
Owen Voorhees
f3239c3d92 Merge pull request #79426 from swiftlang/owenv/swift-build-toolchain-info
Flesh out Windows ToolchainInfo.plist
2025-02-17 18:52:03 -08:00
Saleem Abdulrasool
28a77157ab Merge pull request #79363 from compnerd/max-path-ex
utils: use longer paths for build trees
2025-02-17 18:39:27 -08:00
Owen Voorhees
cd3e57aa3e Flesh out Windows ToolchainInfo.plist
- Add FallbackLibraryPaths to usr/bin - swift-build uses this to lookup dlls like libclang
- Fill in the version field used to construct runtime library paths
2025-02-17 13:04:08 -08:00
Saleem Abdulrasool
d0e4f84cb3 Merge pull request #79387 from jeffdav/cleanup-install-python-helpers
utils: Cleanup python installation code in build.ps1.
2025-02-17 13:01:39 -08:00
Ben Barham
4dae976cfb Merge pull request #79380 from bnbarham/update-some-presets
Re-work the mixins for swiftpm and downstream packages
2025-02-17 09:31:20 -08:00
Saleem Abdulrasool
f2352a512c utils: use longer paths for build trees
The only currently known constraint on the build path is the compilers
build. Use long paths for the builds, co-locating more build products
and allowing better re-use of the build content. This makes it easier to
adjust the various targets that we are building without having to force
clean builds due to changes in the build mapping.
2025-02-15 18:45:41 -08:00
Saleem Abdulrasool
1458acb451 Merge pull request #78505 from compnerd/concurrent
Runtimes: introduce `swift_Concurrency`
2025-02-15 08:31:19 -08:00
Michael Gottesman
f68e23aaf1 Merge pull request #79329 from gottesmm/pr-295dfc37ee8e5bf71b1249c2717a30c37de1aee2
[build-script] Add an option to force the linker used.
2025-02-14 21:09:09 -08:00
Alex Martini
633f101e0a Fix double 'the the' in various places 2025-02-14 17:27:51 -08:00
Hiroshi Yamauchi
572298b913 Merge pull request #79378 from hjyamauchi/debug-info
Fix the linker flags for the gnu driver when debug info is enabled
2025-02-14 11:59:49 -08:00
Jeff
4d71cdeb0a PR Feedback. 2025-02-14 10:54:16 -08:00
Bassam (Sam) Khouri
ac52024827 Merge pull request #79330 from bkhouri/t/main/support-swifttesting-in-swiftpm-for-toolchain-build
Add verbosity when building swiftpm
2025-02-14 12:39:09 -05:00
Ben Barham
b221a92f69 Merge pull request #79365 from bnbarham/build-script-error
Do not use `os._exit` when build-script fatal errors
2025-02-14 09:22:20 -08:00
Ben Barham
f0c62826db Re-work the mixins for swiftpm and downstream packages
Keep mixin_swiftpm_base as the base of SwiftPM and all dependents, but
then separate the SwiftPM + package bases and their respective
platforms.

This allows SwiftPM to add its own changes without impacting downstream
packages (eg. the recently added cross compile setting).
2025-02-14 09:18:31 -08:00
Jeff
0d126f1016 utils: Cleanup python installation code in build.ps1. 2025-02-13 22:14:59 -08:00
Saleem Abdulrasool
f04e96ccda Merge pull request #79328 from jeffdav/relax-stl-mismatch-conditions
util: Relax conditions on defining _ALLOW_COMPILER_AND_STL_VERSION_MI…
2025-02-13 21:59:56 -08:00
Ben Barham
48422f7f0c Do not use os._exit when build-script fatal errors
`os._exit` does not run any cleanup handlers or flush any buffers, which
means that we may end up missing helpful log output. It was being used
to avoid printing the log analysis when `--help` was passed, but we can
have the same behavior by just not using `finally`.
2025-02-13 16:43:41 -08:00
Saleem Abdulrasool
1ac0007883 Runtimes: introduce swift_Concurrency
This adds the `swift_Concurrency` module to the new runtimes build. This
is sufficient to build the code but will require further fine tuning to
ensure that all the flags entirely identical and that the ABI surface is
also fully replicated.
2025-02-13 16:24:36 -08:00
Saleem Abdulrasool
bbcc4e8f78 Merge pull request #79327 from compnerd/file-info
utils: use `Sytsem.IO.FileInfo` for file path parameters
2025-02-13 16:19:30 -08:00
Hiroshi Yamauchi
71dfdcffdf Fix the linker flags for the gnu driver when debug info is enabled 2025-02-13 15:53:54 -08:00
Saleem Abdulrasool
cf6a8935c3 utils: adjust some whitespace (NFC) 2025-02-13 09:33:24 -08:00
Saleem Abdulrasool
4af35bb453 utils: rename Get-PinnedToolcahinTool
This function does not get a tool from the toolchain but rather the
toolchain tools directory. Rename the function to be more accurate.
2025-02-13 09:33:24 -08:00
Saleem Abdulrasool
76ae4ed28d utils: add a workaround for the nightly toolchains
The nightly toolchains on Windows improperly versioned the installation
to 6.0.0 (which would collide with an official 6.0.0 release 😱).
In order to use the toolchain as a pinned toolchain we need to account
for the path change. Add a workaround to allow using the extracted
toolchain snapshot.
2025-02-13 09:33:24 -08:00
Jeff
87a1f38c0b Fix comment. 2025-02-13 09:19:12 -08:00
Jeff
2839adc4c4 util: Relax conditions on defining _ALLOW_COMPILER_AND_STL_VERSION_MISMATCH. 2025-02-13 09:19:12 -08:00
Rintaro Ishizaki
153421f816 Merge pull request #79311 from rintaro/dump-declcontext
[ASTDumper] Dump DeclContext
2025-02-13 03:30:49 -08:00
Sam Khouri
6e42092751 Add verbosity when building swiftpm 2025-02-12 15:37:03 -05:00
Michael Gottesman
3e2a6f6665 [build-script] Add an option to force the linker used.
I have been doing this using extra-cmake-args/etc... just feels better to have
an actual option to do this.

Just did this quickly while waiting for my Linux build to finish that uses
extra-cmake-args to set the linker.
2025-02-12 11:49:01 -08:00
Saleem Abdulrasool
0400d0ea15 utils: use Sytsem.IO.FileInfo for file path parameters
This adds additional testing/validation for the parameters when invoking
`build.ps1` and improves the tab completion support as well.
2025-02-12 11:13:42 -08:00
Rintaro Ishizaki
71b24665fa [ASTDumper] Dump DeclContext
* Include `DeclContext` of the node where possible
* Add 'default-with-decl-contexts' dump style that dumps the dect context
  hierarchy in addition to the AST
* Support `-dump-parse` with `-dump-ast-format json`
2025-02-12 10:53:33 -08:00