Commit Graph

56 Commits

Author SHA1 Message Date
Stefan Gränitz
76243a25db [windows][toolchain] Build sanitizers and builtins standalone for all SDKs (#78861)
Unified builds of compiler-rt together with LLVM failed for the Android SDKs. It got too complicated to redirect the way LLVM would configure the nested build-trees. Standalone builds slightly increase build time, but they turned out much simpler and we end up with less duplication of definitions.
2025-01-28 22:08:07 +01:00
Saleem Abdulrasool
4ea5c33224 Merge pull request #78687 from Steelskin/fabrice/add-stdlib-cache-macos
[caches] Add cache files for macOS Runtime builds
2025-01-22 17:00:28 -08:00
Fabrice de Gans
982f934f0d [caches] Use arm64-apple-darwin triple
`LLVM_DEFAULT_TARGET_TRIPLE` was previously set to
`aarch64-apple-darwin` for Darwin Arm64 platforms. The correct value
should be `arm64-apple-darwin`.
2025-01-16 12:19:48 -08:00
Fabrice de Gans
5d90af9f23 [caches] Add cache files for macOS Runtime builds 2025-01-16 12:11:00 -08:00
Hiroshi Yamauchi
32832dd1e1 Revert "[windows][toolchain] Enable builtins and sanitizers"
Revert https://github.com/swiftlang/swift/pull/77770

To fix CI https://ci-external.swift.org/job/swift-main-windows-toolchain-arm64/785/consoleText
2024-12-06 14:22:30 -08:00
Saleem Abdulrasool
3ab2a3ee4c Merge pull request #77770 from weliveindetail/windows-toolchain-sanitizers
[windows][toolchain] Enable builtins and sanitizers
2024-12-05 15:46:46 -08:00
Stefan Gränitz
53d0781937 fixup! Enable builtins for all runtime targets in CMake cache file 2024-12-03 17:19:15 +01:00
Saleem Abdulrasool
020d67330c build: enable libxml2 in the toolchain, use llvm-mt
Enable support for libxml2 on Windows to allow `llvm-mt` to be usable.
This then allows us to use `llvm-mt` as the manifest tool when building
for Windows. Remove the then obsoleted workaround of `-D CMAKE_MT=mt`.
This reduces the dependency on the MSVC toolchain and paves the path to
enabling the use of the manifest tool in SPM.
2024-12-02 17:05:20 -08:00
Stefan Gränitz
cf748a9dd0 Exclude Anroid targets for the moment 2024-11-28 17:06:33 +01:00
Stefan Gränitz
5bd3ed3577 Fix CMAKE_ANDROID_ARCH_ABI=x86 for i686-unknown-linux-android 2024-11-28 13:00:53 +01:00
Stefan Gränitz
e391a11a2c Align settings for builtins and runtimes in CMake cache for aarch64 hosts 2024-11-27 17:07:25 +01:00
Stefan Gränitz
76be949750 Align default targets for builtins and runtimes on x86_64 hosts 2024-11-26 16:56:56 +01:00
Stefan Gränitz
c7da7185ab Enable builtins for all runtime targets in CMake cache file 2024-11-21 15:23:07 +01:00
Stefan Gränitz
1857d1c2af Initial patch for early feedback 2024-11-21 14:50:19 +01:00
Fabrice de Gans
79af6da13b [caches] Add cache files for Darwin builds 2024-11-07 11:00:40 -08:00
Rintaro Ishizaki
e916e9e459 [CMake] Give a dedicated component to compiler swift-syntax libraries (#76497)
* [CMake] Give a dedicated component to compiler swift-syntax libraries

'compiler-swift-syntax-lib' so projects statically link to compiler
libraries (libAST etc) can use the required shared libraries.

rdar://135923606

* Update cmake caches

* Add back implicit `swift-syntax-lib` to `compiler` component for now

Some clients doesn't specify `swift-syntax-lib`.
2024-09-16 21:34:32 -07:00
Saleem Abdulrasool
50aa3155f1 cmake: add llvm-ml to the windows toolchain build
`llvm-ml` is a replacement for `ml` which is the MSVC assembler. This is
useful on Windows and should be part of the distribution to ensure that
we have a complete toolchain.
2024-08-16 14:47:06 -07:00
Alex Lorenz
6a7be95027 Merge pull request #74754 from hyp/eng/android-compiler-rt-buildps1
[windows][toolchain] build  android compiler-rt builtins when buildin…
2024-07-16 12:35:42 -07:00
Alex Lorenz
063a41c308 fix formatting 2024-07-15 13:03:13 -07:00
Alex Lorenz
c6c62e1763 Drop the arm64 changes
build ps1 is currently not able to compile the arm64 builtins correctly
2024-07-15 13:01:21 -07:00
Alex Lorenz
bd2c3ea53b [windows][toolchain] build android compiler-rt builtins when building Android SDK with build.ps1 2024-07-12 17:22:13 -07:00
Saleem Abdulrasool
c048449694 caches: add clang-features-file to the install components
This ensures that we distribute the features.json for clang in the
toolchain distribution image which is used for building the image.
2024-06-25 14:02:01 -07:00
Alex Lorenz
5905dc9ef3 more cross-arch build.ps1 android fixes 2024-05-14 12:15:06 -07:00
Jeremy Day
1b61c68ab1 Set LLDB_ENABLE_LIBXML2 NO in Windows-x86_64 CMake cache 2024-04-11 15:45:21 -07:00
Saleem Abdulrasool
673c3929f1 caches: adjust the Windows cache files for runtimes
Add the Windows ARM64 builtins and profile libraries for the toolchain.
2024-03-13 11:43:22 -07:00
Saleem Abdulrasool
1864caad5e build: migrate to CMake based build of swift-format
This allows us to build swift-format with dynamic linking against the
toolchain build of the swift-syntax and swift-argument-parser packages.
Wire up the swift-markdown build and hoist the swift-format build prior
to sourcekit-lsp. This sets us up for supporting swift-format based
formatting in the LSP.
2024-01-26 15:51:29 -08:00
Adrian Prantl
393e48c756 Merge pull request #71023 from adrian-prantl/swift-rename
Rename lldb-vscode -> lldb-dap
2024-01-20 08:54:45 -08:00
Adrian Prantl
b413c0d8df Rename lldb-vscode -> lldb-dap 2024-01-19 13:08:36 -08:00
Saleem Abdulrasool
fdb1c5d4fb caches: include clang-scan-deps, clang-deps-launcher
Add a couple of additional tools to the toolchain distribution.
2024-01-12 15:34:52 -08:00
Saleem Abdulrasool
14be5e943d caches: enable static mirror lib on Windows
Enable building and installation for the static mirror library on
Windows.
2024-01-04 10:14:39 -08:00
Saleem Abdulrasool
27c09fc873 Update Windows-aarch64.cmake
Add `swift-syntax-lib` to the distribution image for ARM64
2023-11-08 22:40:52 +00:00
Saleem Abdulrasool
13f13cf530 Update Windows-x86_64.cmake
Add `swift-syntax-lib` component to the distribution set.
2023-10-17 12:38:06 -07:00
Yuta Saito
053a75f3bf [wasm] Fix wrong SWIFT_THREADING_PACKAGE cmake cache
The actual value was accidentally placed in docstring field.
2023-10-05 22:48:51 +00:00
Yuta Saito
48b6cd5e53 [wasm] Remove wrong SWIFT_HOST_VARIANT_ cmake caches
`NONE` is completely wrong and testing macro feature requires a valid
value of those cmake variables now for `config.host_triple`
2023-09-25 18:38:12 +00:00
Saleem Abdulrasool
abf629b4bf Update Windows-x86_64.cmake
Disable building ORC on Windows.  We currently do not use this library so lets not spend time building it.
2023-08-10 14:33:55 -07:00
Max Desiatov
cbc854faab cmake/caches: Update Runtime-WASI-wasm32.cmake (#67475)
Disable features that are currently not available for this platform.
2023-07-22 21:02:17 +01:00
Saleem Abdulrasool
f7c9a28db2 caches: disable more components for the toolchain build
Windows builds in waves:
  - build build tools
  - build tools (compilers, debuggers, linkers, assemblers)
  - build runtimes (Swift runtime, standard library, experimental libraries)
  - build core libraries
  - build Swift tooling

We do not need to build the C++ interop module at the moment when
building the tools.  This disables that and the extra content which
currently does not result in any artifacts.
2023-04-13 09:26:57 -07:00
Saleem Abdulrasool
ffcb4bb281 cmake: rename Windows ARM64 cache file (NFC)
This makes the name homogenous with the naming of the other files.
2023-04-04 07:46:50 -07:00
Saleem Abdulrasool
7b70f7d9df caches: disable XML2 explicitly
When cross-compiling to ARM64, we would accidentally enable libxml2
support even if the library was unavailable.  This would result in build
failures.
2022-12-02 11:13:57 -08:00
Robert Widmann
2d07f382c5 Delete _InternalSwiftSyntaxParser And Its Build Infrastructure
This is the start of the removal of the C++ implementation of libSyntax
in favor of the new Swift Parser and Swift Syntax libraries. Now that
the Swift Parser has switched the SwiftSyntaxParser library over to
being a thin wrapper around the Swift Parser, there is no longer any
reason we need to retain any libSyntax infrastructure in the swift
compiler.

As a first step, delete the infrastructure that builds
lib_InternalSwiftSyntaxParser and convert any scripts that mention
it to instead mention the static mirror libraries. The --swiftsyntax
build-script flag has been retained and will now just execute the
SwiftSyntax and Swift Parser builds with the just-built tools.
2022-11-02 10:35:29 -07:00
buttaface
c4c48c0e84 [android] Update to LTS NDK 25b (#60938)
Also, remove `SWIFT_ANDROID_NDK_CLANG_VERSION` and just extract the
resource directory from the NDK using `file(GLOB)`.
2022-09-21 10:46:29 -07:00
Alastair Houghton
0cf687aa2b [Build][Runtime] Replace SWIFT_STDLIB_SINGLE_THREADED_RUNTIME.
SWIFT_STDLIB_SINGLE_THREADED_RUNTIME is too much of a blunt instrument here.
It covers both the Concurrency runtime and the rest of the runtime, but we'd
like to be able to have e.g. a single-threaded Concurrency runtime while
the rest of the runtime is still thread safe (for instance).

So: rename it to SWIFT_STDLIB_SINGLE_THREADED_CONCURRENCY and make it just
control the Concurrency runtime, then add a SWIFT_STDLIB_THREADING_PACKAGE
setting at the CMake/build-script level, which defines
SWIFT_STDLIB_THREADING_xxx where xxx depends on the chosen threading package.

This is especially useful on systems where there may be a choice of threading
package that you could use.

rdar://90776105
2022-06-07 07:39:51 +01:00
Saleem Abdulrasool
b739394344 cmake: add android runtime build caches
These cache files allow building the runtime via cross-compilation for
Android ARMv7 and AArch64.
2022-05-31 08:17:30 -07:00
Saleem Abdulrasool
699202656a caches: tweak the Windows toolchain build
Update the toolchain configuration to disable the python home embedding.
This should allow us to be more freestanding of the python location and
give us better control of the python library being used.
2022-04-10 21:39:11 -07:00
Saleem Abdulrasool
6b42b73df7 cmake: add some caches for Linux
This adds a set of cmake caches to build a toolchain and runtime for
Linux x86_64.  It is derived from the Windows configuration, but works
for Linux.
2021-11-27 14:00:05 -08:00
Saleem Abdulrasool
7d112270b5 caches: add a Windows ARM64 cache file
This is useful for restoring the Windows ARM64 port of the runtime.
This currently does not build due to issues in the module.map
definitions causing a build failure.  However, adding the file enables
others to reproduce the build and help.
2021-10-31 11:53:37 -07:00
Saleem Abdulrasool
1e6e71c7dc cmake: add a cache for Windows ARM64 toolchains
This adds a CMake cache for the Windows ARM64 toolchain.  It is possible
to build and run the toolchain on ARM64, though we have not had regular
releases of the toolchain.  This adds the cache used to generate the
toolchain in the hopes that it is useful for others and that we can soon
get more regular ARM64 toolchain builds.
2021-10-24 11:22:59 -07:00
Max Desiatov
3f68ccade3 CMake: add Runtime-WASI-wasm32.cmake cache file (#39651)
This cache file is used when building runtime for WebAssembly/WASI.

Related to SR-9307.
2021-10-11 10:13:22 +01:00
Saleem Abdulrasool
db6cec96ed caches: add a cache for a i686 build of the runtime on Windows
This adds a cache for a configuration of the standard library for
Windows x86 configurations.  This should help restore the x86 builds of
the SDK for Windows.
2021-08-30 13:13:01 -07:00
Saleem Abdulrasool
0a8da95fb4 caches: add LLVM_DEFAULT_TARGET_TRIPLE to Windows-x86_64
Add the default target triple to match the target for the Windows
toolchain.  This avoids the need for an additional parameter, and
it makes sense for the target to be the host by default. Explicit
parameters can change the target when desired.
2021-07-15 09:50:53 -07:00