Updated headers for Android 14.0 - #7
Open
Herrie82 wants to merge 4 commits into
Open
Conversation
Generated from a halium-13.0 tree with libhybris' own
utils/extract-headers.sh, which detected ANDROID_VERSION_MAJOR 13 correctly.
extract-headers.sh does not emit everything the published sets carry, so three
directories were added on top from their canonical in-tree sources - not the
prebuilts/vndk/v32/x86 copies that a naive search turns up first:
log/ system/logging/liblog/include/log 12 files
camera/ frameworks/av/camera/ndk/include/camera 8 files
media/ frameworks/av/media/ndk/include/media 10 files
All three match the halium-11.0 file names exactly.
libnfc-nxp/ is dropped: those 145 headers are a legacy vendored NFC dump that
does not exist anywhere in an AOSP 13 tree. libhybris' configure probes for
libnfc-nxp/phLibNfc.h and only adds the include path when it is present, so its
absence is handled rather than fatal.
Note that android-headers describes the vendor HAL interface rather than the
system image, so a device whose vendor is older does not need this - Droidian
still build-depends on android-headers-30 for Halium 12 and 13. This is for
trees whose vendor is Android 13.
A file-level comparison against halium-11.0 showed four headers the generated
set was short of, once libnfc-nxp is set aside. Two are real and were simply
not emitted by extract-headers.sh:
android/log.h system/logging/liblog/include/android
private/android_filesystem_config.h system/core/libcutils/include/private
android/log.h in particular is included very widely, so its absence would have
surfaced as a confusing failure in the first consumer that needed it rather
than as anything obviously to do with the header set.
The other two are genuinely retired in AOSP 13 rather than missing:
hardware/keymaster0.h the keymaster0 HAL is gone from the tree
private/bionic_string_utils.h no longer in bionic; the only copies left
are the ones libhybris vendors under
hybris/common/*/bionic, so anything needing
it already has it
android/ now has the same nine files as halium-11.0.
Generated from a halium-14.0 tree with libhybris' utils/extract-headers.sh,
which needed -v 14.0.0 passed explicitly: it reads the platform version from
build/core/version_defaults.mk, and AOSP 14 no longer has that file anywhere
under build/ - the version moved into the release-config machinery.
As with halium-13.0, three directories and two headers that the script does not
emit were added from their canonical in-tree sources:
log/ system/logging/liblog/include/log 12 files
camera/ frameworks/av/camera/ndk/include/camera 8 files
media/ frameworks/av/media/ndk/include/media 10 files
android/log.h
private/android_filesystem_config.h
Against halium-13.0 the notable change is that AOSP 14 retired the legacy
HAL 1.0 headers - hardware/lights.h, thermal.h, radio.h, consumerir.h,
fused_location.h, activity_recognition.h, vr.h, local_time_hal.h and
audio_alsaops.h are all gone, along with cutils/threads.h - while gaining the
AIDL equivalents, android/hardware_buffer_aidl.h, android/native_window_aidl.h
and system/audio_aidl_utils.h.
Anything still using a legacy HAL header therefore cannot build against this
set. That is a reason to pick the header version by vendor rather than by GSI:
these describe an Android 14 vendor's interface, and a device whose vendor is
older should keep using the matching older set.
extract-headers.sh copies a directory argument by iterating its entries with a plain "cp -L", which silently skips any entry that is itself a directory. system/media/audio/include/system has held audio_effects/ for as long as it has been extracted, so it has never been in these headers, even though the audio_effect.h beside it includes from that directory. Regenerated against the same Android 14 tree with the fixed script (libhybris "extract-headers: copy header subdirectories, and stop ignoring cp errors"), which reports 0 cp errors and auto-detects 14.0.0. Additive on purpose. A full regeneration would drop the NDK camera and media headers added by 217a38e, which extract-headers.sh does not produce - so only the 19 files it was missing are added here. Every other file is byte-identical apart from git-revisions.txt, which is generated.
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.
No description provided.