Android: FILE is an opaque struct since API 24 #306
Merged
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.
Motivation:
Get this Swift file building for Android.
Modifications:
Use an OpaquePointer for
FILE*
on Android.Result:
This file builds and all the tests pass on Android.
This change is needed because of aosp-mirror/platform_bionic@3037ea4, as noted on the similar pull swiftlang/swift-tools-support-core#243.
An earlier unconditionally-compiled version of this patch got this package cross-compiled for Android, finagolfin/swift-android-sdk#11, and all the tests passing in the Android emulator, so that I can add it to my daily Android CI next. I also built it on linux to make sure it didn't break anything there.