Commit Graph

164 Commits

Author SHA1 Message Date
Evan Wilde
2c07a23a45 Cleanup WMO forcing
This patch cleans up the handling of WMO-forcing in the workaround file.
`-wmo` is passed in each of the link jobs in the non-CMP0157-enabled
configuration to keep it matching the behavior of the CMP0157-enabled
builds.

This also moves the commentary about num-threads and WMO to the top of
the file to make it clearer what is going on. Ideally the file wouldn't
have to exist, but it does.

The file also contains the target install-name fix that landed in CMake
3.29.8 and CMake 3.30.2, so earlier versions of CMake 3.29 will work
with this build as well.
2024-11-07 00:00:33 -08:00
Evan Wilde
dad1ea8ed2 Shuffle definitions around
De-duping some of the definitions. We can pass most of the definitions
to both the Swift and C/C++ compilers in the same form if we don't
assign anything. C/C++ will set the macro value to `1` if there is no
`=` as part of the definition, and `#if` recognizes a non-existent macro
to be false. With this logic, we can unify some of these.
2024-11-06 21:27:54 -08:00
Evan Wilde
1aeab071d0 Fix rpath flag 2024-11-06 21:27:54 -08:00
Evan Wilde
50871f9f11 Get Android building 2024-11-06 21:27:53 -08:00
Evan Wilde
4f6489f746 Fixing comments
Fixing some of the comments in DefaultSettings.cmake and
PlatformInfo.cmake.

I haven't added any vendor cache files yet, so the comment doesn't point
anywhere. Also fixing the reference to the location of the clang
resource headers in PlatformInfo.cmake.
2024-11-06 21:27:53 -08:00
Evan Wilde
2a3e6d53a0 Moving compiler-src-dir refs
Moving the rest of the references to the compiler source directory to
use the `SwiftCore_SWIFTC_SOURCE_DIR` variable instead of
`${PROJECT_SOURCE_DIR}/../../`.
2024-11-06 21:27:53 -08:00
Evan Wilde
e2b878b4e9 Setup reasonable defaults
This patch makes it simpler to setup reasonable defaults for a given
platform. The standard library has many knobs for configuration
purposes. This is great for providing cache files to configure specific
builds, but the build system should still generally work if someone runs
a minimal CMake invocation against the build without futzing with
various options.
2024-11-06 21:27:53 -08:00
Evan Wilde
03ba118bf3 Add swiftCore library
This patch hooks up the swiftCore library build and gets it installing.
This means that we have library evolution hooked up and vector types.

Building it dynamically found that we had duplicate symbols, so fixed
the swiftDemanglingCR library.

Needed to hook up the availability macros.

The flag configuration is for macOS, so we'll need to go through and
figure out what it should look like for the other platforms too.
2024-11-06 21:27:53 -08:00
Evan Wilde
f3b5fcdc15 Add stubs library to build
Adding stdlib stubs library, which uses gyb and requires knowing about
some of the platform info.

The stubs library pulls in several headers from the compiler repository.
We should probably clean that up, but not right now. I've made a note of
it.
2024-11-06 21:27:53 -08:00
Evan Wilde
96429952bb Build runtime library
Getting the runtime libraries building, while also ironing out more of
the macro definitions and flags.
2024-11-06 21:27:53 -08:00
Evan Wilde
8dd5e50449 Build threading library 2024-11-06 15:54:34 -08:00
Evan Wilde
b95e3cb47b Add SwiftDemangling 2024-11-06 14:17:52 -08:00
Evan Wilde
bfb7596ab4 Add SwiftShims as an interface library 2024-11-05 08:19:43 -08:00
Evan Wilde
46dfee25d1 Get swiftLLVMSupport building
This patch gets the LLVM Support object files building.
2024-11-05 08:19:43 -08:00