Author: damjan
Date: Mon Mar 12 17:32:09 2018
New Revision: 1826580

URL: http://svn.apache.org/viewvc?rev=1826580&view=rev
Log:
Implement initial unfinished support for building 64 bit AOO on 64 bit Windows.

For now, require --enable-win64 to be passed to ./configure and without it 
build 32 bit
binaries like before.

Detect the MSVC compiler only through oowintool (ie. registry keys) and the 
command line option,
not by searching the path, as we need to know the exact path to determine 
whether the compiler
outputs 32 or 64 bit binaries.

Pass --aoo32-on-win64 to oowintool when doing the AOO32 on Win64 build, so 
oowintool
known to look at the 32 bit registry for Java, as we need a JDK of matching 
bitness.
We may need this option for other oowintool tasks.

Introduce the "mscx" COMNAME for 64 bit AOO.

Add the remaining gbuild and dmake changes necessary to use the 64 bit MSVC 
compiler.

Patch by: me


Modified:
    openoffice/trunk/main/configure.ac
    openoffice/trunk/main/odk/settings/settings.mk
    openoffice/trunk/main/oowintool
    openoffice/trunk/main/set_soenv.in
    openoffice/trunk/main/solenv/gbuild/platform/windows.mk
    openoffice/trunk/main/solenv/inc/wnt.mk

Modified: openoffice/trunk/main/configure.ac
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/configure.ac?rev=1826580&r1=1826579&r2=1826580&view=diff
==============================================================================
--- openoffice/trunk/main/configure.ac (original)
+++ openoffice/trunk/main/configure.ac Mon Mar 12 17:32:09 2018
@@ -271,6 +271,12 @@ AC_ARG_ENABLE(cl-standard,
                           options and therefore removes a lot of warnings when
                           using the cheaper standard compiler. )
 ],,)
+AC_ARG_ENABLE(win64,
+[  --enable-win64          Enable building 64 bit OpenOffice on 64 bit 
Windows, (as
+                          opposed to 32 bit OpenOffice that is usually built 
there).
+                          This is a temporary option during the transition,
+                          as 64 bit OpenOffice doesn't fully build on Windows 
yet.
+],,enable_win64=no)
 AC_ARG_ENABLE(win-x64-shellext,
 [  --enable-win-x64-shellext    Enable the build/usage of Windows 64bit shell 
extensions.
                           These extensions are used for the system integration 
on
@@ -1284,6 +1290,30 @@ if test "$_os" = "WINNT"; then
       AC_MSG_RESULT([yes])
    fi
    AC_SUBST(BUILD_X64)
+
+   dnl ===================================================================
+   dnl Set the BUILD_WIN64 variable. 
+   dnl ===================================================================
+   AC_MSG_CHECKING([whether to build 64 bit OpenOffice on 64 bit Windows])
+   if test "$build_cpu" = "x86_64" ; then
+      if test "x$enable_win64" != "xno" ; then
+         BUILD_WIN64="TRUE"
+         AC_MSG_RESULT([yes])
+         OOWINTOOL="./oowintool"
+      else
+         BUILD_WIN64=""
+         AC_MSG_RESULT([no])
+         OOWINTOOL="./oowintool --aoo32-on-win64"
+      fi
+   else
+      if test "x$enable_win64" != "xno" ; then
+         AC_MSG_ERROR([the --enable-win64 option can only be used on an AMD64 
CPU])
+      fi
+      BUILD_WIN64=""
+      AC_MSG_RESULT([no])
+      OOWINTOOL="./oowintool"
+   fi
+   AC_SUBST(BUILD_WIN64)
 fi
 
 dnl ===================================================================
@@ -2045,7 +2075,7 @@ if test "$_os" = "WINNT"; then
                AC_MSG_CHECKING([for friendly registry keys])
                # VS.Net 2003, VS.Net 2005
                if test -z "$with_cl_home"; then
-                       vctest=`./oowintool --msvc-productdir`;
+                       vctest=`$OOWINTOOL --msvc-productdir`;
                        if test -x "$vctest/bin/cl.exe"; then
                                with_cl_home=$vctest;
                        fi
@@ -2093,18 +2123,31 @@ if test "$_os" = "WINNT"; then
                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)
+                   if test "$BUILD_WIN64" = "TRUE" ; then
+                     cl_subdirectory="bin/amd64"
+                   else
+                     cl_subdirectory="bin"
+                   fi
+                   ;;
+                 *)
+                   AC_MSG_ERROR([Unknown/unsupported Windows CPU $build_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])
@@ -2127,7 +2170,7 @@ dnl      The following find microsoft, m
                                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])
