summaryrefslogtreecommitdiff
path: root/check/check-path
diff options
context:
space:
mode:
Diffstat (limited to 'check/check-path')
-rwxr-xr-xcheck/check-path29
1 files changed, 21 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