sal/osl/w32/file.cxx | 4 solenv/inc/wntmscx.mk | 398 +++++++++++++++++++++++++++++++++++++++++++++++ solenv/win64/readme.txt | 2 solenv/win64/win64.patch | 254 +++++++++++++++++++++++++++++ 4 files changed, 656 insertions(+), 2 deletions(-)
New commits: commit dc344511236f5698afd1c002be1ef050ab37c877 Author: Damjan Jovanovic <dam...@apache.org> Date: Mon Mar 5 20:19:07 2018 +0000 Fix use of ::std::min and ::std::max on types of different sizes. Patch by: me diff --git a/sal/osl/w32/file.cxx b/sal/osl/w32/file.cxx index 9321ab4a8a19..9bfb08e25915 100644 --- a/sal/osl/w32/file.cxx +++ b/sal/osl/w32/file.cxx @@ -420,7 +420,7 @@ oslFileError FileHandle_Impl::readFileAt ( return osl_File_E_None; } - SIZE_T const bytes = std::min(m_buflen - bufpos, nBytesRequested); + SIZE_T const bytes = std::min(m_buflen - bufpos, (SIZE_T)nBytesRequested); memcpy (&(buffer[*pBytesRead]), &(m_buffer[bufpos]), bytes); nBytesRequested -= bytes, *pBytesRead += bytes, nOffset += bytes; } @@ -490,7 +490,7 @@ oslFileError FileHandle_Impl::writeFileAt ( m_bufptr = bufptr, m_buflen = sal::static_int_cast< SIZE_T >(uDone); } - SIZE_T const bytes = std::min(m_bufsiz - bufpos, nBytesToWrite); + SIZE_T const bytes = std::min(m_bufsiz - bufpos, (SIZE_T)nBytesToWrite); memcpy (&(m_buffer[bufpos]), &(buffer[*pBytesWritten]), bytes); nBytesToWrite -= bytes, *pBytesWritten += bytes, nOffset += bytes; commit d9da41596ac929c64e10337ef08f54dbcf4fca80 Author: Damjan Jovanovic <dam...@apache.org> Date: Mon Mar 5 20:12:17 2018 +0000 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 diff --git a/solenv/win64/readme.txt b/solenv/win64/readme.txt new file mode 100644 index 000000000000..2dac1a5bf364 --- /dev/null +++ b/solenv/win64/readme.txt @@ -0,0 +1,2 @@ +Please refer to https://wiki.openoffice.org/wiki/Win64_port +for instructions. diff --git a/solenv/win64/win64.patch b/solenv/win64/win64.patch new file mode 100644 index 000000000000..ff17fc5e4865 --- /dev/null +++ b/solenv/win64/win64.patch @@ -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 commit 5b228e142213723cea318a5cdcc51258347366af Author: Damjan Jovanovic <dam...@apache.org> Date: Mon Mar 5 20:03:33 2018 +0000 Add a preliminary version of the main Win64 dmake file, but don't use it yet. Patch by: me diff --git a/solenv/inc/wntmscx.mk b/solenv/inc/wntmscx.mk new file mode 100644 index 000000000000..9fcb34294a68 --- /dev/null +++ b/solenv/inc/wntmscx.mk @@ -0,0 +1,398 @@ +#************************************************************** +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +#************************************************************** + + + +# mk file for $(OS)$(COM)$(CPU) == WNTMSCX + +SOLAR_JAVA*=TRUE +FULL_DESK=TRUE +JAVAFLAGSDEBUG=-g + +# SOLAR JAva Unterstuetzung nur fuer wntmscx + +ASM=ml +AFLAGS=/c /Cp /coff + +# architecture dependent flags for the C and C++ compiler that can be changed by +# exporting the variable ARCH_FLAGS="..." in the shell, which is used to start build +ARCH_FLAGS*= + +CC*:=cl +.IF "$(bndchk)" != "" +CXX*=nmcl +.ELSE +.IF "$(truetime)" != "" +CXX*=nmcl /NMttOn +.ELSE +CXX*:=cl +.ENDIF +.ENDIF # "$(bndchk)" != "" + +.IF "$(stoponerror)" != "" +CXX+= /NMstoponerror +.ENDIF + +.IF "$(nmpass)" != "" +CXX+= /NMpass +.ENDIF + +.IF "$(ttinlines)" != "" +CXX+= /NMttInlines +.ENDIF + +.IF "$(ttnolines)" != "" +CXX+= /NMttNoLines +.ENDIF + +.IF "$(VERBOSE)" != "TRUE" +NOLOGO*=-nologo +.ENDIF + +.IF "$(VERBOSE)" != "TRUE" +COMPILE_ECHO_SWITCH=-n +COMPILE_ECHO_FILE= +.ENDIF + +# Flags for COMEX == 11 + +# disable "warning C4675: resolved overload was found by argument-dependent +# lookup": +# -wd4251 -wd4275 -wd4290 -wd4675 -wd4786 -wd4800 +CFLAGS+=-Zm500 -Zc:wchar_t- -GR + +# Stack buffer overrun detection. +CFLAGS+=-GS + +CFLAGS+=-c -nologo -Gs $(NOLOGO) + +CDEFS+= -D_AMD64_=1 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS + +.IF "$(product)" != "" +CFLAGS+= -Gy +.ENDIF # "$(product)" != "" + +.IF "$(bndchk)" == "" +.IF "$(VC_STANDARD)"=="" +CFLAGS+= -Ob1 +.ENDIF # "$(VC_STANDARD)"=="" +.ENDIF + +# flags to enable build with symbols; required for crashdump feature +#CFLAGSENABLESYMBOLS=-Zi -Fd$(MISC)/_ooo_st_$(TARGET).PDB +CFLAGSENABLESYMBOLS=-Z7 -Yd + +.IF "$(bndchk)" != "" +.IF "$(debug)" == "" +CFLAGS+= -Z7 +.ENDIF +.ENDIF + +.IF "$(truetime)" != "" +.IF "$(debug)" == "" +CFLAGS+= -Z7 +.ENDIF +.ENDIF + +.IF "$(FULL_DESK)"!="" +CDEFS+=-DFULL_DESK +RSCDEFS+=-DFULL_DESK +.ENDIF + +CFLAGSEXCEPTIONS=-EHa +CFLAGS_NO_EXCEPTIONS= + +# enable boost support for __cdecl (SAL_CALL) C++-UNO interface methods +CDEFS+=-DBOOST_MEM_FN_ENABLE_CDECL + +# with the current debug switches PCH won't work +# anyway. so keep the existing .pch intact and don't +# touch it +.IF "$(debug)"!="" +ENABLE_PCH:= +.ENDIF "$(debug)"!="" + +CFLAGS_CREATE_PCH=-I$(INCPCH) -Fo$(SLO)/pchname.obj -Ycprecompiled_$(PRJNAME).hxx -DPRECOMPILED_HEADERS +CFLAGS_USE_PCH=-I$(INCPCH) -Yuprecompiled_$(PRJNAME).hxx -Fp$(SLO)/pch/precompiled_$(PRJNAME).hxx$(PCHPOST) -DPRECOMPILED_HEADERS +CFLAGS_USE_EXCEPTIONS_PCH=-I$(INCPCH) -Yuprecompiled_$(PRJNAME).hxx -Fp$(SLO)/pch_ex/precompiled_$(PRJNAME).hxx$(PCHPOST) -DPRECOMPILED_HEADERS +.IF "$(CALL_CDECL)"=="TRUE" +CFLAGSCALL=-Gd +.ELSE # "$(CALL_CDECL)"=="TRUE" +CFLAGSCALL=-Gz +.ENDIF # "$(CALL_CDECL)"=="TRUE" + +CFLAGSCC=$(ARCH_FLAGS) +.IF "$(DYNAMIC_CRT)"!="" +CDEFSSLOMT+=-DWIN32 -D_MT -D_DLL +CDEFSSLOMT+=-DWIN32 -D_MT -D_DLL +.IF "$(NO_DYNAMIC_OBJ)"=="" +CDEFSOBJMT+=-DWIN32 -D_MT -D_DLL +CDEFSOBJMT+=-DWIN32 -D_MT -D_DLL +.ELSE +CDEFSOBJMT+=-DWIN32 -D_MT +CDEFSOBJMT+=-DWIN32 -D_MT +.ENDIF # "$(NO_DYNAMIC_OBJ)"=="" +.ELSE +CDEFSSLOMT+=-DWIN32 -D_MT +CDEFSSLOMT+=-DWIN32 -D_MT +CDEFSOBJMT+=-DWIN32 -D_MT +CDEFSOBJMT+=-DWIN32 -D_MT +.ENDIF # "$(DYNAMIC_CRT)"!="" + +CFLAGSPROF=-Gh -Fd$(MISC)/$(@:b).pdb +CFLAGSDEBUG=-Zi -Fd$(MISC)/$(@:b).pdb +CFLAGSDBGUTIL= +.IF "$(VC_STANDARD)"=="" +CFLAGSOPT=-Oxs -Oy- +CFLAGSNOOPT=-Od +.ELSE # "$(VC_STANDARD)"=="" +CFLAGSOPT= +CFLAGSNOOPT= +.ENDIF # "$(VC_STANDARD)"=="" +CFLAGSOUTOBJ=-Fo + +# For C and C++, certain warnings are disabled globally, as they result in +# spurious warnings and are hard or impossible to workaround: +# - "warning C4061: enumerate in switch of enum is not explicitly handled by a +# case label", +# - "warning C4127: conditional expression is constant", +# - "warning C4191: unsafe conversion from function type to function type", +# - "warning C4217: member template functions cannot be used for copy-assignment +# or copy-construction", +# - "warning C4250: 'class1' : inherits 'class2::member' via dominance", +# - "warning C4355: 'this' used in base member initializer list", +# - "warning C4511: copy constructor could not be generated", +# - "warning C4512: assignment operator could not be generated", +# - "warning C4514: unreferenced inline function has been removed", +# - "warning C4611: interaction between '_setjmp' and C++ object destruction is +# non-portable", +# - "warning C4625: copy constructor could not be generated because a base class +# copy constructor is inaccessible", +# - "warning C4626: assignment operator could not be generated because a base +# class assignment operator is inaccessible", +# - "warning C4675: resolved overload was found by argument-dependent lookup", +# - "warning C4710: function not inlined", +# - "warning C4711: function selected for automatic inline expansion", +# - "warning C4820: padding added after member". +# - "warning C4503: 'identifier' : decorated name length exceeded, name was truncated" +# (http://msdn2.microsoft.com/en-us/library/074af4b6.aspx) +# - "warning C4180: qualifier applied to function type has no meaning; ignored" +# (frequently seen with a recent boost) +# For C, certain warnings from system headers (stdlib.h etc.) have to be +# disabled globally (for C++, this is not necessary, as the system headers are +# wrapped by STLport): +# - "warning C4255: no function prototype given: converting +# '()' to '(void)'". +# - "warning C4365: conversion from ... to ... signed/unsigned mismatch" + +CFLAGSWARNCXX=-Wall -wd4061 -wd4127 -wd4191 -wd4217 -wd4250 -wd4251 -wd4275 \ + -wd4290 -wd4294 -wd4355 -wd4511 -wd4512 -wd4514 -wd4611 -wd4625 -wd4626 \ + -wd4640 -wd4675 -wd4710 -wd4711 -wd4786 -wd4800 -wd4820 -wd4503 -wd4619 \ + -wd4365 -wd4668 -wd4738 -wd4826 -wd4350 -wd4505 -wd4692 -wd4189 -wd4005 \ + -wd4180 +CFLAGSWARNCC=$(CFLAGSWARNCXX) -wd4255 +CFLAGSWALLCC=$(CFLAGSWARNCC) +CFLAGSWALLCXX=$(CFLAGSWARNCXX) +CFLAGSWERRCC=-WX + +# Once all modules on this platform compile without warnings, set +# COMPILER_WARN_ERRORS=TRUE here instead of setting MODULES_WITH_WARNINGS (see +# settings.mk): +MODULES_WITH_WARNINGS := + +CDEFS+=-D_MT -DWINVER=0x0500 -D_WIN32_WINNT=0x0500 -D_WIN32_IE=0x0500 +.IF "$(COMEX)" == "11" +_VC_MANIFEST_BASENAME=__VC80 +.ELSE +_VC_MANIFEST_BASENAME=__VC90 +.ENDIF + +LINK=link /MACHINE:X64 /IGNORE:4102 /IGNORE:4197 + # do *not* add $(NOLOGO) to LINK or LINKFLAGS. Strangely, the wntmsci12 linker links fine then, but exits with + # a return value 1, which makes dmake think it failed +.IF "$(PRODUCT)"!="full" +.ELSE +LINKFLAGS=/MAP /OPT:NOREF +.ENDIF + +# excetion handling protection isn't used on Win64 + +# enable DEP +LINKFLAGS+=-nxcompat + +# enable ASLR +LINKFLAGS+=-dynamicbase + +.IF "$(linkinc)" != "" +LINKFLAGS+=-NODEFAULTLIB -INCREMENTAL:YES -DEBUG +MAPFILE= +_VC_MANIFEST_INC=1 +.ELSE # "$(linkinc)" != "" +_VC_MANIFEST_INC=0 +.IF "$(PRODUCT)"!="full" +LINKFLAGS+= -NODEFAULTLIB -DEBUG +.ELSE # "$(PRODUCT)"!="full" +LINKFLAGS+= -NODEFAULTLIB -RELEASE -DEBUG -INCREMENTAL:NO +.ENDIF # "$(PRODUCT)"!="full" +MAPFILE=-out:$$@ +.ENDIF # "$(linkinc)" != "" + +.IF "$(bndchk)" != "" +LINK=nmlink $(COMMENTFLAG) $(NOLOGO) /MACHINE:X64 +LINKFLAGS=-NODEFAULTLIB -DEBUG +.ENDIF + +.IF "$(truetime)" != "" +LINK=nmlink /NMttOn $(COMMENTFLAG) $(NOLOGO) /MACHINE:X64 +LINKFLAGS=-NODEFAULTLIB -DEBUG +.ENDIF + +.IF "$(COMEX)" == "11" +LINKFLAGSAPPGUI=/SUBSYSTEM:WINDOWS,4.0 +LINKFLAGSSHLGUI=/SUBSYSTEM:WINDOWS,4.0 /DLL +.ELSE +LINKFLAGSAPPGUI=/SUBSYSTEM:WINDOWS +LINKFLAGSSHLGUI=/SUBSYSTEM:WINDOWS /DLL +.ENDIF # "$(COMEX)" == "11" +LINKFLAGSAPPCUI=/SUBSYSTEM:CONSOLE /BASE:0x1b000000 +LINKFLAGSSHLCUI=/SUBSYSTEM:CONSOLE /DLL +LINKFLAGSTACK=/STACK: +LINKFLAGSPROF=/DEBUG:mapped,partial /DEBUGTYPE:coff cap.lib +LINKFLAGSWST=/DEBUG:mapped,partial /DEBUGTYPE:coff wst.lib /NODEFAULTLIB +LINKFLAGSDEBUG=-DEBUG +LINKFLAGSOPT= + +UWINAPILIB*=uwinapi.lib +.IF "$(DYNAMIC_CRT)"!="" +.IF "$(USE_STLP_DEBUG)" != "" +LIBCMT=msvcrt.lib +.ELSE # "$(USE_STLP_DEBUG)" != "" +LIBCMT=msvcrt.lib +.ENDIF # "$(USE_STLP_DEBUG)" != "" +.ELSE # "$(DYNAMIC_CRT)"!="" +.IF "$(USE_STLP_DEBUG)" != "" +LIBCMT=libcmt.lib +.ELSE # "$(USE_STLP_DEBUG)" != "" +LIBCMT=libcmt.lib +.ENDIF # "$(USE_STLP_DEBUG)" != "" +.ENDIF # "$(DYNAMIC_CRT)"!="" + +STDOBJVCL=$(L)/salmain.obj +STDOBJGUI= +STDSLOGUI= +STDOBJCUI= +STDSLOCUI= + +STDLIBGUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib +STDLIBCUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib +STDSHLGUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib +STDSHLCUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib + +.IF "$(USE_SYSTEM_STL)" == "YES" +.IF "$(DYNAMIC_CRT)"!="" +.IF "$(USE_STLP_DEBUG)" != "" +LIBCMT+= msvcprt.lib +.ELSE +LIBCMT+= msvcprt.lib +.ENDIF +.ELSE # "$(DYNAMIC_CRT)"=="" +.IF "$(USE_STLP_DEBUG)" != "" +LIBCMT+= libcpmt.lib +.ELSE +LIBCMT+= libcpmt.lib +.ENDIF "$(USE_STLP_DEBUG)" == "" +.ENDIF # "$(DYNAMIC_CRT)"!="" +.ELSE # !USE_SYSTEM_STL +.IF "$(USE_STLP_DEBUG)" != "" +LIBSTLPORT=stlport_vc71_stldebug.lib +LIBSTLPORTST=stlport_vc71_stldebug_static.lib +.ELSE +LIBSTLPORT=stlport_vc71.lib +LIBSTLPORTST=stlport_vc71_static.lib +.ENDIF +.ENDIF + +.IF "$(PROF_EDITION)" == "" +ATL_INCLUDE*=$(COMPATH)/PlatformSDK/include/atl +ATL_LIB*=$(COMPATH)/atlmfc/lib +MFC_INCLUDE*=$(COMPATH)/PlatformSDK/include/mfc +MFC_LIB*=$(COMPATH)/atlmfc/lib +.ELSE +ATL_INCLUDE*=$(COMPATH)/atlmfc/include +ATL_LIB*=$(COMPATH)/atlmfc/lib +MFC_INCLUDE*=$(COMPATH)/atlmfc/include +MFC_LIB*=$(COMPATH)/atlmfc/lib +.ENDIF + +LIBMGR=lib $(NOLOGO) +IMPLIB=lib +LIBFLAGS= + +IMPLIBFLAGS=-machine:X64 + +MAPSYM= +MAPSYMFLAGS= + +RC=rc +RCFLAGS=-r -DWIN32 -fo$@ $(RCFILES) +RCLINK=rc +RCLINKFLAGS= +RCSETVERSION= + +MT=mt.exe +MTFLAGS=$(NOLOGO) + + +DLLPOSTFIX= +PCHPOST=.pch + +CSC*=$(FLIPCMD) csc +VBC*=vbc + +ADVAPI32LIB=advapi32.lib +SHELL32LIB=shell32.lib +GDI32LIB=gdi32.lib +OLE32LIB=ole32.lib +OLEAUT32LIB=oleaut32.lib +UUIDLIB=uuid.lib +WINSPOOLLIB=winspool.lib +IMM32LIB=imm32.lib +VERSIONLIB=version.lib +WINMMLIB=winmm.lib +WSOCK32LIB=wsock32.lib +MPRLIB=mpr.lib +WS2_32LIB=ws2_32.lib +KERNEL32LIB=kernel32.lib +USER32LIB=user32.lib +COMDLG32LIB=comdlg32.lib +COMCTL32LIB=comctl32.lib +CRYPT32LIB=crypt32.lib +GDIPLUSLIB=gdiplus.lib +DBGHELPLIB=dbghelp.lib +MSILIB=msi.lib +DDRAWLIB=ddraw.lib +SHLWAPILIB=shlwapi.lib +URLMONLIB=urlmon.lib +WININETLIB=wininet.lib +OLDNAMESLIB=oldnames.lib +MSIMG32LIB=msimg32.lib +PROPSYSLIB=propsys.lib + _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits