gecko-dev/config/WIN32
cyeh%netscape.com e130d321d8 added new hacky build configuration. if MOZ_DEBUG is not set, you can
set MOZ_DEBUGOPT. MOZ_DEBUGOPT will generate optimized bits, but also
generate debugging information linked into the libraries and executables.

this can be insanely useful when you are trying to track down compiler
optimization bugs.

to use, set MOZ_DEBUG=, set MOZ_DEBUGOPT=1
1999-01-22 01:45:38 +00:00

163 lines
4.4 KiB
Plaintext

# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#//------------------------------------------------------------------------
#//
#// 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_PROF
#
# compile with debug symbols, but without DEBUG code and ASSERTs
#
OPTIMIZER=-Z7 -O1 -UDEBUG -DNDEBUG -U_DEBUG
OS_LFLAGS=/DEBUG /DEBUGTYPE:CV /PDB:NONE
!else
!ifdef MOZ_DEBUG
#
# Uncomment for MSVC debug malloc logging...
#
#OPTIMIZER=-Z7 -DDEBUG -UNDEBUG -D_DEBUG -D_CRTDBG_MAP_ALLOC
OPTIMIZER=-Z7 -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:NONE
!endif
!else
# if MOZ_DEBUG is not set and MOZ_DEBUGOPT is set, then we generate
# an optimized build with debugging symbols. useful for debugging
# compiler optimization bugs
!ifdef MOZ_DEBUGOPT
OS_LFLAGS=/DEBUG /DEBUGTYPE:CV /PDB:NONE /opt:ref
OPTIMIZER=/Zi -O1 -UDEBUG -DNDEBUG
!else
# MOZ_DEBUG not set.
# optimize it, no symbols
#
OPTIMIZER=-O1 -UDEBUG -DNDEBUG
OS_LFLAGS=
!endif
!endif
!endif
#//------------------------------------------------------------------------
#//
#// 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
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 -DHW_THREADS
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
EXE_LFLAGS=
EXE_LIBS=
#//------------------------------------------------------------------------
#//
#// Specify the special flags for creating DLLs
#//
#//------------------------------------------------------------------------
DLL_CFLAGS=
DLL_LFLAGS=/SUBSYSTEM:WINDOWS
DLL_LIBS=