Sadly, before v1.9.0, ninja used per-second granularity timestamps. This had the unfortunate consequence that a "meson configure" immediately following a "meson setup" would not be picked up by ninja, thinking that no regeneration of the build config was needed during "meson compile". See https://github.com/mesonbuild/meson/issues/3992 for background and general dismay. This means that VFIO_USER_CFG_OPTS are ignored 50% of the time, depending on the wall clock. Unlucky builds would therefore end up with libvfio-user being built as a shared object (rather than a static archive) and for installation in /usr/local/lib64 (rather than /usr/local/lib, as per VFIO_USER_LIB_PREFIX). This is worked around by injecting a sleep between "meson setup" and "meson configure" when ninja < 1.9 is in use. Note that ninja v1.8.2 ships in el8, so suffers from this problem. Signed-off-by: Jonathan Davies <jonathan.davies@nutanix.com> Change-Id: I4d555dcc5bc63df4475ec6fd6014e3502123e92b Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14236 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: John Levon <levon@movementarian.org> Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> |
||
---|---|---|
.. | ||
Makefile |