[vlc-devel] [PATCH] contrib: detect the pkg-config variant to use
Steve Lhomme
robux4 at ycbcr.xyz
Fri Jan 31 13:00:27 CET 2020
On 2020-01-31 12:23, Rémi Denis-Courmont wrote:
> Hi,
>
> Why is this not handled in the same manner and location as the other
> cross-tools?
If you mean this kind of thing:
ifneq ($(findstring $(origin PKG_CONFIG),undefined default),)
PKG_CONFIG := $(HOST)-pkg-config
endif
The problem is that these commands are never checked and assumed to
exist. That would change what we use now as allowing fallback to normal
pkg-config. I'm not sure it's the case for all the cross compilation we do.
I could use something like this:
ifneq ($(findstring $(origin PKG_CONFIG),undefined default),)
ifeq ($(which $(HOST)-pkg-config >/dev/null 2>&1 || echo FAIL),)
PKG_CONFIG := $(HOST)-pkg-config
else
PKG_CONFIG := pkg-config
endif
endif
> Le 31 janvier 2020 10:57:29 GMT+02:00, Steve Lhomme <robux4 at ycbcr.xyz> a
> écrit :
>
> And use it for all contribs detection and building.
>
> The PKG_CONFIG is not written in the Makefile and can be overriden in config.mak
> ------------------------------------------------------------------------
> contrib/bootstrap | 17 +++++++++++++++++
> contrib/src/main.mak | 6 ++----
> 2 files changed, 19 insertions(+), 4 deletions(-)
>
> diff --git a/contrib/bootstrap b/contrib/bootstrap
> index 5ed5f6f25d3..4472837e27b 100755
> --- a/contrib/bootstrap
> +++ b/contrib/bootstrap
> @@ -160,6 +160,22 @@ then
> PREFIX="${PREFIX%/}"
> fi
>
> +printf "Using pkg-config... "
> +PKG_CONFIG=`which pkg-config`
> +PKG_CONFIG_PROG="$HOST-pkg-config"
> +if test -z "`which $PKG_CONFIG_PROG`"
> +then
> + PKG_CONFIG_PROG="pkg-config"
> + if test -z "`which $PKG_CONFIG_PROG`"
> + then
> + PKG_CONFIG_PROG=""
> + fi
> +fi
> +if test -n "$PKG_CONFIG_PROG"
> +then
> + echo "$PKG_CONFIG_PROG"
> +fi
> +
> #
> # Prepare files
> #
> @@ -171,6 +187,7 @@ cat >&3 << EOF
> # Any change will be overwritten if ../bootstrap is run again.
> BUILD := $BUILD
> HOST := $HOST
> +PKG_CONFIG := $PKG_CONFIG_PROG
> PKGS_DISABLE := $PKGS_DISABLE
> PKGS_ENABLE := $PKGS_ENABLE
> EOF
> diff --git a/contrib/src/main.mak b/contrib/src/main.mak
> index 275188ee18c..3d6a9de41a8 100644
> --- a/contrib/src/main.mak
> +++ b/contrib/src/main.mak
> @@ -224,7 +224,6 @@ export ACLOCAL_AMFLAGS
> # Tools #
> #########
>
> -PKG_CONFIG ?= pkg-config
> ifdef HAVE_CROSS_COMPILE
> # This inhibits .pc file from within the cross-compilation toolchain sysroot.
> # Hopefully, nobody ever needs that.
> @@ -315,7 +314,8 @@ endif
> HOSTTOOLS := \
> CC="$(CC)" CXX="$(CXX)" LD="$(LD)" \
> AR="$(AR)" CCAS="$(CCAS)" RANLIB="$(RANLIB)" STRIP="$(STRIP)" \
> - PATH="$(PREFIX)/bin:$(PATH)"
> + PATH="$(PREFIX)/bin:$(PATH)" \
> + PKG_CONFIG="$(PKG_CONFIG)"
>
> HOSTVARS_MESON := $(HOSTTOOLS) \
> CPPFLAGS="$(CPPFLAGS)" \
> @@ -608,7 +608,6 @@ endif
> ifdef HAVE_CROSS_COMPILE
> echo "set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)" >> $@
> echo "set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)" >> $@
> - echo "set(PKG_CONFIG_EXECUTABLE $(PKG_CONFIG))" >> $@
> endif
>
> MESON_SYSTEM_NAME =
> @@ -634,7 +633,6 @@ endif
> crossfile.meson: $(SRC)/gen-meson-crossfile.py
> $(HOSTVARS_MESON) \
> WINDRES="$(WINDRES)" \
> - PKG_CONFIG="$(PKG_CONFIG)" \
> HOST_SYSTEM="$(MESON_SYSTEM_NAME)" \
> HOST_ARCH="$(subst i386,x86,$(ARCH))" \
> HOST="$(HOST)" \
>
>
> --
> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser
> ma brièveté.
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
>
More information about the vlc-devel
mailing list