Difference between revisions of "Adding systemwide library to BitBake layer"
(Created page with "=== Adding system-wide library to BitBake layer === System-wide library can be added to BitBake layer through several simple steps. ''libogg'' will be used here as an example. T...") |
(No difference)
|
Latest revision as of 11:17, 5 May 2016
Adding system-wide library to BitBake layer
System-wide library can be added to BitBake layer through several simple steps. libogg will be used here as an example. This library will be added to meta-elphel393 layer and we will apply a couple of patches to it.
The recipe for libogg is already included into poky/meta/recipes-multimedia, but we need to apply some patches. There is no need to copy original recipe for this library as we can add special recipe into custom layer which will append Metadata to original recipe. Such recipes are called append files and they use .bbappend file type suffix. Append file must have the same name as its corresponding recipe. All we need to do is create libogg_1.3.2.bbappend file in meta/meta-elphel393/recipes-multimedia/libogg directory and add the following lines to the file:
FILESEXTRAPATHS_prepend := "${THISDIR}/files:" SRC_URI_append += "file://framing.c.patch \ file://ogg.h.patch"
This file extends the locations so that BitBake could find patches and adds these patches to original recipe. 1.3.2 in the name is the library version and it should match in append file. If corresponding recipe is renamed to update to a newer library version, this .bbappend must be renamed as well.
Next step is appending libogg package to the list of packages in core-image-elphel393 recipe which resides in meta-elphel393/recipes-core/images directory. Append library package to IMAGE_INSTALL_append variable.
IMAGE_INSTALL_append += " python-core \ libogg \ ...
Now we can compile the library
bitabke libogg -c compile
and add it to roofs
bitbake libogg -c populate_sysroot
Or just launch bitbake libogg and BitBake will compile, package and copy this library to sysroots. The library now can be used in cross-compiled user space application.