@@ -2206,7 +2249,21 @@ case $COM in
                CCNUMVER=`${CC} 2>&1 | $AWK -v num=true -f 
${_solenv}/bin/getcompver.awk`;
                if test "${CCNUMVER}" -ge 001200000000; then
                        COMID="MSC";
-                       COMNAME="msci";
+                       case "$build_cpu" in
+                         i?86)
+                           COMNAME="msci";
+                           ;;
+                         x86_64)
+                           if test "$BUILD_WIN64" = "TRUE" ; then
+                             COMNAME="mscx";
+                           else
+                             COMNAME="msci";
+                           fi
+                           ;;
+                         *)
+                           AC_MSG_ERROR([Unknown/unsupported Windows CPU 
$build_cpu.])
+                           ;;
+                       esac
                else
                        AC_MSG_ERROR([MSC compiler too old]);
                fi
@@ -2262,13 +2319,13 @@ if test "$WITH_MINGWIN" = "yes" || test
                MIDL_PATH="$with_cl_home/../Common7/Tools/Bin"
        fi
        if test -z "$MIDL_PATH" ; then
-      vstest=`./oowintool --msvs-productdir`;
+      vstest=`$OOWINTOOL --msvs-productdir`;
       if test -x "$vstest/Common7/Tools/Bin/midl.exe" ; then
                  MIDL_PATH="$vstest/Common7/Tools/Bin"
       fi
        fi
        if test -z "$MIDL_PATH" ; then
-               psdktest=`./oowintool --psdk-home`
+               psdktest=`$OOWINTOOL --psdk-home`
                if test -x "$psdktest/Bin/midl.exe" ; then
                        MIDL_PATH="$psdktest/Bin"
                fi
@@ -2291,7 +2348,7 @@ if test "$WITH_MINGWIN" = "yes" || test
        if test -x "$with_csc_path/csc.exe"; then
                CSC_PATH="$with_csc_path"
        else
-          csctest=`./oowintool --csc-compilerdir`;
+          csctest=`$OOWINTOOL --csc-compilerdir`;
           if test -x "$csctest/csc.exe"; then
              CSC_PATH="$csctest"
           fi
@@ -2316,11 +2373,11 @@ if test "$WITH_MINGWIN" = "yes" || test
                    FRAME_HOME="$with_cl_home/../SDK/v1.1"
            fi
            if test -z "$FRAME_HOME" ; then
-          frametest=`./oowintool --dotnetsdk-dir`
+          frametest=`$OOWINTOOL --dotnetsdk-dir`
           if test -f "$frametest/lib/mscoree.lib"; then
              FRAME_HOME="$frametest"
           else
-             frametest=`./oowintool --psdk-home`
+             frametest=`$OOWINTOOL --psdk-home`
              if test -f "$frametest/lib/mscoree.lib"; then
                 FRAME_HOME="$frametest"
              fi
@@ -2905,7 +2962,7 @@ fi
 
 if test "$_os" = "WINNT"; then
    if test -z "$with_jdk_home"; then
-      _jdk_home=`./oowintool --jdk-home`
+      _jdk_home=`$OOWINTOOL --jdk-home`
        if test -d "$_jdk_home"; then
           with_jdk_home="$_jdk_home"
        fi
