[release/6.0][android] pick fixes for building Android stdlib and swift-foundation to swift 6#77626
Merged
DougGregor merged 4 commits intoDec 3, 2024
Conversation
(cherry-picked from commit 5905dc9)
Introduce the first APINotes injection for the Android platform. This follows the VCRuntime pattern of permitting the SDK to provide API Notes that augment the system SDK. This adds a workaround for incorrect nullability on the `fts_open` function in bionic. The system library itself is fixed at: https://android-review.googlesource.com/c/platform/bionic/+/3151616 (cherry-picked from 47f9d78)
…lesystem.apinotes This apinote file needs to be accessible in the locally built Android SDK as it's being built with build.ps1, so that swift-foundation can be built with that file present. This change ensures that the file is copied over into the local build directory for that Android SDK, in addition to being included in the installed component This change also places the component into lib/swift/apinotes, as that's where the clang importer already looks for API notes (cherry-picked from c036270)
Contributor
Author
|
@swift-ci please test |
compnerd
reviewed
Nov 14, 2024
| set(NOSWIFTRT_KEYWORD "NOSWIFTRT") | ||
| else() | ||
| set(NOSWIFTRT_KEYWORD "") | ||
| endif() |
Member
There was a problem hiding this comment.
Why does this get handled differently from the other targets?
finagolfin
approved these changes
Nov 16, 2024
finagolfin
left a comment
Member
There was a problem hiding this comment.
The API notes changes would be useful for my Android SDK bundle too.
The remaining CMake and concurrency changes are in trunk already and have not caused a problem for the trunk SDK bundle produced by my Android CI, so should be fine.
Contributor
Author
|
@swift-ci please test |
Contributor
Author
|
CC @DougGregor |
DougGregor
approved these changes
Nov 22, 2024
DougGregor
left a comment
Member
There was a problem hiding this comment.
Thanks for cherry-picking these
Member
|
@swift-ci please test Windows |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Explanation:
This change adds missing cherry-picks for building Android stdlib and swift-foundation to swift 6.
These changes add missing cache files for x86_64 and x86 stdlib, ensures that builtin float isn't built for Android, fixes two minor stdlib build issues, adds
"-Wgnu-offsetof-extensions"pragma to avoid a compile error, and introduces the posix_filesystem.apinotes file that is needed to build swift-foundation.Scope:
Cmake Stdlib build.
Issues:
N/A
Original PRs:
PRs:
utils: support building android SDKs on Windows #72014
[android] fix path and cmake local build target tracking for posix_fi… #75494
ClangImporter: add support for Android API Notes #74829
picks:
Relatively low. Impacts mostly on Android bits, and introduces a cmake flag for hiding the build of builtin float overlay. Also fixes
NOSWIFTRTflag used when building the stdlib's swift-reflection-test.Local android build testing, and thebrowsercompany/swift-build build testing.
Validated when building the windows stdlib as well.
@compnerd