Commit Graph

1458 Commits

Author SHA1 Message Date
Ben Barham
7dcebb249c [CMake] Allow install_name_tool to edit pure swift library load paths 2023-06-06 14:02:22 -07:00
Doug Gregor
a41c36934b [CMake] Fix host library builds and rpaths for testing macros
This enables running macro tests on Linux.
2023-05-28 22:20:25 -07:00
Doug Gregor
c9383ff619 [CMake] Add paths for building Swift code against host toolchain
When building Swift code into the compiler (e.g, the new Swift parser
along with macros support), make sure we always add the appropriate
paths to (1) link against the host Swift toolchain, and (2) find the
host Swift libraries (such as SwiftSyntax) at runtime.

The CMake code for doing this was only running for Darwin builds, so
generalize it to also work on Linux.
2023-05-28 17:01:01 -07:00
Kuba (Brecka) Mracek
683985e824 Add missing armv7 variants into the lists of allowed CPU types for the 'freestanding' stdlib builds (#65633) 2023-05-04 08:36:43 -07:00
Alex Langford
7c52fe21d6 [CMake] Workaround sanitizer flag bug in swift driver
Some versions of the swift driver have a bug where passing `-sanitize=`
does not emit the correct `-fsanitize=` flag for the clang link step.
Although this is being fixed, we must be able to correctly build with older
versions of the swift driver for some period of time. We workaround that
issue by explicitly passing the correct `-fsanitize=` argument
ourselves.

This works around rdar://107733898
2023-04-06 16:58:01 -07:00
Rintaro Ishizaki
d5565c9855 [CMake] Add correct sanitizer options to pure Swift libs/tools
rdar://107056349
2023-03-22 13:05:20 -07:00
Rintaro Ishizaki
93e25d2935 Merge pull request #64376 from rintaro/macros-plugin-server 2023-03-20 07:52:08 -07:00
Rintaro Ishizaki
d28e1c963c [CMake] Fix swift_supports_implicit_module failure
swift_supports_implicit_module invokes /path/to/toolchain/usr/bin/swiftc
directly without using `xcrun`. That fails to set necessary
environmental variables to make swiftc infer the SDK path. Because of
that swift_supports_implicit_module used to fail because the test
compilation fails to load the stdlib. This PR workaround it by passing
`-parse-stdlib` to avoid implicit stdlib loading.
2023-03-16 16:13:50 -07:00
Ben Barham
e137b32c73 Merge pull request #64409 from bnbarham/add-link-path
[CMake] Add lib to swift host libraries link directories
2023-03-16 14:42:20 -07:00
Rintaro Ishizaki
025d8746fe [CMake] Set correct RPATH in add_pure_swift_host_tool
Also, build pure swift library/tool with install RPATH like non Swift
things.
2023-03-16 14:00:45 -07:00
Ben Barham
4186d628e1 [CMake] Add lib to swift host libraries link directories
Our libraries have a `LC_LINKER_OPTION` for eg. `-lswiftLLVMJSON`.
This is resolved (probably just based on the actual libswiftLLVMJSON.a
added to the link command) by ld, but not by lld. Add in a link
directory so that these libraries can be found.
2023-03-15 16:55:01 -07:00
Rintaro Ishizaki
f9fba6ce3e [CMake] Move add_pure_swift_host_library to a file
* Move `add_pure_swift_host_library()` from lib/CMakeLists.txt to
  AddPureSwift.cmake so that code outside `lib` can use it
* Add `add_pure_swift_host_tool()` function to make a pure Swift
  host executable target (for future usages)
* Specify depending `SwiftSyntax` modules explicitly because not all
  Swift libraries uses all SwiftSyntax libraries
2023-03-13 19:28:13 -07:00
Rintaro Ishizaki
9004fd24d4 [ASTGen] Separate JSON serialization module from ASTGen
For future usage from other host libraries written in Swift

For CMake:
 * Explicitly specify LINKER_LANGAGE to CXX in existing components so
   that 'swiftc' is not used when linking with 'swiftASTGen'
 * Add 'EMIT_MODULE' argument to 'add_pure_swift_host_library' to emit
   .swiftmodule usable from other Swift libraries.
2023-03-09 19:15:45 -08:00
Daniel Rodríguez Troitiño
b4090419ea [cmake] Modify libedit target name to match LLVM's FindLibEdit
For unified builds, LLVM with the update to stable/20221013 includes its
own FindLibEdit, which shares many of the same names than Swift's
FindLibEdit, except that they differ in the target name.

Match both LLVM and Swift target names, so unified builds can find
LibEdit::LibEdit correctly and not try to link against libedit
mistakenly.

This should not affect Darwin/Linux builds from upstream Swift, since
they build non-unified in most people setups (including CI).
2023-03-07 17:10:11 -08:00
Alastair Houghton
1258d45152 [Backtracing] Build work.
Additional shimming required for some builds, as well as a few other build
related tweaks.

rdar://106234311
2023-03-04 15:46:30 +00:00
Alastair Houghton
44783e72c6 [Frontend] Add support for implicit import of _Backtracing
Once the API has gone through Swift Evolution, we will want to implicitly
import the _Backtracing module.  Add code to do that, but set it to off
by default for now.

rdar://105394140
2023-03-04 08:00:06 +00:00
Mishal Shah
41a903c425 Fix the bad merge from main to rebranch in cmake/modules/AddSwift.cmake 2023-03-01 22:28:05 -08:00
Arnold Schwaighofer
ed9da31fc6 Revert "Merge pull request #63650 from al45tair/backtracing/add-libexec"
This reverts commit b88f3b6545, reversing
changes made to be4caa5b93.
2023-02-28 10:08:56 -08:00
swift-ci
8c1e33acd8 Merge remote-tracking branch 'origin/main' into rebranch 2023-02-28 06:35:01 -08:00
Alastair Houghton
f68c4b40f3 Add support for building target executables into libexec.
We're going to add a program, `swift-backtrace`, that gets built alongside
the stdlib and the runtime, and that needs to be installed in libexec/swift
alongside the libraries in lib/swift.

It wants to be built with the stdlib/runtime because there's an internal
interface between `swift-backtrace` and the runtime, so the program needs
to stay in lock-step with the runtime library.

rdar://105390807
2023-02-13 20:04:37 +00:00
swift-ci
db6b4d0e60 Merge remote-tracking branch 'origin/main' into rebranch 2023-02-06 21:33:17 -08:00
Eric Miotto
6b2809ab19 [CMake] Assume watchOS and watchSimulator SDKs support 32 bit (#63472)
Update to match SDKSettings.json in watchOS 9.0

Addresses rdar://104967031
2023-02-06 21:29:56 -08:00
swift-ci
53edbec88e Merge remote-tracking branch 'origin/main' into rebranch 2022-12-16 08:55:12 -08:00
Alex Hoppen
1ebe7ef6a2 Copy files from SwiftSyntax’s gyb_syntax_support that are relevant to the compiler to this repo
This allows us to evolve e.g. token kinds and how attributes are modelled independently between SwiftSyntax and the compiler. It also makes it easier to e.g. add an attribute because you don’t need to create PRs for two repositories.
2022-12-15 16:40:28 +01:00
swift-ci
fcdbbfe6d8 Merge remote-tracking branch 'origin/main' into rebranch 2022-12-09 16:23:24 -08:00
Rintaro Ishizaki
d05f45b7f0 [CMake] Don't add unnecessary gyb support .py files
'add_gyb_target' can accept 'DEPENDS'. Utilize it.
2022-12-08 14:49:08 -08:00
swift-ci
84236ec390 Merge remote-tracking branch 'origin/main' into rebranch 2022-12-04 01:13:44 -08:00
Anthony Latsis
d553d0466a Merge pull request #62355 from AnthonyLatsis/sr-no-sr
[NFC] Migrate remnant Jira issue references to GitHub issues
2022-12-04 12:08:25 +03:00
Anthony Latsis
4cb63c8a0f [NFC] Migrate remnant Jira issue references to GitHub issues 2022-12-04 08:20:34 +03:00
swift-ci
9638cd3de8 Merge remote-tracking branch 'origin/main' into rebranch 2022-12-02 12:37:21 -08:00
Saleem Abdulrasool
70a148dc2f Merge pull request #62367 from compnerd/clang-cl
build: honour `SWIFT_CLANG_LOCATION`
2022-12-02 12:30:42 -08:00
Saleem Abdulrasool
6c384e0b78 build: honour SWIFT_CLANG_LOCATION
We would previously use `clang-cl` without the explicit path which could
find an alternative `clang-cl` instance.  This manifested as a failure
to build libdispatch as part of the compiler when cross-compiling x64 to
arm64.
2022-12-02 09:14:56 -08:00
swift-ci
21b2cf9c50 Merge remote-tracking branch 'origin/main' into rebranch 2022-12-01 20:14:31 -08:00
Erik Eckstein
d89c6b2d70 Merge remote-tracking branch 'origin/main' into rebranch 2022-12-01 07:48:51 +01:00
Doug Gregor
8f7b303e83 Set host libraries rpath correctly for bootstrapped builds 2022-11-30 18:11:02 -08:00
Doug Gregor
b338472a2b Start building libswift_CompilerPluginSupport into lib/swift/host. 2022-11-30 13:54:03 -08:00
Doug Gregor
20013181e1 [CMake] Link to swift-syntax libriares from lib/swift/host. 2022-11-30 13:54:03 -08:00
Saleem Abdulrasool
d0a7ceab4c Merge pull request #61816 from mhjacobson/freebsd-strip-version-suffix
build: add missing `REGEX` to properly strip {Free,Open}BSD version suffixes
2022-11-30 07:24:51 -08:00
swift-ci
9d3c3443a8 Merge remote-tracking branch 'origin/main' into rebranch 2022-11-28 20:14:05 -08:00
Robert Widmann
269dfb4c3b Adapt to the Removal of SerializationCodes.py
See https://github.com/apple/swift-syntax/pull/1089
2022-11-28 16:16:51 -07:00
swift-ci
771dab152e Merge remote-tracking branch 'origin/main' into rebranch 2022-11-28 08:34:02 -08:00
Max Desiatov
5cc0808ef9 SwiftConfigureSDK.cmake: convert tabs to spaces (#62237)
Using tabs instead of spaces led to inconsistency and broken formatting.
2022-11-28 16:30:13 +00:00
swift-ci
601e353c81 Merge remote-tracking branch 'origin/main' into rebranch 2022-11-16 00:34:21 -08:00
Doug Gregor
52b64e53ae [SourceKit] Make sure we link the compiler plugin support library 2022-11-15 20:52:40 -08:00
Doug Gregor
c0d53c4a47 [CMake] Fixup build for compiler plugin support library 2022-11-15 19:32:20 -08:00
swift-ci
662f51f7db Merge remote-tracking branch 'origin/main' into rebranch 2022-11-10 06:54:04 -08:00
eeckstein
cd47e7ff98 Merge pull request #61921 from mhjacobson/freebsd-fix-bootstrapped-build
build: support bootstrapped build on FreeBSD
2022-11-10 15:45:07 +01:00
Matt Jacobson
457af8502e build: add missing REGEX to properly strip FreeBSD version suffix
Remove identical logic for OpenBSD, which doesn't include suffixes in
`$CMAKE_SYSTEM_VERSION`.
2022-11-08 03:15:01 -05:00
Eric Miotto
21c0c465c6 [rebranch] Adapt to new signature for llvm_install_symlink...
and match the usage pattern employed by other LLVM projects.

For context about the underlying change see  https://reviews.llvm.org/D117977

Addresses rdar://101396797

(cherry picked from #61769, commit 2763cc3911)
2022-11-04 20:44:18 +01:00
Robert Widmann
7944635f2e Merge pull request #61898 from CodaFi/i-write-syns-not-tragedies 2022-11-04 08:20:47 -07:00