commit:     99a3974e9108a231523af6002578682391b26260
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon May 12 14:57:27 2025 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sat May 24 17:11:45 2025 +0000
URL:        https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=99a3974e

cross-pkg-config: remember PKG_CONFIG from build time

This should avoid recursive cross-pkg-config calls when someone sets
CBUILD = CHOST in the cross-emerge environment, which might be useful
for building a system image with SYSROOT != /.

For sys-devel/crossdev we will call "tc-export PKG_CONFIG" to set a
reasonable default for REAL_PKG_CONFIG. This will generally be
${CHOST}-pkg-config, where CBUILD = CHOST and SYSROOT = ROOT = /.

In the case we are cross-compiling crossdev itself, we want
${CHOST}-pkg-config for REAL_PKG_CONFIG in SYSROOT/ROOT in case it is later
used as a root image on appropriate hardware.

We also allow the user to override REAL_PKG_CONFIG via the environment
in case some unforseen use case is discovered.

Bug: https://bugs.gentoo.org/955822
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 wrappers/Makefile         | 4 +++-
 wrappers/cross-pkg-config | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/wrappers/Makefile b/wrappers/Makefile
index a55c2bc..4e82566 100644
--- a/wrappers/Makefile
+++ b/wrappers/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2008-2023 Gentoo Authors
+# Copyright 2008-2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 include ../settings.mk
@@ -6,6 +6,7 @@ include ../settings.mk
 FNAMES = cross-ebuild cross-emerge cross-fix-root cross-pkg-config 
emerge-wrapper
 SITEDIR = $(PREFIX)/share/crossdev/include/site
 ETC_SITEDIR = $(EPREFIX)/etc/crossdev/include/site
+PKG_CONFIG ?= pkg-config
 
 all:
 
@@ -15,6 +16,7 @@ install:
        sed -i -e s:@PREFIX@:$(PREFIX):g $(DESTDIR)$(ETC_SITEDIR)/README
        $(INSTALL_EXEC) $(FNAMES) $(DESTDIR)$(PREFIX)/bin/
        sed -i -e "s:@GENTOO_PORTAGE_EPREFIX@:$(EPREFIX):g" 
$(DESTDIR)$(PREFIX)/bin/cross-emerge
+       sed -i -e "s:@PKG_CONFIG@:$(PKG_CONFIG):g" 
$(DESTDIR)$(PREFIX)/bin/cross-pkg-config
        sed -i -e "s:@GENTOO_PORTAGE_EPREFIX@:$(EPREFIX):g" 
$(DESTDIR)$(PREFIX)/bin/emerge-wrapper
        cp -a etc $(DESTDIR)$(PREFIX)/share/crossdev/
        sed -i -e "s:@GENTOO_PORTAGE_EPREFIX@:$(EPREFIX):g" 
$(DESTDIR)$(PREFIX)/share/crossdev/etc/portage/make.conf

diff --git a/wrappers/cross-pkg-config b/wrappers/cross-pkg-config
index 0b417b6..ff7384e 100755
--- a/wrappers/cross-pkg-config
+++ b/wrappers/cross-pkg-config
@@ -20,7 +20,9 @@ error() {
        exit 1
 }
 
-REAL_PKG_CONFIG="${CBUILD}${CBUILD:+-}pkg-config"
+if [ -z "${REAL_PKG_CONFIG}" ]; then
+       REAL_PKG_CONFIG="@PKG_CONFIG@"
+fi
 if ! command -v "${REAL_PKG_CONFIG}" >/dev/null; then
        REAL_PKG_CONFIG=pkg-config
 fi

Reply via email to