commit | 6056c71741e8b1cedcf601cf2ea1412286c1bbd0 | [log] [tgz] |
---|---|---|
author | Yifan Hong <elsk@google.com> | Thu Mar 12 17:34:33 2020 -0700 |
committer | Yifan Hong <elsk@google.com> | Fri Mar 20 11:52:45 2020 -0700 |
tree | c7bc15c606a3f7dfbfd0a803659aff83f15ffc0d | |
parent | b841e9bcef8d83d438c69b0eb275aab7e91853df [diff] |
Add libhidlmetadata_headers This is needed for device libraries to use the definition of HidlInterfaceMetadata without linking to HidlInterfaceMetadata::all and all the real data it exposes, which is known to be big. Bug: 131717099 Test: compiles Change-Id: I17894c025cb03e9afd0ba54b17657f7ff9580b16 Merged-In: I17894c025cb03e9afd0ba54b17657f7ff9580b16
Full documentation can be found here: https://source.android.com/devices/architecture/hidl/
hidl-gen is a compiler for the HIDL (HAL Interface Design Language) which generates C++ and Java endpoints for RPC mechanisms. The main userspace libraries which this compiler uses can be found at system/libhidl.
m hidl-gen
Note that options for hidl-gen expected to be invoked by the build system are marked with 'internal' in the help menu.
hidl-gen -h hidl-gen -o output -L c++-impl -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport android.hardware.nfc@1.0
Some defaults for package roots are also provided
hidl-gen -o output -L c++-impl android.hardware.nfc@1.0 hidl-gen -o output -L vts android.hardware.nfc@1.0 hidl-gen -L hash android.hardware.nfc@1.0
Example command for vendor project
hidl-gen -L c++-impl -r vendor.foo:vendor/foo/interfaces vendor.foo.nfc@1.0
See update-makefiles-helper.sh and update-all-google-makefiles.sh for examples of how to generate HIDL makefiles (using the -Landroidbp option).
This is a helper tool to convert C headers to valid .hal files.
m c2hal && c2hal -h