@@ -5217,7 +5274,7 @@ if test \( "$_os" = "WINNT" \) ; then
        AC_MSG_CHECKING([for PSDK files])
        if test -z "$with_psdk_home"; then
                # This first line will detect a February 2003 Microsoft 
Platform SDK
-               PSDK_HOME=`./oowintool --psdk-home`
+               PSDK_HOME=`$OOWINTOOL --psdk-home`
         # But there might be also an April 2005 PSDK, unfortunately MS changed
         # the registry entry. (we prefer the old version!?)
         if test -z "$PSDK_HOME"; then
@@ -5477,7 +5534,7 @@ if test "$_os" = "WINNT" ; then
     if test -e "$with_nsis_path/nsis.exe"; then
         NSIS_PATH="$with_nsis_path"
     fi
-    nsistest=`./oowintool --nsis-dir`;
+    nsistest=`$OOWINTOOL --nsis-dir`;
     if test -x "$nsistest/nsis.exe"; then
         NSIS_PATH="$nsistest"
     fi
@@ -5753,7 +5810,7 @@ dnl ====================================
 dnl Windows builds - use oowintool to copy CRT dlls and manifest
 dnl ===================================================================
 if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then
-       if ./oowintool --msvc-copy-dlls ./external/msvcp ; then
+       if $OOWINTOOL --msvc-copy-dlls ./external/msvcp ; then
           :
        else
           AC_MSG_ERROR([oowintool failed to copy CRT])

Modified: openoffice/trunk/main/odk/settings/settings.mk
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/odk/settings/settings.mk?rev=1826580&r1=1826579&r2=1826580&view=diff
==============================================================================
--- openoffice/trunk/main/odk/settings/settings.mk (original)
+++ openoffice/trunk/main/odk/settings/settings.mk Mon Mar 12 17:32:09 2018
@@ -57,6 +57,8 @@ JAVABIN=bin
 ifeq "$(PLATFORM)" "windows"
 # Settings for Windows using Microsoft compiler/linker
 
+PROCTYPE := $(shell $(PRJ)/config.guess | cut -d"-" -f1 | sed -e 
's/^i.86$$/i386/')
+
 OS=WIN
 PS=\\
 ICL=$$
@@ -119,8 +121,14 @@ SDK_JAVA_INCLUDES = -I"$(OO_SDK_JAVA_HOM
 # define for used compiler necessary for UNO
 # -DCPPU_ENV=msci -- windows msvc 4.x - 7.x
 
+ifeq "$(PROCTYPE)" "i386"
 CC_DEFINES_JNI=-DWIN32 -DWNT -D_DLL -DCPPU_ENV=msci
 CC_DEFINES=-DWIN32 -DWNT -D_DLL -DCPPU_ENV=msci
+endif
+ifeq "$(PROCTYPE)" "x86_64"
+CC_DEFINES_JNI=-DWIN32 -DWNT -D_DLL -DCPPU_ENV=mscx
+CC_DEFINES=-DWIN32 -DWNT -D_DLL -DCPPU_ENV=mscx
+endif
 CC_OUTPUT_SWITCH=-Fo
 
 LIBRARY_LINK_FLAGS=/NODEFAULTLIB /DLL /DEBUGTYPE:cv

Modified: openoffice/trunk/main/oowintool
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/oowintool?rev=1826580&r1=1826579&r2=1826580&view=diff
==============================================================================
--- openoffice/trunk/main/oowintool (original)
+++ openoffice/trunk/main/oowintool Mon Mar 12 17:32:09 2018
@@ -23,6 +23,8 @@
 use File::Copy;
 
 my $output_format = 'u';
