Skip to contentSkip to conversation

package/libgtk3: don't use pkgconf directly for host build

PATCH New Thomas Petazzoni 2 participants 2 messages Dec 11, 2018 – Dec 15, 2018

lore
Share & tools
lore
#0 lore raw

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
index 1b85d00aae..bdf820de37 100644
@@ -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
#1 lore raw

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.

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard