pkg-config/check/check-relocatable
Dan Nicholson bbbdab4c60 Don't override empty prefix setting
If the original prefix setting is empty, skip prepending the redefined
prefix to other variables. This works the same as if the pc file doesn't
have a prefix variable at all.

https://bugs.freedesktop.org/show_bug.cgi?id=97453-empty
2016-08-30 09:41:54 -07:00

53 lines
2.1 KiB
Bash
Executable file

#! /bin/sh
set -e
. ${srcdir}/common
# Convert absolute directories to Windows format if necessary.
if [ "$native_win32" = yes ]; then
# Assume we have cmd to do the conversion, except we have to escape
# the command switch on MSYS.
[ "$OSTYPE" = msys ] && opt="\\/C" || opt="/C"
abs_top_srcdir=$($WINE cmd $opt echo "$abs_top_srcdir" | tr -d '\r')
abs_srcdir=$($WINE cmd $opt echo "$abs_srcdir" | tr -d '\r')
fi
# See if the pcfiledir variable is defined. First, with the path
# built from the relative PKG_CONFIG_LIBDIR. Second, with the path
# built from the full path to the pc file.
RESULT=$srcdir
run_test --variable=pcfiledir pcfiledir
RESULT=$abs_srcdir
run_test --variable=pcfiledir "$abs_srcdir/pcfiledir.pc"
# Test if pcfiledir metadata variable is substituted correctly
RESULT="-I${srcdir}/include -L${srcdir}/lib -lfoo"
run_test --cflags --libs pcfiledir
# Test prefix redefinition for .pc files in pkgconfig directory. Try .pc
# files with both unexpanded and expanded variables. Use the absolute
# directory for the search path so that pkg-config can strip enough
# components of the file directory to be useful.
PKG_CONFIG_LIBDIR="${abs_srcdir}/pkgconfig"
for pkg in prefixdef prefixdef-expanded; do
# Typical redefinition
RESULT="-I${abs_top_srcdir}/include -L${abs_top_srcdir}/lib -lfoo"
run_test --define-prefix --cflags --libs $pkg
RESULT="-I/reloc/include -L/reloc/lib -lfoo"
run_test --dont-define-prefix --cflags --libs $pkg
# Non-standard redefinition
RESULT="-I/reloc/include -L${abs_top_srcdir} -lfoo"
run_test --define-prefix --prefix-variable=libdir --cflags --libs $pkg
RESULT="-I/reloc/include -L/reloc/lib -lfoo"
run_test --dont-define-prefix --cflags --libs $pkg
done
# Test prefix redefinition for .pc files with an empty prefix. In this
# case, there should be no prefix adjustment to the other variables. The
# result should be the same regardless of prefix redefinition.
RESULT="-I/some/path/include -L/some/path/lib -lfoo"
run_test --define-prefix --cflags --libs empty-prefix
run_test --dont-define-prefix --cflags --libs empty-prefix