+my $aoo32OnWin64 = 0;
+
 
 sub reg_get_value($)
 {
@@ -282,23 +284,30 @@ sub print_dotnetsdk_dir()
 
 sub print_jdk_dir()
 {
-    my $dir =
-         reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java\ 
Development\ Kit/1.8/JavaHome") ||
-         reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java\ 
Development\ Kit/1.7/JavaHome") ||
-         reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java\ 
Development\ Kit/1.6/JavaHome") ||
-         reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java\ 
Development\ Kit/1.5/JavaHome") ||
-         reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java\ 
Development\ Kit/1.4/JavaHome") ||
-         reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java\ 
Development\ Kit/1.3/JavaHome");
-    if (defined $dir) {
-        print cygpath($dir, 'w', $output_format); 
-    } else {
-        # Java 1.9 had to be different:
-        my $currentVersion = reg_get_value 
("HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/JDK/CurrentVersion");
-        defined $currentVersion || exit 1;
-        my $newDir = reg_get_value 
("HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/JDK/" . $currentVersion . "/JavaHome");
-        defined $newDir || exit 1;
-        print cygpath($newDir, 'w', $output_format);
+    my $softwareKey;
+    if ($aoo32OnWin64) {
+        $softwareKey = "HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/";
+    }  else {
+        $softwareKey = "HKEY_LOCAL_MACHINE/SOFTWARE/";
+    }
+    # Java 1.9 had to be different:
+    my $currentVersion = reg_get_value ($softwareKey . 
"JavaSoft/JDK/CurrentVersion");
+    if (defined $currentVersion) {
+        my $newDir = reg_get_value ($softwareKey . "JavaSoft/JDK/" . 
$currentVersion . "/JavaHome");
+        if (defined $newDir) {
+            print cygpath($newDir, 'w', $output_format);
+            return;
+        }
     }
+    my $dir =
+         reg_get_value ($softwareKey . "JavaSoft/Java\ Development\ 
Kit/1.8/JavaHome") ||
+         reg_get_value ($softwareKey . "JavaSoft/Java\ Development\ 
Kit/1.7/JavaHome") ||
+         reg_get_value ($softwareKey . "JavaSoft/Java\ Development\ 
Kit/1.6/JavaHome") ||
+         reg_get_value ($softwareKey . "JavaSoft/Java\ Development\ 
Kit/1.5/JavaHome") ||
+         reg_get_value ($softwareKey . "JavaSoft/Java\ Development\ 
Kit/1.4/JavaHome") ||
+         reg_get_value ($softwareKey . "JavaSoft/Java\ Development\ 
Kit/1.3/JavaHome");
+    defined $dir || exit 1;
+    print cygpath($dir, 'w', $output_format);
 }
 
 sub print_nsis_dir()
@@ -372,7 +381,8 @@ while (@ARGV) {
 while (@commands) {
     $opt = shift @commands;
 
-    if (0) {
+    if ($opt eq '--aoo32-on-win64') {
+       $aoo32OnWin64 = 1;
     } elsif ($opt eq '--msvc-ver') {
        print_msvc_ver();
     } elsif ($opt eq '--msvc-copy-dlls') {

Modified: openoffice/trunk/main/set_soenv.in
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/set_soenv.in?rev=1826580&r1=1826579&r2=1826580&view=diff
==============================================================================
--- openoffice/trunk/main/set_soenv.in (original)
+++ openoffice/trunk/main/set_soenv.in Mon Mar 12 17:32:09 2018
@@ -680,8 +680,6 @@ elsif ( $platform =~ m/cygwin/ )
       $USE_DIRECTX5   = "";
       $FRAME_HOME     = PathFormat('@FRAME_HOME@');
       $USE_NEW_SDK    = "TRUE";
-      $CPUNAME        = "INTEL";
-      $CPU            = "I";
       $GUI            = "WNT";
       $GUIBASE        = "WIN";
       $GVER           = "NT351";
@@ -698,19 +696,18 @@ elsif ( $platform =~ m/cygwin/ )
       $outfile        = "winmingw.set"; 
       $COMPATH        = PathFormat('@COMPATH@/bin');
       $COMPATH        =~ s/\/bin$//i;
+      $CPUNAME        = "INTEL";
+      $CPU            = "I";
       $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');
-      $OUTPATH        = "wntmsci@COMEX@";
-      $INPATH         = $OUTPATH.$PROEXT;
       $COMEX          = '@COMEX@';
       if ( "@COMEX@" eq "10" ) { # .NET 2003 needs M1310
           $CVER        = "M1310";
@@ -723,11 +720,27 @@ elsif ( $platform =~ m/cygwin/ )
              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/ || ( ( $platform =~ m/^x86_64/ ) && ( 
"@BUILD_WIN64@" ne "TRUE" ) ) ) {
+          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/ ) 
 { 
@@ -1061,10 +1074,19 @@ if ($platform =~ m/cygwin|os2/)
    # 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 ( ( $CPUNAME eq "INTEL" ) || ( ( $CPUNAME eq "X86_64" ) && ( 
"@BUILD_WIN64@" ne "TRUE" ) ) ) {
+          $ILIB   .=    $wps.$PSDK_HOME.$LIB.
                         $wps.$FRAME_HOME.$LIB.
                         $wps.$COMPATH.$LIB;
+      } elsif ( $CPUNAME eq "X86_64" ) {
+          $ILIB   .=    $wps.$PSDK_HOME.$LIB.$ds."x64".
+                        $wps.$FRAME_HOME.$LIB.
+                        $wps.$COMPATH.$LIB.$ds."amd64";
+      } else {
+          print "Unsupported Windows CPU: $CPUNAME\n";
+          exit 1;
+      }
       if ( '@ENABLE_DIRECTX@' ne "" ) {
           # We may have DirectX but not DirectDraw
           if ( '@ENABLE_DIRECT_DRAW@' ne "") {
@@ -1154,11 +1176,18 @@ elsif ($platform =~ m/cygwin/)
    }
 
    # Add path to compiler
-   $tmppath = CygFormat($COMPATH).$BIN;
-   $tmppath =~ s/^\/\//\//;
-   $PATH .= $ps.$tmppath;
-
    if ( "@COM@" eq "MSC" ) {
+       if ( ( $CPUNAME eq "INTEL" ) || ( ( $CPUNAME eq "X86_64") && ( 
"@BUILD_WIN64@" ne "TRUE" ) ) ) {
+           $tmppath = CygFormat($COMPATH).$BIN;
+       } elsif ( $CPUNAME eq "X86_64" ) {
+           $tmppath = CygFormat($COMPATH).$BIN.$ds."amd64";
+       } else {
+           print "Unsupported Windows CPU: $CPU\n";
+           exit 1;
+       }
+       $tmppath =~ s/^\/\//\//;
+       $PATH .= $ps.$tmppath;
+
        $tmppath = CygFormat($MSPDB_PATH);
           # for .NET to find mspdb71.dll (needed by CL.EXE C/C++ Compiler)
           if ( $PATH !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) {
@@ -1182,6 +1211,10 @@ elsif ($platform =~ m/cygwin/)
                   }
           }
    } else { # Mingw is different
+       $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 ) {

Modified: openoffice/trunk/main/solenv/gbuild/platform/windows.mk
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/platform/windows.mk?rev=1826580&r1=1826579&r2=1826580&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/platform/windows.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/platform/windows.mk Mon Mar 12 17:32:09 
2018
@@ -63,7 +63,12 @@ gb_COMPILERDEFS := \
        -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,11 +192,20 @@ gb_LinkTarget_NOEXCEPTIONFLAGS := \
 
 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
 
@@ -437,7 +451,12 @@ endef
 # 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 @@ endef
 # 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 := 
 

Modified: openoffice/trunk/main/solenv/inc/wnt.mk
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/inc/wnt.mk?rev=1826580&r1=1826579&r2=1826580&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/inc/wnt.mk (original)
+++ openoffice/trunk/main/solenv/inc/wnt.mk Mon Mar 12 17:32:09 2018
@@ -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


Reply via email to