Author: damjan Date: Mon Mar 5 20:12:17 2018 New Revision: 1825936 URL: http://svn.apache.org/viewvc?rev=1825936&view=rev Log: Add the preliminary patch for the Win64 build into main/solenv/win64. Don't apply it to the tree yet, as it will break building 32 bit AOO on 64 bit Windows.
Patch by: me Added: openoffice/trunk/main/solenv/win64/ openoffice/trunk/main/solenv/win64/readme.txt openoffice/trunk/main/solenv/win64/win64.patch Added: openoffice/trunk/main/solenv/win64/readme.txt URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/win64/readme.txt?rev=1825936&view=auto ============================================================================== --- openoffice/trunk/main/solenv/win64/readme.txt (added) +++ openoffice/trunk/main/solenv/win64/readme.txt Mon Mar 5 20:12:17 2018 @@ -0,0 +1,2 @@ +Please refer to https://wiki.openoffice.org/wiki/Win64_port +for instructions. Added: openoffice/trunk/main/solenv/win64/win64.patch URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/win64/win64.patch?rev=1825936&view=auto ============================================================================== --- openoffice/trunk/main/solenv/win64/win64.patch (added) +++ openoffice/trunk/main/solenv/win64/win64.patch Mon Mar 5 20:12:17 2018 @@ -0,0 +1,254 @@ +Index: configure.ac +=================================================================== +--- configure.ac (revision 1825802) ++++ configure.ac (working copy) +@@ -2116,18 +2116,27 @@ + PATH="$MSPDB_PATH:$PATH" + + AC_MSG_CHECKING([the Microsoft C/C++ Compiler]) +- if test -x "$with_cl_home/bin/cl.exe"; then +- CC="$with_cl_home/bin/cl.exe" +- else +- AC_PATH_PROG(CC, cl.exe) +- fi +- if test -e "$CC"; then ++ case "$build_cpu" in ++ i?86) ++ cl_subdirectory="bin" ++ ;; ++ x86_64) ++ cl_subdirectory="bin/amd64" ++ ;; ++ *) ++ AC_MSG_ERROR([Unknown/unsupported CPU.]) ++ ;; ++ esac ++ if test -x "$with_cl_home/$cl_subdirectory/cl.exe"; then ++ CC="$with_cl_home/$cl_subdirectory/cl.exe" ++ COMPATH="$with_cl_home" + # This gives us a posix path with 8.3 filename restrictions + CC=`cygpath -d "$CC"` + CC=`cygpath -u "$CC"` ++ COMPATH=`cygpath -d "$COMPATH"` ++ COMPATH=`cygpath -u "$COMPATH"` + # Remove /cl.exe from CC case insensitive + AC_MSG_RESULT([found ($CC)]) +- COMPATH=`echo $CC | $SED 's@\/[[Bb]][[Ii]][[Nn]]\/[[cC]][[lL]]\.[[eE]][[xX]][[eE]]@@'` + export INCLUDE=`cygpath -d "$COMPATH/Include"` + dnl Check which Microsoft C/C++ compiler is found + AC_MSG_CHECKING([the Version of Microsoft C/C++ Compiler]) +@@ -2150,7 +2159,7 @@ + AC_MSG_ERROR([Compiler too old. Use Microsoft C/C++ .NET 2008.]) + fi + else +- AC_MSG_ERROR([Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe.]) ++ AC_MSG_ERROR([Microsoft C/C++ Compiler not found. Use --with-cl-home.]) + fi + else + AC_MSG_CHECKING([the Mingwin32 C++ Compiler]) +Index: set_soenv.in +=================================================================== +--- set_soenv.in (revision 1825825) ++++ set_soenv.in (working copy) +@@ -687,8 +687,6 @@ + $USE_DIRECTX5 = ""; + $FRAME_HOME = PathFormat('@FRAME_HOME@'); + $USE_NEW_SDK = "TRUE"; +- $CPUNAME = "INTEL"; +- $CPU = "I"; + $GUI = "WNT"; + $GUIBASE = "WIN"; + $GVER = "NT351"; +@@ -706,20 +704,19 @@ + $COMPATH = PathFormat('@COMPATH@/bin'); + $COMPATH =~ s/\/bin$//i; + $COM = "GCC"; ++ $CPU = "I"; ++ $CPUNAME = "INTEL"; + $CVER = "C341"; + $OUTPATH = "wntgcci"; +- $INPATH = $OUTPATH.$PROEXT; + $ATL_INCLUDE = '$SOLARVER'.$ds.'$INPATH'.$ds."inc".$ds."external".$ds."mingw".$ds."include".$ds."atl". " ".'$PSDK_HOME'.$ds."include".$ds."atl"; + } + else # The MSVC section starts here +- { $outfile = "winenv.set"; ++ { + $COMPATH = PathFormat('@COMPATH@'); + $CXX_X64_BINARY = PathFormat('@COMPATH@/bin/amd64/cl.exe'); + $LINK_X64_BINARY = PathFormat('@COMPATH@/bin/amd64/link.exe'); + $LIBMGR_X64_BINARY = PathFormat('@COMPATH@/bin/amd64/lib.exe'); + $COM = "MSC"; +- $OUTPATH = "wntmsci@COMEX@"; +- $INPATH = $OUTPATH.$PROEXT; + $COMEX = '@COMEX@'; + if ( "@COMEX@" eq "10" ) { # .NET 2003 needs M1310 + $CVER = "M1310"; +@@ -732,11 +729,27 @@ + die "Unsupported value for COMEX variable.\n"; + } + } +- print "Setting W32 build with bash shell specific values... "; + # No special treatment for CC and CXX anymore. + $FLIPCMD = "slfl.pl"; + $PATH_SEPERATOR = ';'; ++ if ($platform =~ m/^i[3456]86/) { ++ print "Setting Windows x86 build with bash shell specific values... "; ++ $outfile = "winenv.set"; ++ $CPU = "I"; ++ $CPUNAME = "INTEL"; ++ $OUTPATH = "wntmsci@COMEX@"; ++ } elsif ($platform =~ m/^x86_64/) { ++ print "Setting Windows x86_64 build with bash shell specific values... "; ++ $outfile = "winAMD64Env.set"; ++ $CPU = "X"; ++ $CPUNAME = "X86_64"; ++ $OUTPATH = "wntmscx@COMEX@"; ++ } else { ++ print "Unsupported Windows architecture: $platform \n"; ++ exit 1; ++ } + } ++ $INPATH = $OUTPATH.$PROEXT; + } + elsif ( $platform =~ m/os2/ ) + { +@@ -1075,10 +1088,19 @@ + # Mingw is different + if ( $COM eq "MSC" ) + { $ILIB .= $wps.$SOLARVER.$ds.$INPATH.$LIB. +- $wps.$JAVA_HOME.$LIB. +- $wps.$PSDK_HOME.$LIB. ++ $wps.$JAVA_HOME.$LIB; ++ if ( $CPU eq "I" ) { ++ $ILIB .= $wps.$PSDK_HOME.$LIB. + $wps.$FRAME_HOME.$LIB. + $wps.$COMPATH.$LIB; ++ } elsif ( $CPU eq "X" ) { ++ $ILIB .= $wps.$PSDK_HOME.$LIB.$ds."x64". ++ $wps.$FRAME_HOME.$LIB. ++ $wps.$COMPATH.$LIB.$ds."amd64"; ++ } else { ++ print "Unsupported Windows CPU: $CPU\n"; ++ exit 1; ++ } + if ( '@ENABLE_DIRECTX@' ne "" ) { + # We may have DirectX but not DirectDraw + if ( '@ENABLE_DIRECT_DRAW@' ne "") { +@@ -1167,12 +1189,19 @@ + } + } + +- # Add path to compiler +- $tmppath = CygFormat($COMPATH).$BIN; +- $tmppath =~ s/^\/\//\//; +- $PATH .= $ps.$tmppath; ++ if ( $COM eq "MSC" ) { ++ # Add path to compiler ++ if ( $CPU eq "I" ) { ++ $tmppath = CygFormat($COMPATH).$BIN; ++ } elsif ( $CPU eq "X" ) { ++ $tmppath = CygFormat($COMPATH).$BIN.$ds."amd64"; ++ } else { ++ print "Unsupported Windows CPU: $CPU\n"; ++ exit 1; ++ } ++ $tmppath =~ s/^\/\//\//; ++ $PATH .= $ps.$tmppath; + +- if ( $COM eq "MSC" ) { + $tmppath = CygFormat($MSPDB_PATH); + # for .NET to find mspdb71.dll (needed by CL.EXE C/C++ Compiler) + if ( $PATH !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) { +@@ -1196,6 +1225,11 @@ + } + } + } else { # Mingw is different ++ # Add path to compiler ++ $tmppath = CygFormat($COMPATH).$BIN; ++ $tmppath =~ s/^\/\//\//; ++ $PATH .= $ps.$tmppath; ++ + # Native installer needs some files if the Windows Installer SDK + $tmppath = CygFormat($PSDK_HOME); + if ( $PATH !~ /(?:[:]|\A)(?:$tmppath\/bin)(?:[:]|\Z)/i ) { +Index: solenv/gbuild/platform/windows.mk +=================================================================== +--- solenv/gbuild/platform/windows.mk (revision 1825802) ++++ solenv/gbuild/platform/windows.mk (working copy) +@@ -63,7 +63,12 @@ + -DFULL_DESK \ + -DM1500 \ + ++ifeq ($(CPUNAME),INTEL) + gb_CPUDEFS := -DINTEL -D_X86_=1 ++endif ++ifeq ($(CPUNAME),X86_64) ++gb_CPUDEFS := -DX86_64 -D_AMD64_=1 ++endif + + gb_RCDEFS := \ + -DWINVER=0x0400 \ +@@ -187,12 +192,21 @@ + + gb_NoexPrecompiledHeader_NOEXCEPTIONFLAGS := $(gb_LinkTarget_NOEXCEPTIONFLAGS) + ++ifeq ($(CPUNAME),INTEL) + gb_LinkTarget_LDFLAGS := \ + -MACHINE:IX86 \ + -NODEFAULTLIB \ + $(patsubst %,-LIBPATH:%,$(filter-out .,$(subst ;, ,$(subst \,/,$(ILIB))))) \ +- + ++endif ++ifeq ($(CPUNAME),X86_64) ++gb_LinkTarget_LDFLAGS := \ ++ -MACHINE:X64 \ ++ -NODEFAULTLIB \ ++ $(patsubst %,-LIBPATH:%,$(filter-out .,$(subst ;, ,$(subst \,/,$(ILIB))))) \ ++ ++endif ++ + gb_DEBUG_CFLAGS := -Zi + + ifeq ($(gb_DEBUGGING),TRUE) +@@ -437,7 +451,12 @@ + # Library class + + gb_Library_DEFS := -D_DLL_ ++ifeq ($(CPUNAME),INTEL) + gb_Library_TARGETTYPEFLAGS := -DLL -OPT:NOREF -SAFESEH -NXCOMPAT -DYNAMICBASE ++endif ++ifeq ($(CPUNAME),X86_64) ++gb_Library_TARGETTYPEFLAGS := -DLL -OPT:NOREF -NXCOMPAT -DYNAMICBASE ++endif + gb_Library_get_rpath := + + gb_Library_SYSPRE := i +@@ -608,7 +627,12 @@ + # Executable class + + gb_Executable_EXT := .exe ++ifeq ($(CPUNAME),INTEL) + gb_Executable_TARGETTYPEFLAGS := -RELEASE -BASE:0x1b000000 -OPT:NOREF -INCREMENTAL:NO -DEBUG -SAFESEH -NXCOMPAT -DYNAMICBASE ++endif ++ifeq ($(CPUNAME),X86_64) ++gb_Executable_TARGETTYPEFLAGS := -RELEASE -BASE:0x1b000000 -OPT:NOREF -INCREMENTAL:NO -DEBUG -NXCOMPAT -DYNAMICBASE ++endif + gb_Executable_get_rpath := + gb_Executable_TARGETGUI := + +Index: solenv/inc/wnt.mk +=================================================================== +--- solenv/inc/wnt.mk (revision 1825802) ++++ solenv/inc/wnt.mk (working copy) +@@ -39,6 +39,10 @@ + .INCLUDE : wntgcci.mk + .ENDIF + ++.IF "$(OS)$(COM)$(CPU)" == "WNTMSCX" ++.INCLUDE : wntmscx.mk ++.ENDIF ++ + # --- changes for W32-tcsh - should move into settings.mk --- + JAVAC=javac + JAVA=java