meson: remove pc_sysroot from registry_dir

The pkg-config variable 'registry_dir' is intended to represent where
the Redfish Message Registries will be installed.  When cross-compiling,
bitbake provides meson with the `sys_root` as somewhere in the bitbake
build tree, which meson then uses as an argument to pkg-config, which
uses it as the `${pc_sysrootdir}` value.  If we use `${pc_sysrootdir}`
in the pkg-config file, it ends up being expanded as the cross-compile
sysroot and not the final location.  Remove the `${pc_sysroot}` portion
so that the value points at the final location.

There is an argument that it is useful to have it contain the sysroot
location during the compilation state.  Some repositories _could_
choose to process the registry during build time, like phosphor-logging
does with the `yamldir` variable.  However, cross-compile environments
provide an alternative way to get the sysroot, such as
`meson.get_external_property('sys_root')`.  Having it already included
in the pkg-config makes it harder to get the install location (since
you have to subtract the path, rather than add it).

Arguably, `yamldir` should also be adjusted but that will require
changes in, at least, phosphor-logging that should be made separately.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I12b4ff68478583f6c2a8b438689aeb3a5d66228f
1 file changed
tree: 94db4198d4dadf1583cc23782dd1a2aa5f334805
  1. gen/
  2. registry/
  3. subprojects/
  4. yaml/
  5. .gitignore
  6. .markdownlint.yaml
  7. .prettierrc.yaml
  8. .shellcheck
  9. LICENSE
  10. meson.build
  11. meson.options
  12. OWNERS
  13. README.md
  14. requirements.md
README.md

phosphor-dbus-interfaces

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

Before defining a new D-Bus interface or modifying an existing one, please read through the documented set of the common requirements and expectations.

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 and org/freedesktop 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