[Libreoffice-commits] core.git: configure.ac Makefile.in solenv/gbuild

Michael Stahl mstahl at redhat.com
Tue Jul 8 03:33:46 PDT 2014


 Makefile.in                             |    2 
 configure.ac                            |   69 +++++++++++++++++++++-----------
 solenv/gbuild/gbuild.mk                 |    4 +
 solenv/gbuild/platform/com_MSC_class.mk |    2 
 solenv/gbuild/platform/com_MSC_defs.mk  |    4 -
 5 files changed, 54 insertions(+), 27 deletions(-)

New commits:
commit 2768d78391b0892ae1506687cfccdcc9c018077c
Author: Michael Stahl <mstahl at redhat.com>
Date:   Wed Jun 4 22:21:53 2014 +0200

    configure, gbuild: remove Cygwin paths from make environment
    
    All environment variables contain native Win32 paths.
    
    This allows building with Win32 make and Cygwin sh.exe,
    but Cygwin make cannot build any more with the Win32 entries in PATH.
    
    Requires adding "bash" detection to configure since /usr/bin/env
    can't be invoked by Win32 make and it's possible to install cygwin
    somewhere else than C:/cygwin.
    
    Change-Id: Ia8f4ee3c91222e8f5919cfbfc452f12ffbfadd40
    Reviewed-on: https://gerrit.libreoffice.org/9698
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/Makefile.in b/Makefile.in
index 381e270..915e11c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -15,7 +15,7 @@ build_goal:=$(if $(filter build check,$(MAKECMDGOALS)),all)\
  $(if $(filter check,$(MAKECMDGOALS)),subsequentcheck)\
  $(filter all build-l10n-only build-non-l10n-only debugrun help slowcheck translations unitcheck subsequentcheck check packageinfo,$(MAKECMDGOALS))
 
-SHELL=/usr/bin/env bash
+SHELL := @SHELL_BASH@
 SRCDIR := @SRC_ROOT@
 BUILDDIR := @BUILDDIR@
 GIT_BUILD := $(if $(wildcard $(SRCDIR)/.git),T)
diff --git a/configure.ac b/configure.ac
index 557dbe3..1a260ac 100644
--- a/configure.ac
+++ b/configure.ac
@@ -39,7 +39,7 @@ PathFormat()
             fi
         done
         if test "$pf_conv_to_dos" = "yes"; then
-            formatted_path=`cygpath -d "$formatted_path"`
+            formatted_path=`cygpath -sm "$formatted_path"`
             if test $? -ne 0;  then
                 AC_MSG_ERROR([path conversion failed for "$1".])
             fi
@@ -2309,15 +2309,15 @@ pathmunge ()
     if test -n "$1"; then
         if test "$build_os" = "cygwin"; then
             PathFormat "$1"
-            new_path=`cygpath -u "$formatted_path"`
+            new_path=`cygpath -sm "$formatted_path"`
         else
             new_path="$1"
         fi
         if ! echo "$LO_PATH" | $EGREP -q "(^|:)$1($|:)"; then
             if test "$2" = "after"; then
-                LO_PATH="$LO_PATH:$new_path"
+                LO_PATH="$LO_PATH${P_SEP}$new_path"
             else
-                LO_PATH="$new_path:$LO_PATH"
+                LO_PATH="$new_path${P_SEP}$LO_PATH"
             fi
         fi
         unset new_path
@@ -3676,8 +3676,7 @@ if test "$_os" = "WINNT"; then
             fi
         fi
 
-        VC_PRODUCT_DIR=`cygpath -d "$VC_PRODUCT_DIR"`
-        VC_PRODUCT_DIR=`cygpath -u "$VC_PRODUCT_DIR"`
+        VC_PRODUCT_DIR=`cygpath -sm "$VC_PRODUCT_DIR"`
         AC_MSG_RESULT([$VC_PRODUCT_DIR])
 
         dnl ===========================================================
@@ -3727,8 +3726,7 @@ if test "$_os" = "WINNT"; then
             fi
 
             # This gives us a posix path with 8.3 filename restrictions
-            CC=`cygpath -d "$CC"`
-            CC=`cygpath -u "$CC"`
+            CC=`cygpath -sm "$CC"`
         fi
 
         if test -n "$CC"; then
@@ -4985,7 +4983,11 @@ for a in "$MAKE" "$GNUMAKE" make gmake gnumake; do
     if test -n "$a"; then
         $a --version 2> /dev/null | grep GNU  2>&1 > /dev/null
         if test $? -eq 0;  then
-            GNUMAKE=`which $a`
+            if test "$build_os" = "cygwin"; then
+                GNUMAKE=$(cygpath -m $(which $(cygpath -u $a)))
+            else
+                GNUMAKE=`which $a`
+            fi
             break
         fi
     fi
@@ -5060,6 +5062,9 @@ fi
 # find if gnumake support file function
 AC_MSG_CHECKING([whether GNU make supports the 'file' function])
 TESTGMAKEFILEFUNC="`mktemp -d -t tst.XXXXXX`"
+if test "$build_os" = "cygwin"; then
+    TESTGMAKEFILEFUNC=`cygpath -m $TESTGMAKEFILEFUNC`
+fi
 $SED -e "s/<TAB>/$TAB/" > $TESTGMAKEFILEFUNC/Makefile << EOF
 \$(file >test.txt,Success )
 
@@ -5086,6 +5091,13 @@ if test "$_make_ver_check" = ""; then
    STALE_MAKE=TRUE
 fi
 
+if test "$build_os" = "cygwin"; then
+    SHELL_BASH=$(cygpath -m $(which bash))
+else
+    SHELL_BASH=`which bash`
+fi
+AC_SUBST(SHELL_BASH)
+
 HAVE_LD_HASH_STYLE=FALSE
 WITH_LINKER_HASH_STYLE=
 AC_MSG_CHECKING( for --hash-style gcc linker support )
@@ -5382,8 +5394,7 @@ if test "$build_os" = "cygwin"; then
     fi
 
     # Convert to posix path with 8.3 filename restrictions ( No spaces )
-    MIDL_PATH=`cygpath -d "$MIDL_PATH"`
-    MIDL_PATH=`cygpath -u "$MIDL_PATH"`
+    MIDL_PATH=`cygpath -sm "$MIDL_PATH"`
 
     dnl Check csc.exe
     AC_MSG_CHECKING([for csc.exe])
@@ -5397,8 +5408,7 @@ if test "$build_os" = "cygwin"; then
         AC_MSG_RESULT([$CSC_PATH/csc.exe])
     fi
 
-    CSC_PATH=`cygpath -d "$CSC_PATH"`
-    CSC_PATH=`cygpath -u "$CSC_PATH"`
+    CSC_PATH=`cygpath -sm "$CSC_PATH"`
 
     dnl Check al.exe
     AC_MSG_CHECKING([for al.exe])
@@ -5423,8 +5433,7 @@ if test "$build_os" = "cygwin"; then
         AC_MSG_RESULT([$AL_PATH/al.exe])
     fi
 
-    AL_PATH=`cygpath -d "$AL_PATH"`
-    AL_PATH=`cygpath -u "$AL_PATH"`
+    AL_PATH=`cygpath -sm "$AL_PATH"`
 
     dnl Check mscoree.lib / .NET Framework dir
     AC_MSG_CHECKING(.NET Framework)
@@ -6845,7 +6854,7 @@ if test "$ENABLE_JAVA" != ""; then
                 AC_MSG_ERROR([No JDK found, pass the --with-jdk-home option pointing to a $bitness-bit JDK])
             fi
         else
-            test "$build_os" = "cygwin" && with_jdk_home=`cygpath -u "$with_jdk_home"`
+            test "$build_os" = "cygwin" && with_jdk_home=`cygpath -sm "$with_jdk_home"`
             howfound="you passed"
         fi
     fi
@@ -6885,8 +6894,7 @@ if test "$ENABLE_JAVA" != ""; then
         if test x`echo "$JAVAINTERPRETER" | $GREP -i '\.exe$'` = x; then
             JAVAINTERPRETER="${JAVAINTERPRETER}.exe"
         fi
