Currently, the headers from imx-vpu-hantro are installed in the ${includedir} directory, which is /usr/include/ in Yocto.

This is bad, because there are multiple headers, and none of them have names that are distinguishable enough. There are headers called codec.h, version.h, util.h for example.

Placing multiple headers into /usr/include/ that belong to a specific library or package is not good. In the Unix world, it is generally considered good practice to place such headers in a subdirectory instead.

I would recommend doing that here as well. Let the imx-vpu-hantro recipe create a "hantro/" or "imx-vpu-hantro/" subdirectory in ${includedir}, and install the headers there. I realize that the imx-vpuwrap and imx-gst1.0-plugin recipes expect the headers to be in ${includedir}, but this can be circumvented by adding an include path command line flag to their CFLAGS. I think this is preferable over keeping these headers in the main include directory.

Also, the preprocessor definitions that the top level makefile selects are not specified in any header. Typically, such options are recorded in something like config.h so that code that uses the library can use #ifdef to make sure its code matches. For example, there is the USE_EXTERNAL_BUFFER macro, which is enabled in the toplevel makefile. This macro enables additional fields in several C structs, so knowing whether or not imx-vpu-hantro was build with this macro is important.

--
_______________________________________________
meta-freescale mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-freescale

Reply via email to