mirror of
https://gitlab.freedesktop.org/pkg-config/pkg-config.git
synced 2025-12-20 04:20:04 +01:00
On Windows builds when --msvc-syntax is in use, add paths in the INCLUDE environment variable to the system include search path and ignore the various GCC environment variables. See https://msdn.microsoft.com/en-us/library/73f9s62w.aspx for details. https://bugs.freedesktop.org/show_bug.cgi?id=94729
66 lines
1.8 KiB
Bash
Executable file
66 lines
1.8 KiB
Bash
Executable file
#! /bin/sh
|
|
|
|
set -e
|
|
|
|
. ${srcdir}/common
|
|
|
|
# Override the system paths in case pkg-config was built with something
|
|
# that doesn't match the test pc file
|
|
PKG_CONFIG_SYSTEM_INCLUDE_PATH=/usr/include
|
|
if [ "$native_win32" = yes ]; then
|
|
PKG_CONFIG_SYSTEM_LIBRARY_PATH="/usr/lib;/lib"
|
|
else
|
|
PKG_CONFIG_SYSTEM_LIBRARY_PATH=/usr/lib:/lib
|
|
fi
|
|
export PKG_CONFIG_SYSTEM_INCLUDE_PATH PKG_CONFIG_SYSTEM_LIBRARY_PATH
|
|
|
|
RESULT=""
|
|
run_test --cflags system
|
|
|
|
RESULT="-lsystem"
|
|
run_test --libs system
|
|
|
|
# Make sure that the full paths come out when the *_ALLOW_SYSTEM_*
|
|
# variables are set
|
|
RESULT="-I/usr/include"
|
|
PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 run_test --cflags system
|
|
|
|
RESULT="-L/usr/lib -lsystem"
|
|
PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 run_test --libs system
|
|
|
|
# Set the system paths to something else and test that the output
|
|
# contains the full paths
|
|
PKG_CONFIG_SYSTEM_INCLUDE_PATH=/foo/include
|
|
PKG_CONFIG_SYSTEM_LIBRARY_PATH=/foo/lib
|
|
|
|
RESULT="-I/usr/include"
|
|
run_test --cflags system
|
|
|
|
RESULT="-L/usr/lib -lsystem"
|
|
run_test --libs system
|
|
|
|
# Now check that the various GCC environment variables also update the
|
|
# system include path
|
|
for var in CPATH C_INCLUDE_PATH CPP_INCLUDE_PATH; do
|
|
RESULT=""
|
|
eval $var=/usr/include run_test --cflags system
|
|
|
|
# Make sure these are not skipped in --msvc-syntax mode
|
|
if [ "$native_win32" = yes ]; then
|
|
RESULT="-I/usr/include"
|
|
eval $var=/usr/include run_test --cflags --msvc-syntax system
|
|
fi
|
|
done
|
|
|
|
# Check that the various MSVC environment variables also update the
|
|
# system include path when --msvc-syntax is in use
|
|
for var in INCLUDE; do
|
|
RESULT="-I/usr/include"
|
|
eval $var=/usr/include run_test --cflags system
|
|
|
|
# Make sure these are skipped in --msvc-syntax mode
|
|
if [ "$native_win32" = yes ]; then
|
|
RESULT=""
|
|
eval $var=/usr/include run_test --cflags --msvc-syntax system
|
|
fi
|
|
done
|