commit | 277c270d2b779729d1da0f7764059943a5514c4d | [log] [tgz] |
---|---|---|
author | Steven Moreland <smoreland@google.com> | Wed Jan 22 09:51:32 2020 -0800 |
committer | Steven Moreland <smoreland@google.com> | Wed Jan 22 09:53:05 2020 -0800 |
tree | 167637c0284c98dc50be8db36b02a3a13cd8a521 | |
parent | 927c1d297f3f27d9b6f005aee13e01e74b447866 [diff] |
Add 'while importing X at Y' error chains. So that you can see where exactly things go wrong during an import chain. This is especially useful when something complicated goes wrong inside of an import. For instance: ERROR: must import type, but importing value: test.import_identifier@1.0::types:Foo while importing test.import_identifier@1.0::types:Foo at system/tools/hidl/test/error_test/import_identifier/1.0/IFoo.hal:19.8-44. Bug: N/A Test: manual Change-Id: Ifd1baa7a7405e74c2ba6c4b65944110a77069bda
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