summaryrefslogtreecommitdiffstats
path: root/win/makefile.vc
diff options
context:
space:
mode:
authordavygrvy <davygrvy@pobox.com>2004-02-07 21:47:19 (GMT)
committerdavygrvy <davygrvy@pobox.com>2004-02-07 21:47:19 (GMT)
commit9a6ad6f7e1625a6ce47f8b383c6deab9f7d1a79a (patch)
tree71b132860f94c92cf4726d9431e969814ef41aec /win/makefile.vc
parent33d37367eefd25c2373ed2d0e7d5d33aaf0c4546 (diff)
downloadtcl-9a6ad6f7e1625a6ce47f8b383c6deab9f7d1a79a.zip
tcl-9a6ad6f7e1625a6ce47f8b383c6deab9f7d1a79a.tar.gz
tcl-9a6ad6f7e1625a6ce47f8b383c6deab9f7d1a79a.tar.bz2
* win/makefile.vc:
* win/rules.vc: * win/tcl.rc: * win/tclsh.rc: Added an 'unchecked' option to the OPTS macro so a core build with symbols can be linked to the non-debug enabled C run-time. As per discussion with Kevin Kenny. Called like this: nmake -af makefile.vc OPTS=unchecked,symbols This clarifies the meaning of the 'g' naming suffix to mean only that the binary requires the debug enabled C run-time. Whether the binary contains symbols or not is a seperate condition.
Diffstat (limited to 'win/makefile.vc')
-rw-r--r--win/makefile.vc18
1 files changed, 11 insertions, 7 deletions
diff --git a/win/makefile.vc b/win/makefile.vc
index 5128159..d005bd4 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -12,7 +12,7 @@
# Copyright (c) 2001-2004 David Gravereaux.
#
#------------------------------------------------------------------------------
-# RCS: @(#) $Id: makefile.vc,v 1.120 2004/01/30 08:10:11 davygrvy Exp $
+# RCS: @(#) $Id: makefile.vc,v 1.121 2004/02/07 21:47:19 davygrvy Exp $
#------------------------------------------------------------------------------
!if "$(MSVCDIR)" == ""
@@ -64,7 +64,7 @@ the environment. Jump to this line to read the new instructions.
# Sets where to install Tcl from the built binaries.
# C:\Progra~1\Tcl is assumed when not specified.
#
-# OPTS=static,msvcrt,staticpkg,threads,symbols,profile,loimpact,none
+# OPTS=static,msvcrt,staticpkg,threads,symbols,profile,loimpact,unchecked,none
# Sets special options for the core. The default is for none.
# Any combination of the above may be used (comma separated).
# 'none' will over-ride everything to nothing.
@@ -84,6 +84,9 @@ the environment. Jump to this line to read the new instructions.
# profile = Adds profiling hooks. Map file is assumed.
# loimpact = Adds a flag for how NT treats the heap to keep memory
# in use, low. This is said to impact alloc performance.
+# unchecked = Allows a symbols build to not use the debug
+# enabled runtime (msvcrt.dll not msvcrtd.dll
+# or libcmt.lib not libcmtd.lib).
#
# STATS=memdbg,compdbg,none
# Sets optional memory and bytecode compiler debugging code added
@@ -343,7 +346,7 @@ WINDIR = $(ROOT)\win
# Compile flags
#---------------------------------------------------------------------
-!if !$(DEBUG)
+!if !$(DEBUG) || $(UNCHECKED)
!if $(OPTIMIZING)
### This cranks the optimization level to maximize speed
cdebug = -O2 -Op -Gs
@@ -376,13 +379,13 @@ cflags = $(cflags) -QIA64_Bx
!endif
!if $(MSVCRT)
-!if $(DEBUG)
+!if $(DEBUG) && !$(UNCHECKED)
crt = -MDd
!else
crt = -MD
!endif
!else
-!if $(DEBUG)
+!if $(DEBUG) && !$(UNCHECKED)
crt = -MTd
!else
crt = -MT
@@ -691,7 +694,7 @@ $(TMP_DIR)\tclWinDde.obj: $(WINDIR)\tclWinDde.c
### The following objects are part of the stub library and should not
### be built as DLL objects. -Zl is used to avoid a dependancy on any
-### specific c-runtime.
+### specific C run-time.
$(TMP_DIR)\tclStubLib.obj: $(GENERICDIR)\tclStubLib.c
$(cc32) $(STUB_CFLAGS) -Zl -DSTATIC_BUILD $(TCL_INCLUDES) -Fo$@ $?
@@ -752,7 +755,8 @@ $<
{$(WINDIR)}.rc{$(TMP_DIR)}.res:
$(rc32) -fo $@ -r -i "$(GENERICDIR)" \
- -d DEBUG=$(DEBUG) -d TCL_THREADS=$(TCL_THREADS) \
+ -d DEBUG=$(DEBUG) -d UNCHECKED=$(UNCHECKED) \
+ -d TCL_THREADS=$(TCL_THREADS) \
-d STATIC_BUILD=$(STATIC_BUILD) \
$<