Make pkg-config substitutable

This helps with cross-compilation. When cross-compiling, the environment
variable PKG_CONFIG is typically set to a version of pkg-config that is
configured to look in appropriate locations for the cross architecture.

For example, a build for 64-bit ARM might use:

    make \
        CC=aarch64-linux-gnu-gcc \
        STRIP=aarch64-linux-gnu-strip \
        PKG_CONFIG=aarch64-linux-gnu-pkg-config \
        release

On a Debian system, this would look in
/usr/lib/aarch64-linux-gnu/pkgconfig for details of 64-bit ARM Opus
libraries.

Bug-Debian: https://bugs.debian.org/900217
This commit is contained in:
Helmut Grohne 2018-05-27 19:28:47 +02:00 committed by Simon McVittie
parent 1bb0584c34
commit a7503e2be2

View file

@ -46,6 +46,7 @@ CC ?= gcc
LINKER = $(CC)
STRIP ?= strip
PKG_CONFIG ?= pkg-config
#CPUFLAGS= -mtune=i686
#CPUFLAGS= -march=pentium4
@ -153,8 +154,8 @@ ifeq ($(USE_CODEC_OPUS),1)
# but they include the headers without the opus directory
# prefix and rely on pkg-config. ewww...
CFLAGS+= -DUSE_CODEC_OPUS
CFLAGS+= $(shell pkg-config --cflags opusfile)
CODECLIBS+= $(shell pkg-config --libs opusfile)
CFLAGS+= $(shell $(PKG_CONFIG) --cflags opusfile)
CODECLIBS+= $(shell $(PKG_CONFIG) --libs opusfile)
endif
ifeq ($(USE_CODEC_VORBIS),1)
CFLAGS+= -DUSE_CODEC_VORBIS $(cpp_vorbisdec)