commit | 7c1a821875a8f787b5ee2d5ba194d0916453488f | [log] [tgz] |
---|---|---|
author | Colin Cross <ccross@android.com> | Thu Feb 09 13:39:20 2023 -0800 |
committer | Colin Cross <ccross@android.com> | Thu Feb 09 13:39:20 2023 -0800 |
tree | 2b059f602dc1822f6cf7db6110606a01c5da5d79 | |
parent | ba5e84ec264fc3403afedf352cd83cc9d16860bf [diff] |
Reset optarg in Coordinator::parseOptions Coordinator::parseOptions assumes optarg will be null for options without an argument, but that is not specified by POSIX. Reset optarg to nullptr before calling getopt again to fix CoordinatorCustomArgParseTest when building with USE_HOST_MUSL=true Test: USE_HOST_MUSL=true atest --host hidl-gen-host_test Change-Id: Ida17e68fcaf5c79d5a634501b46f8d1ff5cddc7f
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).
NOTE: When using the -Landroidbp option, you can force generated modules to be installed in
/system_ext
rather than other partition by putting a marker file.hidl_for_system_ext
alongside*.hal
files.
NOTE: You can also install the vendor variant of the generated modules to be installed in
/odm
rather than/vendor
by putting a marker file.hidl_for_odm
alongside*.hal
files.
This is a helper tool to convert C headers to valid .hal files.
m c2hal && c2hal -h