Commit 4ac03cc8 authored by Eric Andersen's avatar Eric Andersen
Browse files

filter pkgconfig output to force it do use our staging_dir and not

try to use the system libraries as it is inclined to do
parent ceb28597
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -88,7 +88,11 @@ TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
		CPP=$(TARGET_CROSS)cpp \
		RANLIB=$(TARGET_CROSS)ranlib \
		STRIP=$(TARGET_CROSS)strip \
		OBJCOPY=$(TARGET_CROSS)objcopy
		OBJCOPY=$(TARGET_CROSS)objcopy \
		CC_FOR_BUILD="$(HOSTCC)" \
		PKG_CONFIG_SYSROOT=$(STAGING_DIR) \
		PKG_CONFIG=$(STAGING_DIR)/usr/bin/pkg-config


ifeq ($(BR2_ENABLE_LOCALE),y)
DISABLE_NLS:=
+27 −0
Original line number Diff line number Diff line
#!/bin/bash
# filter the output from pkg-config (renamed as pkg-config.real)
# and ensures PKG_CONFIG_SYSROOT is prepended to all paths

CMD=$0

if [ ! "$PKG_CONFIG_SYSROOT" ]; then
	echo "pkg-config-filter: missing \$PKG_CONFIG_SYSROOT environment variable"
	exit 2
fi

export PKG_CONFIG_LIBDIR
export PKG_CONFIG_PATH

if $CMD.real $* |
	sed -e "s~\-L/*$PKG_CONFIG_SYSROOT/*~-L=/~g; s~\-I/*$PKG_CONFIG_SYSROOT/*~-I=/~g;" |
	sed -e "s~\-L/~-L=/~g; s~\-I/~-I=/~g;" |
	sed -e "s~\-L\=~-L$PKG_CONFIG_SYSROOT~g; s~\-I\=~-I$PKG_CONFIG_SYSROOT~g;"
then
	echo "PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR" >&2
	echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH" >&2
	echo "OKAY" >&2;
	exit 0;
else
	echo "pkg-config failed!" >&2
	exit 1
fi
+4 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ $(PKGCONFIG_DIR)/.configured: $(PKGCONFIG_DIR)/.unpacked
		--exec-prefix=/usr \
		--bindir=/usr/bin \
		--sbindir=/usr/sbin \
		--libdir=/lib \
		--libexecdir=/usr/lib \
		--sysconfdir=/etc \
		--datadir=/usr/share \
@@ -45,6 +46,9 @@ $(PKGCONFIG_DIR)/$(PKGCONFIG_BINARY): $(PKGCONFIG_DIR)/.configured

$(STAGING_DIR)/$(PKGCONFIG_TARGET_BINARY): $(PKGCONFIG_DIR)/$(PKGCONFIG_BINARY)
	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(PKGCONFIG_DIR) install
	mv $(STAGING_DIR)/usr/bin/pkg-config $(STAGING_DIR)/usr/bin/pkg-config.real
	cp package/pkgconfig/pkgconfig-filter.sh $(STAGING_DIR)/usr/bin/pkg-config
	mkdir -p $(STAGING_DIR)/lib/pkgconfig
	rm -rf $(STAGING_DIR)/share/locale $(STAGING_DIR)/usr/info \
		$(STAGING_DIR)/usr/man $(STAGING_DIR)/usr/share/doc