coreos-base/update_engine: Override path to glib-genmarshal

Normally we use pkg-config to query flags and libraries that are
needed to build things. These are specific to CHOST, and the build
system usually uses pkg-config on CHOST to get those flags and
libraries. But pkg-config is also used to query for the location of
the tools used during the build, and for those we need to use
pkg-config on CBUILD. But the build system is usually using the same
pkg-config for both flags and libs, and for build tools. Which works
fine for typical builds, but breaks for cross builds.

One of such build tools is glib-genmarshal. Fortunately the build
system allows us to override the detection results by passing
GLIB_GENMARSHAL="${some_path}" to the configure script. So do that.
This commit is contained in:
Krzesimir Nowak 2021-10-01 15:35:19 +02:00
parent 6c5f93d3ba
commit a4373a7c1b

View File

@ -68,6 +68,12 @@ src_configure() {
$(use_enable delta_generator) $(use_enable delta_generator)
) )
if tc-is-cross-compiler; then
# Override glib-genmarshal path
local build_pkg_config="$(tc-getBUILD_PROG PKG_CONFIG pkg-config)"
myconf+=(GLIB_GENMARSHAL="$("${build_pkg_config}" --variable=glib_genmarshal glib-2.0)")
fi
econf "${myconf[@]}" econf "${myconf[@]}"
} }