[PATCH 2/8] Adjust expected path for native Windows test
Dan Nicholson
dbn.lists at gmail.com
Sat Apr 6 09:17:38 PDT 2013
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.
---
check/check-path | 29 +++++++++++++++++++++--------
check/config.sh.in | 2 ++
configure.ac | 1 +
3 files changed, 24 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@
diff --git a/configure.ac b/configure.ac
index 4ed7e4d..4de9b16 100644
--- a/configure.ac
+++ b/configure.ac
@@ -147,6 +147,7 @@ case "$host" in
;;
esac
AC_MSG_RESULT([$native_win32])
+AC_SUBST([native_win32])
AM_CONDITIONAL(NATIVE_WIN32, [test "x$native_win32" = xyes])
dnl
--
1.8.1.4
More information about the pkg-config
mailing list