commit | 32fbd5df095c9b0262a013bedae8cef51f1d35fe | [log] [tgz] |
---|---|---|
author | Patrick Williams <patrick@stwcx.xyz> | Wed Apr 21 21:09:09 2021 -0500 |
committer | Patrick Williams <patrick@stwcx.xyz> | Wed Apr 21 21:38:29 2021 -0500 |
tree | a19e5e9d67c8f2528f0d18aa7f42068eda2a3657 | |
parent | 495981805244269650bee13d1ee8f13543b2bc5a [diff] |
build: fix pkgconfig yamldir var again pkgconfig's should not have a fully formed prefix but instead should use a '${prefix}' redirection. This allows alternative installed root paths, like you would find in the OE-SDK. Without this '${prefix}', the phosphor-dbus-interfaces.pc in the SDK will have a literal '/usr/share/...' path and packages using this variable will be unable to find the SDK-relative path. Also, since the 'yamldir' variable is intended to be used at cross-compile time (as opposed to execution time) it should similarly be prefixed by '${pc_sysrootdir}' according to [1]. Tested: Copied the generated pkgconfig into an OE-SDK (to overwrite the original one) and confirmed a successful meson build using this variable and by manually running pkgconfig: ``` $ .../sdk/sysroots/x86_64-oesdk-linux/usr/bin/pkg-config \ --variable=yamldir phosphor-dbus-interfaces .../sdk/sysroots/arm1176jzs-openbmc-linux-gnueabi/usr/share/phosphor-dbus-yaml/yaml ``` 1. https://autotools.io/pkgconfig/cross-compiling.html Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I6b078fac65aac7c642358ad73a4acf9df1594174
YAML descriptors of standard D-Bus interfaces. The format is described by the sdbusplus binding generation tool sdbus++.
This project can be built with meson
. The typical meson
workflow is: meson builddir && ninja -C builddir
.
The meson files used to handle the YAML files are automatically generated and found under the gen
subdirectory. When adding or removing YAML files, this must be regenerated. This can be done with the helper script found in the gen
subdirectory: cd gen && ./regenerate-meson
.
Only the xyz/openbmc_project interfaces are built by default. Other interfaces can be enabled by meson options:
-Ddata_com_ibm=true
-Ddata_org_open_power=true
Example: meson builddir -Ddata_com_ibm=true && ninja -C builddir