summaryrefslogtreecommitdiff
path: root/check
diff options
context:
space:
mode:
authorDan Nicholson <dbn.lists@gmail.com>2013-03-26 14:59:32 +0100
committerDan Nicholson <dbn.lists@gmail.com>2013-04-09 05:41:38 -0700
commitf6212f6b974cc926ff66fad9eecd1f28d38cd46e (patch)
treef9a1655a7034dc41f8fd610f2823601e3d0ebb47 /check
parentdf1ac943d468b48782f4ac81a880627dc0aebb2d (diff)
downloadpkg-config-f6212f6b974cc926ff66fad9eecd1f28d38cd46e.tar.gz
Adjust expected path for native Windows test
When check-path is run on native Windows (MINGW), that path reported by `pkg-config --variable=pc_path pkg-config` is adjusted to the directory pkg-config is run from. Adjust the expected result based on getting the current directory from cmd in Windows format.
Diffstat (limited to 'check')
-rwxr-xr-xcheck/check-path29
-rw-r--r--check/config.sh.in2
2 files changed, 23 insertions, 8 deletions
diff --git a/check/check-path b/check/check-path
index fecfc06..37244d9 100755
--- a/check/check-path
+++ b/check/check-path
@@ -9,14 +9,27 @@ PKG_CONFIG_PATH="$srcdir/sub" run_test --exists sub1
# default pkg-config path, making sure to resolve the variables fully
eval pc_path="$pc_path"
-case ${MACHTYPE} in
-*-msys)
- # Make sure path doesn't get mangled on MSYS
- RESULT=$(echo $pc_path | sed 's,/,\\/,g')
- ;;
-*)
+if [ "$native_win32" = yes ]; then
+ # This is pretty hacky. On native win32 (MSYS/MINGW), pkg-config
+ # builds the default path from the installation directory. It
+ # then adds lib/pkgconfig and share/pkgconfig to it. Normally,
+ # the autoconf build directory would be used, but that path is in
+ # Unix format.
+ if [ "$OSTYPE" = msys ]; then
+ # MSYS has "pwd -W" to get the current directory in Windows format
+ pcdir=$(cd $top_builddir/.libs && pwd -W)
+ else
+ # Assume we have cmd somewhere to get variable %cd%. Make sure
+ # to strip carriage returns.
+ pcdir=$(cd $top_builddir/.libs &&
+ cmd /C echo %cd% | sed -r 's/\r//g')
+ fi
+ win_path="$pcdir/lib/pkgconfig;$pcdir/share/pkgconfig"
+
+ # Convert from forward slashes to Windows backslashes
+ RESULT=$(echo $win_path | sed 's,/,\\,g')
+else
RESULT=$pc_path
- ;;
-esac
+fi
unset PKG_CONFIG_LIBDIR
run_test --variable=pc_path pkg-config
diff --git a/check/config.sh.in b/check/config.sh.in
index 91f20a2..68fa097 100644
--- a/check/config.sh.in
+++ b/check/config.sh.in
@@ -2,6 +2,7 @@
# Settings from the configure script
#
+top_builddir=@top_builddir@
prefix=@prefix@
exec_prefix=@exec_prefix@
includedir=@includedir@
@@ -13,3 +14,4 @@ system_include_path="@system_include_path@"
system_library_path="@system_library_path@"
list_indirect_deps=@use_indirect_deps@
PACKAGE_VERSION=@PACKAGE_VERSION@
+native_win32=@native_win32@