Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ndk-sys: Generate against latest upstream NDK (11769913) #471

Merged
merged 1 commit into from
Apr 26, 2024

Conversation

MarijnS95
Copy link
Member

We're seeing with the R26 NDK release, which was published only half a month before the Android 14 (U, API level 34) release, that a lot of new APIs are still missing. This is not something we can deal with for very long in the NDK Rust crate, as we'd like to try out and use the latest functions at some point. These are not showing up in the followup r26b and r26c releases, nor does the r27 release seem close.

Fortunately live NDK builds of the aosp-main branch were pointed out which seem to include mostly if not exclusively stable changes to NDK (related) headers. As we're generally analyzing the changes and propagating them to the NDK wrappers (mostly additions, because API breaks are disallowed) we'd quickly catch a faulty push.

For now the only break is in a previously-faulty enum-constant name in ADataSpace.

Furthermore the upstream NDK finally contains some fixes that have been submitted to C++-like headers to make them once again C-compatible, and will allow us to start submitting bindings for:

  • ASurfaceControl
  • ASurfaceTexture
  • Parcel
  • AIBinder
  • And more.

New functions and enum variants enabled by this ndk-sys upgrade will be submitted in separate PRs too.

@MarijnS95
Copy link
Member Author

https://github.com/rust-mobile/ndk/actions/runs/8530126195/job/23367341518?pr=471 one of the CI runs is showing very nicely that upstream reports and changes are trickling down into this sysroot. The type of DataSpace is finally matching :)

@MarijnS95 MarijnS95 added the impact: breaking API/ABI-breaking change label Apr 9, 2024
We're seeing with the R26 NDK release, which was published only half a
month before the Android 14 (U, API level 34) release, that a lot of new
APIs are still missing.  This is not something we can deal with for very
long in the NDK Rust crate, as we'd like to try out and use the latest
functions at some point.  These are not showing up in the followup r26b
and r26c releases, nor does the r27 release seem close.

Fortunately live NDK builds of the `aosp-main` branch were pointed
out which seem to include mostly if not exclusively stable changes to
NDK (related) headers.  As we're generally analyzing the changes and
propagating them to the NDK wrappers (mostly additions, because API
breaks are disallowed) we'd quickly catch a faulty push.

For now the only break is in a previously-faulty enum-constant name
in `ADataSpace`.

Furthermore the upstream NDK finally contains some fixes that have
been submitted to C++-like headers to make them once again C-compatible,
and will allow us to start submitting bindings for:

- `ASurfaceControl`
- `ASurfaceTexture`
- `Parcel`
- `AIBinder`
- And more.

New functions and enum variants enabled by this `ndk-sys` upgrade will
be submitted in separate PRs too.
@MarijnS95 MarijnS95 changed the title ndk-sys: Generate against latest upstream NDK (11661618) ndk-sys: Generate against latest upstream NDK (11769913) Apr 26, 2024
@MarijnS95 MarijnS95 merged commit ce07460 into master Apr 26, 2024
38 checks passed
@MarijnS95 MarijnS95 deleted the upstream-ndk branch April 26, 2024 12:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impact: breaking API/ABI-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant