[Libreoffice-commits] .: bootstrap.1 configure.in set_soenv.in solenv/inc

Tor Lillqvist tml at kemper.freedesktop.org
Mon May 16 11:20:35 PDT 2011


 bootstrap.1            |   45 ++-------
 configure.in           |  240 +++++++++++++++++++++++++------------------------
 set_soenv.in           |   50 +++++++---
 solenv/inc/settings.mk |   12 --
 4 files changed, 172 insertions(+), 175 deletions(-)

New commits:
commit fe923a5cdbb93bfc10bd9232fc2b0fe5d0f9ac54
Author: Tor Lillqvist <tlillqvist at novell.com>
Date:   Mon May 16 18:46:27 2011 +0300

    Minor tweaks for cross-compiling
    
    Still a long way from working, of course.
    
    The configure script now runs to finish on Linux with --host=mingw32.
    
    It is no longer an error if Windows SDK or DirectX SDK are not found
    by the logic in the configure script. It might well be that the user
    has included relevant -I and -L flags in CC or CXX that makes the
    compilations work anyway, or something. We should not try to be too
    clever and try to predict how the compiler or linker work in the
    configure script.
    
    We now define the FOO_FOR_BUILD environment variables in set_soenv.in
    even when not cross-compiling (identically as the plain FOO ones in
    that case, obviously). This should make some makefiles and stuff that
    build tools to run on the build host a bit simpler.

diff --git a/bootstrap.1 b/bootstrap.1
index 7a524d3..fa9cc06 100755
--- a/bootstrap.1
+++ b/bootstrap.1
@@ -1,7 +1,7 @@
 
 # executables are *.exe for WNT. This variable is necessary since Cygwin 1.5.x
 # Use spawn instead of fork when building dmake on cygwin. 
-if test "$GUI" = "WNT"; then
+if test "$GUI_FOR_BUILD" = "WNT"; then
     EXEEXT=".exe"
     DMAKE_CONF="--enable-spawn"
 else
@@ -17,27 +17,14 @@ if test "$BUILD_DMAKE" != "NO"; then
     if test ! -x "$SRC_ROOT/dmake/dmake$EXEEXT"; then
         cd "$SRC_ROOT/dmake" || exit
 
-	# If cross-compiling then don't use the cross compilers to build dmake.
-        if test "$CROSS_COMPILING" = "YES"; then
-            if test "$GUI_FOR_BUILD" = "WNT"; then
-                # Let the Cygwin gcc be found
-                CC=""
-                CXX=""
-            else
-                CC="$CC_FOR_BUILD"
-                CXX="$CXX_FOR_BUILD"
-            fi
-            export CC
-            export CXX
-        fi
-
-        # Special case! The w32/tcsh build needs CC pointing to the MSVC++ compiler
-        # but we need a cygwin/gcc build dmake to understand the posix paths
-        if test "$GUI" = "WNT"; then
-            CC=""
-            CXX=""
-            export CC
-            export CXX
+        # If cross-compiling then don't use the cross compilers to build dmake.
+        if test "$GUI_FOR_BUILD" = "WNT"; then
+            # Let the Cygwin gcc be found
+            export CC=""
+            export CXX=""
+        elif test "$CROSS_COMPILING" = "YES"; then
+            export CC="$CC_FOR_BUILD"
+            export CXX="$CXX_FOR_BUILD"
         fi
 
         # For normal unixy systems
@@ -55,7 +42,7 @@ if test "$BUILD_DMAKE" != "NO"; then
 
         cd ..
     else
-	echo "dmake/dmake already built"
+        echo "dmake/dmake already built"
     fi
 fi
 
@@ -66,18 +53,6 @@ if test "$BUILD_DMAKE" != "NO"; then
     echo "dmake copied to $SOLARENV/$OUTPATH/bin/dmake$EXEEXT"
 fi
 
-if test "$GUI" = "WNT" -a ! -x "$SOLARENV/$OUTPATH/bin/guw$EXEEXT"; then
-  echo ""
-  echo "Calling $GNUMAKE in guw"
-  cd "$SRC_ROOT/guw" || exit
-  $GNUMAKE || exit
-  echo ""
-  echo "guw has been successfully made"
-  cp -f "$SRC_ROOT/guw/guw$EXEEXT" "$SOLARENV/$OUTPATH/bin" || exit
-  echo ""
-  echo "guw copied to $SOLARENV/$OUTPATH/bin/guw$EXEEXT"
-fi
-
 #make sure build.pl is executable 
 
 chmod +x "$SRC_ROOT/solenv/bin/build.pl"
diff --git a/configure.in b/configure.in
index 71e6b14..fbffd51 100755
--- a/configure.in
+++ b/configure.in
@@ -1105,9 +1105,9 @@ AC_ARG_WITH(csc-path,
 
 AC_ARG_WITH(nsis-path,
     AS_HELP_STRING([--with-nsis-path],
-        [For Windows users, please supply the path to the "Nullsoft Scriptable
-         Install System" (NSIS). If NSIS is found in the path or this option is
-         supplied a self contained executable installer for LibreOffice will
+        [For Windows builds, please supply the directory where makensis
+         is located. If makensis is found in PATH or this option is
+         supplied a self-contained  executable installer for LibreOffice will
          be created.])
     [
                           Usage:     --with-nsis-path=<abs. path to nsis.exe>
@@ -1291,6 +1291,13 @@ else
 fi
 AC_SUBST(CROSS_COMPILING)
 
+if test "$build_os" = "cygwin"; then
+  BUILD_EXEEXT=.exe
+else
+  BUILD_EXEEXT=
+fi
+
+
 dnl ===================================================================
 dnl check for required programs (grep, awk, sed, bash)
 dnl ===================================================================
@@ -1755,7 +1762,7 @@ if test "$_os" = "WINNT"; then
    AC_SUBST(CL_X64)
 
    AC_MSG_CHECKING([whether to use DirectX])
-   if test "$enable_directx" = "yes" -o "$enable_directx" = "TRUE" -o "$enable_directx" = ""; then
+   if test "$enable_directx" = "yes" -o "$enable_directx" = ""; then
       ENABLE_DIRECTX="TRUE"
       AC_MSG_RESULT([yes])
    else
@@ -5786,67 +5793,75 @@ dnl Check for the Windows  SDK.
 dnl =========================================
 dnl FIXME: I don't know yet if the Windows SDK works with MinGW, keep it until I know better,
 dnl and add "-a \( "$WITH_MINGW" != "yes" \)" then
-if test \( "$_os" = "WINNT" \) ; then
+if test "$_os" = "WINNT"; then
     AC_MSG_CHECKING([for Windows SDK])
-    if test -z "$with_windows_sdk_home"; then
-        # This first line will detect a February 2003 Microsoft Platform SDK
-        WINDOWS_SDK_HOME=`./oowintool --windows-sdk-home`
-        # But there might be also an April 2005 PSDK, unfortunately MS changed
-        # the registry entry. (we prefer the old version!?)
-        if test -z "$WINDOWS_SDK_HOME"; then
-          WINDOWS_SDK_HOME=`cat /proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MicrosoftSDK/InstalledSDKs/*/Install\ Dir 2> /dev/null | tr '\000' '\n' | head -n 1`
-        fi
+    if test "$build_os" = "cygwin"; then
+        if test -z "$with_windows_sdk_home"; then
+            # This first line will detect a February 2003 Microsoft Platform SDK
+            WINDOWS_SDK_HOME=`./oowintool --windows-sdk-home`
+            # But there might be also an April 2005 PSDK, unfortunately MS changed
+            # the registry entry. (we prefer the old version!?)
+            if test -z "$WINDOWS_SDK_HOME"; then
+                WINDOWS_SDK_HOME=`cat /proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MicrosoftSDK/InstalledSDKs/*/Install\ Dir 2> /dev/null | tr '\000' '\n' | head -n 1`
+            fi
             # normalize if found
             if test -n "$WINDOWS_SDK_HOME"; then
-              WINDOWS_SDK_HOME=`cygpath -d "$WINDOWS_SDK_HOME"`
-              WINDOWS_SDK_HOME=`cygpath -u "$WINDOWS_SDK_HOME"`
-           fi
-    else
-           WINDOWS_SDK_HOME=`cygpath -u "$with_windows_sdk_home"`
+                WINDOWS_SDK_HOME=`cygpath -d "$WINDOWS_SDK_HOME"`
+                WINDOWS_SDK_HOME=`cygpath -u "$WINDOWS_SDK_HOME"`
+            fi
+        else
+            WINDOWS_SDK_HOME=`cygpath -u "$with_windows_sdk_home"`
+        fi
     fi
+    if test -n "$WINDOWS_SDK_HOME"; then
         # Remove a possible trailing backslash
         WINDOWS_SDK_HOME=`echo $WINDOWS_SDK_HOME | $SED 's/\/$//'`
-    # Problem with current PSDK (iz 49865)
-    if test -f "$WINDOWS_SDK_HOME/Lib/libcp.lib"; then
-        AC_MSG_ERROR([
-
+        # Problem with current PSDK (iz 49865)
+        # (What "current" does that mean?)
+        if test -f "$WINDOWS_SDK_HOME/Lib/libcp.lib"; then
+            AC_MSG_ERROR([
 Some modules do not build correctly with MS Platform SDK - April 2005
 Edition if the library ($WINDOWS_SDK_HOME/Lib/libcp.lib) is found.
 Remove/rename/backup that file and restart configure. Details about this
 problem can be found in issue 49856.])
+        fi
+
+        if test -f "$WINDOWS_SDK_HOME/Include/adoint.h" \
+             -a -f "$WINDOWS_SDK_HOME/Include/SqlUcode.h" \
+             -a -f "$WINDOWS_SDK_HOME/Include/usp10.h"; then
+            HAVE_PSDK_H="yes"
+        else
+            HAVE_PSDK_H="no"
+        fi
+        if test -f "$WINDOWS_SDK_HOME/lib/user32.lib"; then
+            HAVE_PSDK_LIB="yes"
+        else
+            HAVE_PSDK_LIB="no"
+        fi
+
+        if test "$HAVE_PSDK_H" = "no" -o "$HAVE_PSDK_LIB" = "no"; then
+            AC_MSG_ERROR([Some (all?) Windows SDK files not found, please check if all needed parts of
+the  Windows SDK are installed.])
+        fi
+
+        if test ! -x "$WINDOWS_SDK_HOME/bin/msiinfo.exe" \
+             -o ! -x "$WINDOWS_SDK_HOME/bin/msidb.exe" \
+             -o ! -x "$WINDOWS_SDK_HOME/bin/uuidgen.exe" \
+             -o ! -x "$WINDOWS_SDK_HOME/bin/msitran.exe" ; then
+            AC_MSG_ERROR([Some (all) files of the Windows Installer SDK are missing, please install.])
+        fi
     fi
-# Windows SDK has different headers
-    if test \( -f "$WINDOWS_SDK_HOME/Include/adoint.h" \) \
-         -a \( -f "$WINDOWS_SDK_HOME/Include/SqlUcode.h" \) \
-         -a \( -f "$WINDOWS_SDK_HOME/Include/usp10.h" \); then
-        HAVE_PSDK_H="yes"
-    else
-        HAVE_PSDK_H="no"
-    fi
-    if test -f "$WINDOWS_SDK_HOME/lib/user32.lib"; then
-        HAVE_PSDK_LIB="yes"
-    else
-        HAVE_PSDK_LIB="no"
-    fi
-    if test "$HAVE_PSDK_H" = "no" -o "$HAVE_PSDK_LIB" = "no"; then
-        AC_MSG_ERROR([Some (all?) Windows SDK files not found, please check if all needed Winows SDKs
-are installed or use --with-windows-sdk-home .])
-    fi
-    if test ! -x "$WINDOWS_SDK_HOME/bin/msiinfo.exe" \
-         -o ! -x "$WINDOWS_SDK_HOME/bin/msidb.exe" \
-         -o ! -x "$WINDOWS_SDK_HOME/bin/uuidgen.exe" \
-         -o ! -x "$WINDOWS_SDK_HOME/bin/msitran.exe" ; then
-        AC_MSG_ERROR([Some (all) files of the Windows Installer SDK are missing, please install.])
-    fi
-dnl Check if this is the right SDK.
-    if echo $WINDOWS_SDK_HOME | grep "v6.1" >/dev/null 2>/dev/null; then
+
+    if test -z "$WINDOWS_SDK_HOME"; then
+        AC_MSG_RESULT([no, hoping the necessary headers and libraries will be found anyway])
+    elif echo $WINDOWS_SDK_HOME | grep "v6.1" >/dev/null 2>/dev/null; then
         AC_MSG_RESULT([found Windows SDK 6.1 ($WINDOWS_SDK_HOME)])
     elif echo $WINDOWS_SDK_HOME | grep "v6.0" >/dev/null 2>/dev/null; then
         AC_MSG_RESULT([found Windows SDK 6.0 ($WINDOWS_SDK_HOME)])
     elif echo $WINDOWS_SDK_HOME | grep "v7" >/dev/null 2>/dev/null; then
         AC_MSG_RESULT([found Windows SDK 7 ($WINDOWS_SDK_HOME)])
     else
-        AC_MSG_ERROR([Found Legacy Windows Platform SDK ($WINDOWS_SDK_HOME)])
+        AC_MSG_ERROR([Found legacy Windows Platform SDK ($WINDOWS_SDK_HOME)])
     fi
 fi
 AC_SUBST(WINDOWS_SDK_HOME)
@@ -5854,47 +5869,49 @@ AC_SUBST(WINDOWS_SDK_HOME)
 dnl =========================================
 dnl Check for the Microsoft DirectX SDK.
 dnl =========================================
-if test \( "$_os" = "WINNT" \) ; then
-    AC_MSG_CHECKING([for DirectX SDK files])
-    if test -z "$with_directx_home"; then
-        dnl A standard installation of the DirectX SDK sets $DXSDK_DIR
-        if test -n "$DXSDK_DIR"; then
-            DIRECTXSDK_HOME=`cygpath -d "$DXSDK_DIR"`
-            DIRECTXSDK_HOME=`cygpath -u "$DIRECTXSDK_HOME"`
+if test -n "$ENABLE_DIRECTX" -a "$_os" = "WINNT"; then
+    AC_MSG_CHECKING([for DirectX SDK])
+    if test "$build_os" = "cygwin"; then
+        if test -z "$with_directx_home"; then
+            dnl A standard installation of the DirectX SDK sets $DXSDK_DIR
+            if test -n "$DXSDK_DIR"; then
+                DIRECTXSDK_HOME=`cygpath -d "$DXSDK_DIR"`
+                DIRECTXSDK_HOME=`cygpath -u "$DIRECTXSDK_HOME"`
+            fi
+            # At this point $DIRECTXSDK_HOME might still be undefined. This will lead to
+            # the "DirectX SDK not found" error later
+        else
+            DIRECTXSDK_HOME=`cygpath -u "$with_directx_home"`
         fi
-        # At this point $DIRECTXSDK_HOME might still be undefined. This will lead to
-        # the "DirectX SDK files not found" error later
-    else
-    DIRECTXSDK_HOME=`cygpath -u "$with_directx_home"`
+        # Remove a possible trailing backslash
+        DIRECTXSDK_HOME=`echo $DIRECTXSDK_HOME | $SED 's/\/$//'`
+    elif test -n "$with_directx_home"; then
+        DIRECTXSDK_HOME="$with_directx_home"
     fi
-    # Remove a possible trailing backslash
-    DIRECTXSDK_HOME=`echo $DIRECTXSDK_HOME | $SED 's/\/$//'`
 
     if test -f "$DIRECTXSDK_HOME/Include/ddraw.h" -o -f "$DIRECTXSDK_HOME/Include/d3d9.h" ; then
         HAVE_DIRECTXSDK_H="yes"
     else
         HAVE_DIRECTXSDK_H="no"
     fi
-    # MS changed the location of the libraries with dec 2004 directx sdk
+
+    # MS changed the location of the libraries with Dec 2004 DirectX SDK
     if test -d "$DIRECTXSDK_HOME/lib/x86" ; then
         DIRECTXSDK_LIB="$DIRECTXSDK_HOME/lib/x86"
     else
         DIRECTXSDK_LIB="$DIRECTXSDK_HOME/lib"
     fi
+
     if test -f "$DIRECTXSDK_LIB/ddraw.lib" -o -f "$DIRECTXSDK_LIB/d3d9.lib" ; then
         HAVE_DIRECTXSDK_LIB="yes"
     else
         HAVE_DIRECTXSDK_LIB="no"
     fi
-    if test -n "$ENABLE_DIRECTX"; then
-        if test "$HAVE_DIRECTXSDK_H" = "yes" -a "$HAVE_DIRECTXSDK_LIB" = "yes"; then
-            AC_MSG_RESULT([found])
-        else
-            AC_MSG_ERROR([DirectX SDK files not found, please use --with-directx-home or -disable-directx.])
-        fi
+
+    if test "$HAVE_DIRECTXSDK_H" = "yes" -a "$HAVE_DIRECTXSDK_LIB" = "yes"; then
+        AC_MSG_RESULT([found])
     else
-        DIRECTXSDK_HOME=""
-        AC_MSG_RESULT([disabled])
+        AC_MSG_RESULT([no, hoping the necessary headers and libraries will be found anyway])
     fi
 fi
 AC_SUBST(DIRECTXSDK_HOME)
@@ -5905,37 +5922,43 @@ dnl Check for Nullsoft Scriptable Install System
 dnl ============================================
 NSIS_PATH=""
 if test "$_os" = "WINNT" ; then
-    AC_MSG_CHECKING([for NSIS])
-    AC_PATH_PROG(NSIS_PATH, nsis.exe)
-    if test -n "$NSIS_PATH"; then
-        NSIS_PATH=`dirname "$NSIS_PATH"`
-    fi
-    if test -n "$with_nsis_path"; then
-        with_nsis_path=`cygpath -u "$with_nsis_path"`
-    fi
-    if test -e "$with_nsis_path/nsis.exe"; then
-        NSIS_PATH="$with_nsis_path"
-    fi
-    nsistest=`./oowintool --nsis-dir`;
-    if test -x "$nsistest/nsis.exe"; then
-        NSIS_PATH="$nsistest"
-    fi
-    if test -z "$NSIS_PATH"; then
-        AC_MSG_RESULT([NSIS not found, no self contained installer will be build.])
+    if test -z "$with_nsis_path"; then
+        AC_PATH_PROG(NSIS_PATH, makensis)
+        if test -n "$NSIS_PATH"; then
+            NSIS_PATH=`dirname "$NSIS_PATH"`
+        fi
     else
-        NSIS_PATH=`cygpath -d "$NSIS_PATH"`
-        NSIS_PATH=`cygpath -u "$NSIS_PATH"`
-        AC_MSG_RESULT([found ($NSIS_PATH)])
+	AC_MSG_CHECKING([for NSIS])
+        if test "$build_os" = "cygwin"; then
+            with_nsis_path=`cygpath -u "$with_nsis_path"`
+        fi
+        if test -e "$with_nsis_path/makensis$BUILD_EXEEXT"; then
+            NSIS_PATH="$with_nsis_path"
+        elif test "$build_os" = "cygwin"; then
+	    nsistest=`./oowintool --nsis-dir`;
+	    if test -x "$nsistest/nsis.exe"; then
+		NSIS_PATH="$nsistest"
+	    fi
+        fi
+        if test -z "$NSIS_PATH"; then
+            AC_MSG_RESULT([no, no self-contained installer will be built.])
+        else
+	    if test "$build_os" = "cygwin"; then
+		NSIS_PATH=`cygpath -d "$NSIS_PATH"`
+		NSIS_PATH=`cygpath -u "$NSIS_PATH"`
+	    fi
+	    AC_MSG_RESULT([found ($NSIS_PATH)])
+        fi
     fi
 fi
 AC_SUBST(NSIS_PATH)
 
 dnl ***************************************
-dnl testing bison and flex exist
+dnl Checking for bison and flex
 dnl ***************************************
 AC_PATH_PROG(BISON, bison)
 if test -z "$BISON"; then
-   AC_MSG_ERROR([no bison found in \$PATH, install bison])
+   AC_MSG_ERROR([no bison found in \$PATH, install it])
 else
    AC_MSG_CHECKING([the bison version])
    _bison_version=`$BISON --version | grep GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`;
@@ -5954,14 +5977,14 @@ else
 fi
 AC_PATH_PROG(FLEX, flex)
 if test -z "$FLEX"; then
-   AC_MSG_ERROR([no flex found in \$PATH, install flex])
+   AC_MSG_ERROR([no flex found in \$PATH, install it])
 fi
 dnl ***************************************
-dnl testing that patch exists
+dnl Checking for patch
 dnl ***************************************
 AC_PATH_PROG(PATCH, patch)
 if test -z "$PATCH"; then
-   AC_MSG_ERROR([\"patch\" not found in \$PATH, install the development tool named\"patch"\])
+   AC_MSG_ERROR([\"patch\" not found in \$PATH, install it])
 fi
 
 dnl On Solaris, FreeBSD or MacOS X, check if --with-gnu-patch was used
@@ -6018,29 +6041,16 @@ AC_SUBST(GNUPATCH)
 AC_SUBST(GNUCP)
 
 dnl ***************************************
-dnl testing bash tools path on Windows
-dnl ***************************************
-if test "$_os" = "WINNT"; then
-    CYGWIN_PATH=""
-    AC_PATH_PROG(CYGWIN_PATH, bash)
-    CYGWIN_PATH=`dirname "$CYGWIN_PATH"`
-fi
-if test -z "$CYGWIN_PATH"; then
-   CYGWIN_PATH="NO_CYGWIN"
-fi
-AC_SUBST(CYGWIN_PATH)
-
-dnl ***************************************
 dnl testing assembler path
 dnl ***************************************
-if test "$CL_X64" = ""; then
-  assembler=ml.exe
-  assembler_bin=bin
-else
-  assembler=ml64.exe
-  assembler_bin=bin/amd64
-fi
 if test "$_os" = "WINNT" -a "$WITH_MINGW" != "yes"; then
+  if test "$CL_X64" = ""; then
+    assembler=ml.exe
+    assembler_bin=bin
+  else
+    assembler=ml64.exe
+    assembler_bin=bin/amd64
+  fi
   if test -n "$with_asm_home"; then
     with_asm_home=`cygpath -u "$with_asm_home"`
   fi
diff --git a/set_soenv.in b/set_soenv.in
index ee06418..fe5e640 100755
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -640,7 +640,7 @@ elsif ( $platform =~ m/linux/ )
 
    $INPATH         = $OUTPATH.$PROEXT;
 }
-elsif ( $platform =~ m/cygwin/ )
+elsif ( $platform =~ m/cygwin|mingw32/ )
 {
       $MSPDB_PATH     = PathFormat('@MSPDB_PATH@');
       $MIDL_PATH      = PathFormat('@MIDL_PATH@');
@@ -659,22 +659,25 @@ elsif ( $platform =~ m/cygwin/ )
       $OS             = "WNT";
       $DYNAMIC_CRT    = "TRUE";
       $use_shl_versions = "TRUE";
-      $wps = ';'; # Windows style path seperator
+      $wps = ';' if '@build_os@' eq 'cygwin'; # Windows style path seperator
   if ( $MINGW eq "yes" )
-  {   # At the moment this implies the use of tcsh, wtf?
-      print "Setting Windows NT cygwin MinGW specific values... ";
+  {   print "Setting Windows (MinGW) specific values... ";
+      # At the moment this implies the use of tcsh
+      # WTF does that mean?
       $FLIPCMD        = "slfl.pl";
-      $PATH_SEPERATOR = ';';
+      $PATH_SEPERATOR = ';' if '@build_os@' eq 'cygwin';
       $outfile        = "WindowsMinGWEnv.Set.sh";
       $COMPATH        = PathFormat('@COMPATH@/bin');
       $COMPATH        =~ s/\/bin$//i;
       $COM            = "GCC";
       $OUTPATH        = "wntgcci";
+      $OUTPATH        = "wntgccx" if $platform =~ m/^x86_64/;
       $INPATH         = $OUTPATH.$PROEXT;
       $ATL_INCLUDE = '$SOLARVER'.$ds.'$INPATH'.$ds."inc".$ds."external".$ds."mingw".$ds."include".$ds."atl". " ".'$WINDOWS_SDK_HOME'.$ds."include".$ds."atl";
   }
   else # The MSVC section starts here
-  {   $outfile        = "WindowsMSVCEnv.Set.sh";
+  {   print "Setting Windows (MSVC) specific values... ";
+      $outfile        = "WindowsMSVCEnv.Set.sh";
       $COMPATH        = PathFormat('@COMPATH@');
       $COM            = "MSC";
       $OUTPATH        = "wntmsci at COMEX@";
@@ -696,7 +699,6 @@ elsif ( $platform =~ m/cygwin/ )
           $ATL_LIB     .= $ds."amd64";
           $MFC_LIB     .= $ds."amd64";
       }
-      print "Setting Windows build specific values... ";
       # No speacial treatment for CC an CXX anymore.
       $FLIPCMD        = "slfl.pl";
       $PATH_SEPERATOR = ';';
@@ -795,8 +797,7 @@ elsif ( $platform =~ m/aix/ )
    $PATH_SEPERATOR = $ps;
 }
 else {
-	print "\nset_soenv:  Cannot figure out what platform you are running\n";
-	print "For $platform.\n";
+	print "\nset_soenv:  Cannot recognize the platform you are building for: $platform.\n";
 	exit 1;
 }
 print "done\n";
@@ -917,7 +918,7 @@ if ($platform =~ m/cygwin/)
    # Change $SYSTEMDRIVE to lower case.
    $SYSTEMDRIVE          = lc $SYSTEMDRIVE;
    use Env qw(SYSTEMROOT);
-   $CYGWIN_PATH          = PathFormat('@CYGWIN_PATH@'); # Windows bash path
+   $CYGWIN_PATH          = PathFormat('/usr/bin'); # Windows bash path
    $WIN_GREP             = '$CYGWIN_PATH'.$ds."grep.exe";
    $WIN_FIND             = '$CYGWIN_PATH'.$ds."find.exe";
    $WIN_LS               = '$CYGWIN_PATH'.$ds."ls.exe";
@@ -1025,7 +1026,7 @@ elsif ($platform =~ m/darwin/ && $platform !~ m/^arm/)
 {  $SOLAREXTRALIB     = $L.$LIB.
                         $L.$USR.$LIB;
 }
-elsif ($platform !~ m/cygwin/ && $platform !~ m/^arm-apple/)
+elsif ($platform !~ m/cygwin/ && $platform !~ m/mingw32/ && $platform !~ m/^arm-apple/)
 {  AddWarning( "set_soenv", "$platform not configured for linkage create libraries" );
 }
 
@@ -1237,7 +1238,15 @@ elsif ($platform =~ m/cygwin/)
    # The path now is in cygwin posix format
 
 }
+elsif ($platform =~ m/mingw32/)
+{
+   $PATH              = $cur_dir.
+#                        $ps.CygFormat($SOLARVER).$ds.$INPATH.$BIN.
+                        $ps.CygFormat($SOLARENV).$ds."bin".
+                        $ps.CygFormat($SOLARENV).$ds.$OUTPATH.$BIN;
 
+  $PATH              .= $ps.$oldPATH;
+}
 elsif ($platform =~ m/darwin/)
 {  $PATH              = $cur_dir.
 #                        $ps.'$SOLARVER'.$ds.'$INPATH'.$BIN.
@@ -1413,6 +1422,9 @@ elsif ($platform =~ m/cygwin/)
        $SOLARINC   .= $I.PathFormat('@DIRECTXSDK_HOME@').$INCLUDE;
    }
 }
+elsif ($platform =~ m/mingw32/)
+{
+}
 elsif ($platform =~ m/darwin/ && $platform !~ m/^arm/)
 {  $SOLARINC         .= $I.$FRAMEWORKSHOME.$ds."JavaVM.framework".$ds."Versions".$ds."Current".$ds."Headers".
                         $I.$FRAMEWORKSHOME.$ds."JavaVM.framework".$ds."Headers";
@@ -1717,10 +1729,10 @@ ToFile( "COMP_ENV",          $COMP_ENV,          "e" );
 ToFile( "JAVAHOME",          $JAVAHOME,          "e" );
 ToFile( "CC",                $CC,                "e" );
 ToFile( "CROSS_COMPILING",   "@CROSS_COMPILING@","e" );
+ToFile( "BUILD_PLATFORM",    "@build@",          "e" );
+ToFile( "HOST_PLATFORM",     "@host@",           "e" );
 if ( '@CROSS_COMPILING@' ne '' )
 {
-   ToFile( "BUILD_PLATFORM",    "@build@",          "e" );
-   ToFile( "HOST_PLATFORM",     "@host@",           "e" );
    ToFile( "COM_FOR_BUILD",     "@COM_FOR_BUILD@",  "e" );
    ToFile( "GUI_FOR_BUILD",     "@GUI_FOR_BUILD@",  "e" );
    ToFile( "GUIBASE_FOR_BUILD", "@GUIBASE_FOR_BUILD@", "e" );
@@ -1732,6 +1744,18 @@ if ( '@CROSS_COMPILING@' ne '' )
    ToFile( "GXX_INCLUDE_PATH_FOR_BUILD", "@GXX_INCLUDE_PATH_FOR_BUILD@", "e" );
    ToFile( "MACOSX_DEPLOYMENT_TARGET_FOR_BUILD", "@MACOSX_DEPLOYMENT_TARGET_FOR_BUILD@", "e" );
 }
+else
+{
+   ToFile( "COM_FOR_BUILD",     $COM,            "e" );
+   ToFile( "GUI_FOR_BUILD",     $GUI,            "e" );
+   ToFile( "GUIBASE_FOR_BUILD", $GUIBASE,        "e" );
+   ToFile( "OS_FOR_BUILD",      $OS,             "e" );
+   ToFile( "CPU_FOR_BUILD",     $CPU,            "e" );
+   ToFile( "CPUNAME_FOR_BUILD", $CPUNAME,        "e" );
+   ToFile( "CC_FOR_BUILD",      $CC,             "e" );
+   ToFile( "CXX_FOR_BUILD",     $CXX,            "e" );
+   ToFile( "GXX_INCLUDE_PATH_FOR_BUILD", PathFormat("@GXX_INCLUDE_PATH@"), "e" );
+}
 ToFile( "SIZEOF_SHORT",         "@SIZEOF_SHORT@", "e" );
 ToFile( "SIZEOF_INT",           "@SIZEOF_INT@",  "e" );
 ToFile( "SIZEOF_LONG",          "@SIZEOF_LONG@", "e" );
diff --git a/solenv/inc/settings.mk b/solenv/inc/settings.mk
index e533c14..80c6b72 100644
--- a/solenv/inc/settings.mk
+++ b/solenv/inc/settings.mk
@@ -52,18 +52,6 @@ MACOSX_DEPLOYMENT_TARGET:=$(MACOSX_DEPLOYMENT_TARGET_FOR_BUILD)
 .EXPORT: MACOSX_DEPLOYMENT_TARGET
 .ENDIF
 
-# To simplify some of these .mk files we occasionally check FOO_FOR_BUILD
-# variables even when not cross-compiling, so set them. (set_soenv.in doesn't
-# except when CROSS_COMPILING==YES.)
-.IF "$(CROSS_COMPILING)"==""
-COM_FOR_BUILD:=$(COM)
-GUI_FOR_BUILD:=$(GUI)
-GUIBASE_FOR_BUILD:=$(GUIBASE)
-OS_FOR_BUILD:=$(OS)
-CPU_FOR_BUILD:=$(CPU)
-CPUNAME_FOR_BUILD:=$(CPUNAME)
-.ENDIF
-
 .INCLUDE .IGNORE : ooo_vendor.mk
 
 # --- common tool makros --------------------------------------


More information about the Libreoffice-commits mailing list