-        JAVAINTERPRETER=`cygpath -d "$JAVAINTERPRETER"`
-        JAVAINTERPRETER=`cygpath -u "$JAVAINTERPRETER"`
+        JAVAINTERPRETER=`cygpath -sm "$JAVAINTERPRETER"`
     elif test $_os = Darwin -a "$BITNESS_OVERRIDE" = ""; then
         dnl HACK:  There currently is only a 32 bit version of LibreOffice for Mac OS X,
         dnl and Tiger Java complains about -d32 while Snow Leopard Java needs it
@@ -7032,8 +7040,7 @@ if test "$ENABLE_JAVA" != ""; then
         if test x`echo "$JAVACOMPILER" | $GREP -i '\.exe$'` = x; then
             JAVACOMPILER="${JAVACOMPILER}.exe"
         fi
-        JAVACOMPILER=`cygpath -d "$JAVACOMPILER"`
-        JAVACOMPILER=`cygpath -u "$JAVACOMPILER"`
+        JAVACOMPILER=`cygpath -sm "$JAVACOMPILER"`
     fi
 
     if test `$JAVACOMPILER -version 2>&1 | $GREP -c "Eclipse Java Compiler"` -gt 0; then
@@ -7077,8 +7084,7 @@ if test "$ENABLE_JAVA" != ""; then
         if test x`echo "$JAVADOC" | $GREP -i '\.exe$'` = x; then
             JAVADOC="${JAVADOC}.exe"
         fi
-        JAVADOC=`cygpath -d "$JAVADOC"`
-        JAVADOC=`cygpath -u "$JAVADOC"`
+        JAVADOC=`cygpath -sm "$JAVADOC"`
     fi
 
     if test `$JAVADOC --version 2>&1 | $GREP -c "gjdoc"` -gt 0; then
@@ -7500,6 +7506,9 @@ AC_PATH_PROG(GPERF, gperf)
 if test -z "$GPERF"; then
     AC_MSG_ERROR([gperf not found but needed. Install it.])
 fi
+if test "$build_os" = "cygwin"; then
+    GPERF=`cygpath -m $GPERF`
+fi
 AC_MSG_CHECKING([gperf version])
 if test "`$GPERF --version | $EGREP ^GNU\ gperf | $AWK '{ print $3 }' | cut -d. -f1`" -ge "3"; then
     AC_MSG_RESULT([OK])
@@ -9874,6 +9883,9 @@ else
 fi
 
 AC_PATH_PROG(FLEX, flex)
+if test "$build_os" = "cygwin"; then
+    FLEX=`cygpath -m $FLEX`
+fi
 if test -z "$FLEX"; then
     AC_MSG_ERROR([no flex found in \$PATH, install it])
 else
@@ -9914,6 +9926,10 @@ else
     GNUPATCH=$PATCH
 fi
 
+if test "$build_os" = "cygwin"; then
+    GNUPATCH=`cygpath -m $GNUPATCH`
+fi
+
 dnl We also need to check for --with-gnu-cp
 
 if test -z "$with_gnu_cp"; then
@@ -9934,6 +9950,10 @@ else
     fi
 fi
 
+if test "$build_os" = "cygwin"; then
+    GNUCP=`cygpath -m $GNUCP`
+fi
+
 AC_MSG_CHECKING([whether $GNUCP is GNU cp from coreutils with preserve= support])
 if $GNUCP --version 2>/dev/null | grep "coreutils" >/dev/null 2>/dev/null; then
     AC_MSG_RESULT([yes])
@@ -12059,6 +12079,7 @@ if test "$ENABLE_JAVA" != ""; then
         AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat ant.cmd])
     else
         if test "$_os" = "WINNT"; then
+            # AC_PATH_PROGS needs unix path
             with_ant_home=`cygpath -u "$with_ant_home"`
         fi
         AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat ant.cmd],,$with_ant_home/bin:$PATH)
