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
1 file changed
tree: a19e5e9d67c8f2528f0d18aa7f42068eda2a3657
  1. com/
  2. gen/
  3. org/
  4. subprojects/
  5. xyz/
  6. .gitignore
  7. .shellcheck
  8. LICENSE
  9. MAINTAINERS
  10. meson.build
  11. meson_options.txt
  12. README.md
README.md

phosphor-dbus-interfaces

YAML descriptors of standard D-Bus interfaces. The format is described by the sdbusplus binding generation tool sdbus++.

Building

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.

Configuration

Only the xyz/openbmc_project interfaces are built by default. Other interfaces can be enabled by meson options:

  • com/ibm - -Ddata_com_ibm=true
  • org/open_power - -Ddata_org_open_power=true

Example: meson builddir -Ddata_com_ibm=true && ninja -C builddir

References