mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-02 18:08:58 +00:00
e130d321d8
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
163 lines
4.4 KiB
Plaintext
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=
|