halcc: Introduce halcc library
The halcc stands for hal compatibility checker.
Tizen hal-apis can specify what feature and version it expects to
hal-backends in manifest file. The halcc library deserializes and
utilizes the information for checking compatibility between
hal-api and hal-backend.
For example, a hal-api specifies what it needs in xml file:
| <!--hal-api-xxx.xml-->
|
| <manifest version="1.0" type="platform" level="2">
| <hal>
| <name>AAA</name>
| <version>3.1</version>
| <transport>passthrough</transport>
| </hal>
| ...
| </manifest>
It means that the hal-api expects and requires hal-backend module name
of AAA, and version of 3.x where x >= 1.
(See semantic versioning, https://semver.org)
These are collected and tested by the halcc library.
Currently only the function below is provieded
- int halcc_check_compatibility(const char *hal_api_manifest_dir,
halcc_compatibility_cb callback, void *user_data)
: It collects manifest files at hal_api_manifest_dir and checks
whether the hal-backends have compatible what hal-apis have
specified. For each specified <hal> in manifests, callback is
invoked.
Change-Id: Ibb16c378f6fbe08750b6df7db99ee6626bcfd033
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
14 files changed: