package/libgtk3: don't use pkgconf directly for host build
PATCH 1/1 package/libgtk3: don't use pkgconf directly for host build
The build of host-libgtk3 calls $(HOST_DIR)/bin/pkgconf directly, assuming that it will return correct results when building host tools. It did work in practice without per-package directories, but is not how pkg-config is used for host build in general: we recommend to use $(HOST_DIR)/bin/pkg-config and we have in $(HOST_MAKE_ENV) a number of environment variables that tell pkg-config to return results relevant for host builds.
With per-package directories, calling $(HOST_DIR)/bin/pkgconf fails badly, because it searches for .pc files in the per-package directory of host-pkgconf itself, which obviously is empty.
So, we switch to using $(HOST_MAKE_ENV) $(PKG_CONFIG_HOST_BINARY), which uses the regular pkg-config with the right environment variables.
This allows the build of host-libgtk3 to find gdk-pixbuf-2.0 and gio-2.0 built for the host, even in the context of BR2_PER_PACKAGE_DIRECTORIES=y.
--- package/libgtk3/libgtk3.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
package/libgtk3/libgtk3.mk +2 -2
@@ -151,8 +151,8 @@ HOST_LIBGTK3_DEPENDENCIES = \ host-librsvg HOST_LIBGTK3_CFLAGS = \ - `$(HOST_DIR)/bin/pkgconf --cflags --libs gdk-pixbuf-2.0` \ - `$(HOST_DIR)/bin/pkgconf --cflags --libs gio-2.0` + `$(HOST_MAKE_ENV) $(PKG_CONFIG_HOST_BINARY) --cflags --libs gdk-pixbuf-2.0` \ + `$(HOST_MAKE_ENV) $(PKG_CONFIG_HOST_BINARY) --cflags --libs gio-2.0` define HOST_LIBGTK3_CONFIGURE_CMDS echo "#define GETTEXT_PACKAGE \"gtk30\"" >> $(@D)/gtk/config.h
Signature · 1 line
2.19.2
PATCH 1/1 package/libgtk3: don't use pkgconf directly for host build
Quoted 18 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
The build of host-libgtk3 calls $(HOST_DIR)/bin/pkgconf directly, assuming that it will return correct results when building host tools. It did work in practice without per-package directories, but is not how pkg-config is used for host build in general: we recommend to use $(HOST_DIR)/bin/pkg-config and we have in $(HOST_MAKE_ENV) a number of environment variables that tell pkg-config to return results relevant for host builds.
With per-package directories, calling $(HOST_DIR)/bin/pkgconf fails badly, because it searches for .pc files in the per-package directory of host-pkgconf itself, which obviously is empty.
So, we switch to using $(HOST_MAKE_ENV) $(PKG_CONFIG_HOST_BINARY), which uses the regular pkg-config with the right environment variables.
Quoted 5 lines
This allows the build of host-libgtk3 to find gdk-pixbuf-2.0 and gio-2.0 built for the host, even in the context of BR2_PER_PACKAGE_DIRECTORIES=y.
Signed-off-by Thomas Petazzoni <[email protected]>
Committed, thanks.
Signature · 1 line
Bye, Peter Korsgaard