@@ -12131,7 +12152,7 @@ EOF
         PathFormat "$ANT_HOME"
         ANT_HOME="$formatted_path"
         PathFormat "$ANT"
-        ANT="$ANT"
+        ANT="$formatted_path"
     fi
     AC_SUBST(ANT_HOME)
     AC_SUBST(ANT)
@@ -12918,6 +12939,8 @@ else
         ;;
 
     cygwin*)
+        # Win32 make needs native paths
+        LO_PATH=`cygpath -p -m "$PATH"`
         pathmunge "$DOTNET_FRAMEWORK_HOME/bin" "before"
         pathmunge "$ASM_HOME" "before"
         pathmunge "$WINDOWS_SDK_HOME/bin" "before"
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 17a7d8f..4eed76e 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -52,8 +52,12 @@ MAKEFLAGS += r
 ifdef gb_SHELL
 SHELL := $(gb_SHELL)
 else
+ifeq ($(OS_FOR_BUILD),WNT)
+SHELL := $(shell cygpath -m /bin/sh)
+else
 SHELL := /bin/sh
 endif
+endif
 
 true := T
 false :=
diff --git a/solenv/gbuild/platform/com_MSC_class.mk b/solenv/gbuild/platform/com_MSC_class.mk
index 7840223..5d48dd3 100644
--- a/solenv/gbuild/platform/com_MSC_class.mk
+++ b/solenv/gbuild/platform/com_MSC_class.mk
@@ -364,7 +364,7 @@ endef
 # CppunitTest class
 
 gb_CppunitTest_DEFS := -D_DLL
-gb_CppunitTest_CPPTESTPRECOMMAND := $(call gb_Helper_prepend_ld_path,$(shell cygpath -u $(gb_Library_DLLDIR)):$(shell cygpath -u $(WORKDIR)/UnpackedTarball/cppunit/src/cppunit/$(if $(MSVC_USE_DEBUG_RUNTIME),DebugDll,ReleaseDll)))
+gb_CppunitTest_CPPTESTPRECOMMAND := $(call gb_Helper_prepend_ld_path,$(shell cygpath -w $(gb_Library_DLLDIR));$(shell cygpath -w $(WORKDIR)/UnpackedTarball/cppunit/src/cppunit/$(if $(MSVC_USE_DEBUG_RUNTIME),DebugDll,ReleaseDll)))
 
 gb_CppunitTest_get_filename = test_$(1).dll
 gb_CppunitTest_get_ilibfilename = itest_$(1).lib
diff --git a/solenv/gbuild/platform/com_MSC_defs.mk b/solenv/gbuild/platform/com_MSC_defs.mk
index 40fc910..b442bac 100644
--- a/solenv/gbuild/platform/com_MSC_defs.mk
+++ b/solenv/gbuild/platform/com_MSC_defs.mk
@@ -294,10 +294,10 @@ gb_LTOFLAGS := $(if $(filter TRUE,$(ENABLE_LTO)),-GL)
 
 # Helper class
 
-gb_Helper_set_ld_path := PATH="$$PATH:$(shell cygpath -u $(INSTDIR)/$(LIBO_URE_LIB_FOLDER)):$(shell cygpath -u $(INSTDIR)/$(LIBO_BIN_FOLDER))"
+gb_Helper_set_ld_path := PATH="$$PATH;$(shell cygpath -w $(INSTDIR)/$(LIBO_URE_LIB_FOLDER));$(shell cygpath -w $(INSTDIR)/$(LIBO_BIN_FOLDER))"
 
 define gb_Helper_prepend_ld_path
-PATH="$(shell cygpath -u $(INSTDIR)/$(LIBO_URE_LIB_FOLDER)):$(shell cygpath -u $(INSTDIR)/$(LIBO_BIN_FOLDER)):$(1):$$PATH"
+PATH="$(shell cygpath -w $(INSTDIR)/$(LIBO_URE_LIB_FOLDER));$(shell cygpath -w $(INSTDIR)/$(LIBO_BIN_FOLDER));$(1);$$PATH"
 endef
 
 # vim: set noet sw=4:


More information about the Libreoffice-commits mailing list