# ***** BEGIN LICENSE BLOCK ***** # Version: MPL 1.1/GPL 2.0/LGPL 2.1 # # The contents of this file are subject to the Mozilla Public License Version # 1.1 (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.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # for the specific language governing rights and limitations under the # License. # # The Original Code is mozilla.org code. # # The Initial Developer of the Original Code is Netscape # Communications Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All # Rights Reserved. # # Contributor(s): # # Alternatively, the contents of this file may be used under the terms of # either the GNU General Public License Version 2 or later (the "GPL"), or # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), # in which case the provisions of the GPL or the LGPL are applicable instead # of those above. If you wish to allow use of your version of this file only # under the terms of either the GPL or the LGPL, and not to allow others to # use your version of this file under the terms of the MPL, indicate your # decision by deleting the provisions above and replace them with the notice # and other provisions required by the GPL or the LGPL. If you do not delete # the provisions above, a recipient may use your version of this file under # the terms of any one of the MPL, the GPL or the LGPL. # # ***** END LICENSE BLOCK ***** #//------------------------------------------------------------------------ #// #// Win32 Configuration file #// #//------------------------------------------------------------------------ #//------------------------------------------------------------------------ #// #// Define the OS dependent commands used by MAKE #// #//------------------------------------------------------------------------ CC=cl LD=link AR=lib RC=rc #RM=del /F /Q #RM_R=del /F /S /Q RM=rm -f RM_R=rm -fr CP=cp AWK=$(MOZ_TOOLS)\bin\gawk.exe RANLIB=$(DEPTH)\config\true.bat JAVAH=$(DIST)\bin\javah.exe JAVA=$(MOZ_TOOLS)\bin\java.exe !ifndef JAVAH_IN_JAVA JAVAH_PROG = $(DIST)\bin\javah.exe !else JAVAH_PROG = $(JAVA) netscape.tools.jric.Main !endif #//------------------------------------------------------------------------ #// #// Define Debug and optimization flags #// #//------------------------------------------------------------------------ !ifdef MOZ_DEBUG # # Uncomment for MSVC debug malloc logging... # #OPTIMIZER=-Zi -DDEBUG -UNDEBUG -D_DEBUG -D_CRTDBG_MAP_ALLOC OPTIMIZER=-Zi -DDEBUG -UNDEBUG -D_DEBUG !if defined(GLOWCODE) && "$(MOZ_BITS)"=="32" OS_LFLAGS=/DEBUG /DEBUGTYPE:BOTH /INCLUDE:_GlowCode /PDB:NONE !else OS_LFLAGS=/DEBUG /DEBUGTYPE:CV /PDB:$(PDBFILE) !endif !else # Initialize to non-profile, non-coverage optimization OPTIMIZER=-O1 -UDEBUG -DNDEBUG OS_LFLAGS=/OPT:nowin98 # if MOZ_DEBUG is not set and MOZ_PROFILE is set, then we generate # an optimized build with debugging symbols. Useful for debugging # compiler optimization bugs, as well as running with Quantify. !if defined (MOZ_PROFILE) OS_LFLAGS=/DEBUG /DEBUGTYPE:CV /PDB:NONE /OPT:REF /OPT:nowin98 OPTIMIZER=-Zi -O1 -UDEBUG -DNDEBUG !endif # MOZ_PROFILE # if MOZ_COVERAGE is set, we handle pdb files slightly differently !if defined(MOZ_COVERAGE) OS_LFLAGS=/DEBUG /DEBUGTYPE:CV /PDB:$(PDBFILE) /OPT:REF /OPT:nowin98 OPTIMIZER=-Zi -O1 -UDEBUG -DNDEBUG !endif # MOZ_COVERAGE # # Handle trace-malloc in optimized builds. # No opt to give sane callstacks. # !if defined(MOZ_TRACE_MALLOC) OPTIMIZER=-Zi -Od -UDEBUG -DNDEBUG OS_LFLAGS=/DEBUG /DEBUGTYPE:CV /PDB:NONE /OPT:REF /OPT:nowin98 !endif # MOZ_TRACE_MALLOC # if MOZ_DEBUG is not set and MOZ_MAPINFO !if defined (MOZ_MAPINFO) OS_LFLAGS=$(OS_LFLAGS) /MAP:$(MAPFILE) /MAPINFO:LINES !endif #MOZ_MAPINFO !endif # MOZ_DEBUG #//------------------------------------------------------------------------ #// #// Select the correct RTL to link... #// #// Currently, unless USE_STATIC_LIBS is defined, the multithreaded #// DLL version of the RTL is used... #// #//------------------------------------------------------------------------ !ifdef USE_STATIC_LIBS RTL_FLAGS=-MT # Statically linked multithreaded RTL !if defined(MOZ_DEBUG) || defined(MOZ_TRACE_MALLOC) RTL_FLAGS=-MTd # Statically linked multithreaded MSVC4.0 debug RTL !endif !else ifdef USE_NON_MT_LIBS RTL_FLAGS=-ML # Statically linked non-multithreaded LIBC RTL !if defined(MOZ_DEBUG) || defined(MOZ_TRACE_MALLOC) RTL_FLAGS=-MLd # Statically linked non-multithreaded LIBC debug RTL !endif !else RTL_FLAGS=-MD # Dynamically linked, multithreaded RTL !if defined(MOZ_DEBUG) || defined(MOZ_TRACE_MALLOC) !ifndef MOZ_NO_DEBUG_RTL RTL_FLAGS=-MDd # Dynamically linked, multithreaded MSVC4.0 debug RTL !endif !endif !endif #//------------------------------------------------------------------------ #// #// Specify the OS dependent compiler flags, linker flags and libraries #// #//------------------------------------------------------------------------ OS_CFLAGS=$(OPTIMIZER) $(RTL_FLAGS) -W3 -nologo -D_X86_ -D_WINDOWS -DWIN32 \ -DXP_PC -DXP_WIN -DXP_WIN32 -DHW_THREADS -DWINVER=0x400 -Gy OS_CFLAGS=$(OS_CFLAGS) -DMSVC4 !ifdef MOZ_DEBUG # Enable browse info in VC++ !ifdef MOZ_BROWSE_INFO OS_CFLAGS=$(OS_CFLAGS) /FR !endif !endif ## Removed MOZ_LITE/MOZ_MEDIUM stuff from OS_CFLAGS OS_LFLAGS=$(OS_LFLAGS) OS_LIBS=kernel32.lib user32.lib gdi32.lib winmm.lib wsock32.lib advapi32.lib #//------------------------------------------------------------------------ #// #// Specify the special flags for creating EXEs #// #//------------------------------------------------------------------------ !if defined(SWAPTUNER) || (defined(GLOWCODE) && defined(GLOWPROF) && "$(MOZ_BITS)"=="32") # this seems to get lost EXE_CFLAGS=/Gh !else EXE_CFLAGS=/Gy !endif !if defined(MOZ_PROFILE) EXE_LFLAGS=/FIXED:NO !else EXE_LFLAGS= !endif EXE_LIBS= !if defined(MOZ_COVERAGE) && !defined(MOZ_NO_COVERAGE) EXE_LIBS=$(EXE_LIBS) $(DIST)/lib/trace.lib !endif #//------------------------------------------------------------------------ #// #// Specify the special flags for creating DLLs #// #//------------------------------------------------------------------------ DLL_CFLAGS= DLL_LFLAGS=/SUBSYSTEM:WINDOWS DLL_LIBS= !if defined(MOZ_COVERAGE) && !defined(MOZ_NO_COVERAGE) DLL_LIBS=$(DLL_LIBS) $(DIST)/lib/trace.lib !endif #//------------------------------------------------------------------------ #// #// rebase setting, msvc systems better have this #// #//------------------------------------------------------------------------ REBASE=rebase.exe