namachi%netscape.com 497009995c http://bugzilla.mozilla.org/show_bug.cgi?id=111093
Generation of MAP and COD files
This patch should help create MAP file and COD files only on Windows.
These files will be generated only when MODINFO and CODINFO flags are set.
r=cls,leaf and sr=dveditz
2001-12-05 03:28:33 +00:00

203 lines
5.6 KiB
Plaintext

# The contents of this file are subject to the Netscape 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/NPL/
#
# 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):
#//------------------------------------------------------------------------
#//
#// 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
# if MOZ_DEBUG is not set and MOZ_MAPINFO
!if defined (MOZ_MAPINFO)
OS_LFLAGS=$(OS_LFLAGS) /MAP:$(MAPFILE) /MAPINFO:LINES
!endif
#MOZ_MAPINFO
# if MOZ_DEBUG is not set and MOZ_CODINFO
!if defined (MOZ_CODINFO)
OS_LFLAGS= $(OS_LFLAGS) /COD:$(CODFILE)
!endif
#MOZ_CODINFO
!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
!ifdef MOZ_DEBUG
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
!ifdef MOZ_DEBUG
RTL_FLAGS=-MLd # Statically linked non-multithreaded LIBC debug RTL
!endif
!else
RTL_FLAGS=-MD # Dynamically linked, multithreaded RTL
!ifdef MOZ_DEBUG
!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