Commit Graph

14 Commits

Author SHA1 Message Date
Artem Chikin
1f14158a1d Introduce VisionOS Platform
This change introduces a new compilation target platform to the Swift compiler - visionOS.

- Changes to the compiler build infrastrucuture to support building compiler-adjacent artifacts and test suites for the new target.
- Addition of the new platform kind definition.
- Support for the new platform in language constructs such as compile-time availability annotations or runtime OS version queries.
- Utilities to read out Darwin platform SDK info containing platform mapping data.
- Utilities to support re-mapping availability annotations from iOS to visionOS (e.g. 'updateIntroducedPlatformForFallback', 'updateDeprecatedPlatformForFallback', 'updateObsoletedPlatformForFallback').
- Additional tests exercising platform-specific availability handling and availability re-mapping fallback code-path.
- Changes to existing test suite to accomodate the new platform.
2024-04-10 09:38:02 -07:00
Mike Ash
0491192337 [Runtime] Remove ExternalGenericMetadataBuilder. 2024-03-21 17:56:17 -04:00
Mike Ash
4341102c92 [Tools] Add a library to build specialized generic metadata out of process.
This library uses GenericMetadataBuilder with a ReaderWriter that can read data and resolve pointers from MachO files, and emit a JSON representation of a dylib containing the built metadata.

We use LLVM's binary file readers to parse the MachO files and resolve fixups so we can follow pointers. This code is somewhat MachO specific, but could be generalized to other formats that LLVM supports.

rdar://116592577
2024-01-24 20:45:50 -05:00
Saleem Abdulrasool
b58dbb2c0a build: rename EXPERIMENTAL_STRING_PROCESSING_SOURCE_DIR
Rename the variable to `SWIFT_PATH_TO_STRING_PROCESSING_SOURCE` to match
the variables used for libdispatch, swift-syntax.
2022-12-03 17:17:13 -08:00
Ben Barham
426d36225f [Utils] Fix build-tooling-libs syntax error
The removal of _InternalSwiftSyntaxParser's build infrastructure left a
dangling else, remove it and fix up the indenting.
2022-11-09 17:03:53 -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
Alex Hoppen
11b6e0dd51 Merge pull request #61208 from ahoppen/ahoppen/swift-syntax-in-tooling-libs
Set SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE from build-tooling-libs
2022-09-26 10:39:17 +02:00
Alex Hoppen
e7de8236cc Set SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE from build-tooling-libs 2022-09-20 22:07:22 +02:00
Josh Soref
73dc2ec1bd spelling: parser
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
2022-09-15 19:43:37 -04:00
Alex Hoppen
97f543196c [build-tooling-libs] Add option to specify the swiftc compiler to build compiler sources
This is needed to build the most recent state of main if it uses C++ interop features that aren't in the host's toolchain yet.
2022-08-03 18:46:17 +02:00
Alex Hoppen
b835b962b0 [build-tooling-libs] Don’t configure extra stdlib content
Configuring extra stdlib toolchain content while not building the stdlib fails due to missing compatibility libraries.
2022-07-19 00:33:57 +02:00
Rintaro Ishizaki
ba1b3c6748 [ToolingLibs] Build tooling libs with libswift
* In CMakeLists.txt, use `CMAKE_Swift_COMPILER` to build
  SwiftCompilerModuels when `BOOTSTRAPPING_MODE` is `HOSTTOOLS`
* in `utils/build-tooling-libs`, specify necessary CMake options to
  enable libswift integration
2022-06-10 10:43:42 -07:00
Daniel Duan
3dfc40898c [NFC] Remove Python 2 imports from __future__ (#42086)
The `__future__` we relied on is now,  where the 3 specific things are
all included [since Python 3.0](https://docs.python.org/3/library/__future__.html):

* absolute_import
* print_function
* unicode_literals
* division

These import statements are no-ops and are no longer necessary.
2022-04-13 14:01:30 -07:00
Artem Chikin
d24e15812b Build libSwiftStaticMirror as a standalone library with minimal required dependencies.
This separates it from `libSwiftScan` and allows us to build this library without building much of the rest of the compiler.

Also refactor `utils/build-parser-lib` into `utils/build-tooling-libs` which builds both SwiftSyntaxParser and SwiftStaticMirror.
2022-02-09 12:28:21 -08:00