Commit Graph

127 Commits

Author SHA1 Message Date
Saleem Abdulrasool
e4d7cec837 Merge pull request #70543 from compnerd/debug
build: only apply linker flags for C/C++
2023-12-20 09:50:30 -08:00
Saleem Abdulrasool
2c5dce5898 build: update WiX to 4.0.3
Update to the latest WiX toolset for the extraction process in the hopes
that this will resolve some of the flakiness we see on the 5.10 branch.
2023-12-19 11:53:58 -08:00
Saleem Abdulrasool
a755a48202 build: only apply linker flags for C/C++
When building C/C++ code we need to add `/debug` to the flags.  However,
if we are building Swift code, this becomes a problem as the flag is
passed to the Swift compiler directly.  Only pass the flag when C/C++
code is being built.
2023-12-19 11:37:20 -08:00
Alex Lorenz
9db866f881 Merge pull request #70524 from hyp/eng/pdb-for-all-of-us
[windows][build] pass the /debug flag to the linker
2023-12-18 19:01:59 -08:00
Alex Lorenz
d2c897a1a1 [windows][build] pass the /debug flag to the linker
when building with debug information enabled

This ensures that every executable and dll get a corresponding
PDB file with the debug information.
2023-12-18 13:01:30 -08:00
Saleem Abdulrasool
ef1f9ebcb5 Merge pull request #70497 from compnerd/testing
build: add support for testing more of the compilers on Windows
2023-12-15 15:55:19 -08:00
Saleem Abdulrasool
96f1a449f5 build: add support for testing more of the compilers on Windows
This adds the ability to conditionally run the test suite for LLVM, LLD,
LLDB, Clang, and Swift.  This will allow us to increase the test
coverage in CI to avoid regressions.
2023-12-15 09:53:54 -08:00
Ian Anderson
94e860e795 [ClangImporter] Swift needs to pass -Xclang -fbuiltin-headers-in-system-modules for its module maps that group cstd headers
Swift has some module maps it overlays on Linux and Windows that groups all of the C standard library headers into a single module. This doesn’t allow clang and C++ headers to layer properly with the OS/SDK modules. clang will set -fbuiltin-headers-in-system-modules as necessary for Apple SDKs, but Swift will need to pass that flag itself when required by its module maps.
2023-12-08 22:33:12 -08:00
Saleem Abdulrasool
7978272185 utils: integrate support for caching when building
Integrate support for sccache into the build system.  This allows us to
get a reasonable performance increase for clean builds for the C/C++
side of the build.  This is currently limited to the MSVC compiler as
the extended compiler flags cause issues for sccache.
2023-12-04 08:00:36 -08:00
Saleem Abdulrasool
61bf9a4380 Update build.ps1
Update the variables for the pinned-toolchain usage to correctly specify the compilers.  Additionally use the new helpers to work with the new toolchain layout as well.
2023-12-02 19:33:28 -08:00
Saleem Abdulrasool
ecc302b7d7 Merge pull request #69743 from tristanlabelle/tristan/build.ps1-vcredist-msms
Update build.ps1 for installer changes for VCRuntime dlls
2023-11-30 08:35:44 -08:00
Hiroshi Yamauchi
5009b006a1 Merge pull request #70050 from hjyamauchi/nativearm64build
Support the new installer layout for the pinned toolchain in build.ps1.
2023-11-29 17:39:17 -08:00
Saleem Abdulrasool
d1bb5f68db Merge pull request #69960 from compnerd/tools
build: disable additional pieces for the build tools phase
2023-11-29 13:42:23 -08:00
Hiroshi Yamauchi
0150d0d3c5 Support the new installer layout for the pinned toolchain in build.ps1.
This fixes the native Windows ARM64 build.
2023-11-28 15:46:13 -08:00
Saleem Abdulrasool
e575578792 build: enable HTTPS for CURL again
Adjust the flags for the updated CURL version.  It seems that we accidentally disabled HTTPS support in the CURL builds with the last update.  This is required for `URLSession` and `URLRequest` to support HTTPS.
2023-11-28 14:14:13 -08:00
Tristan Labelle
9c7872788c build.ps1: Build installer wixproj as bundle 2023-11-17 17:00:41 -05:00
Saleem Abdulrasool
e3ecce14eb build: disable additional pieces for the build tools phase
This reduces the configure time and reduces the pieces that may check
for dependencies as we are growing the dependencies on Swift.
2023-11-17 09:10:17 -08:00
Saleem Abdulrasool
8f7d3fca24 build: add additional logging when extracting the MSIs
This adds additional logging for the extraction and explicitly marks the
extraction as per-machine.
2023-11-14 07:02:44 -08:00
YR Chen
be5a06555f Add support for SWIFTCI_USE_LOCAL_DEPS in swift-inspect
If the `SWIFTCI_USE_LOCAL_DEPS` environment variable is set, we're building in the Swift.org CI system alongside other projects in the Swift toolchain and we can depend on local versions of our dependencies instead of fetching them remotely.
2023-11-09 20:02:14 +08:00
Tristan Labelle
258c420349 Update build.ps1 for installer changes for VCRuntime merge modules 2023-11-09 06:22:06 -05:00
Saleem Abdulrasool
2e348d2bc0 Merge pull request #69575 from compnerd/stage
build: adjust the installer build and artifact staging
2023-11-07 13:44:42 +00:00
Saleem Abdulrasool
c80901b17e Merge pull request #69651 from compnerd/shaving
build: tweak the Windows build to build against the internal swift-syntax
2023-11-06 05:12:20 -08:00
Saleem Abdulrasool
48715298d4 build: add additional download checking for the image
Ensure that the downloaded image matches the expected image.  This
ensures that we catch download errors as well as provides some level of
security by requiring that the download checksum matches.
2023-11-05 08:51:34 -08:00
Saleem Abdulrasool
f7cd9ab1c0 build: tweak the Windows build to build against the internal swift-syntax
Use the internal copy of swift-syntax that the compiler uses for macros
to build the LSP. By sharing the swift-syntax build, we shave ~6MiB off
the LSP binary. Additionally, we avoid building swift-syntax twice as a
single copy is now used.
2023-11-03 16:02:56 -07:00
Saleem Abdulrasool
5da8b3fa09 build: adjust the installer build and artifact staging
Adjust the installer to allow it to be built for foreign architectures.
Additionally, adjust the artifact staging to include additional content
that was missed previously in order to enable code signing.
2023-11-03 13:24:09 -07:00
Saleem Abdulrasool
4fb2614e6c build: update build.ps1, use update-checkout for more dependencies
Update the build.ps1 to match the current state which introduces
`-BuildTo` and updates most of the dependencies. Take the opportunity to
migrate to update-checkout for the majority of the dependencies. The
SQLite amalgamation and installer image are still fetched later, and ICU
is still cloned in the CI wrapper.
2023-11-01 14:16:15 -07:00
Tristan Labelle
3a863c4825 Migrate the Windows build to build.ps1, a new build script (#69337)
* Switch to build.ps1
* Update build.ps1 to the latest
* Update to latest build.ps1
* Update build-windows-toolchain.bat
- Update the curl pin to 8.4.0
- Stage artifacts to expected location
* Update build.ps1
Stage cabs and MSIs as well.
* Update build.ps1
* Update build.ps1

---------

Co-authored-by: Saleem Abdulrasool <compnerd@compnerd.org>
2023-10-31 14:11:19 -07:00