summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--win/makefile.vc32
-rw-r--r--win/rc/tk.rc4
-rw-r--r--win/rc/wish.rc4
-rw-r--r--win/rules.vc24
4 files changed, 45 insertions, 19 deletions
diff --git a/win/makefile.vc b/win/makefile.vc
index 56e5d65..77fa068 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.81 2004/02/01 10:41:18 davygrvy Exp $
+# RCS: @(#) $Id: makefile.vc,v 1.82 2004/02/08 01:38:03 davygrvy Exp $
#------------------------------------------------------------------------------
!if "$(MSVCDIR)" == ""
@@ -69,7 +69,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,linkexten,threads,symbols,profile,none
+# OPTS=static,msvcrt,linkexten,threads,symbols,profile,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.
@@ -88,6 +88,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
@@ -364,16 +367,20 @@ TK_DEFINES = $(OPTDEFINES)
# Compile flags
#---------------------------------------------------------------------
-!if $(DEBUG)
-!if "$(MACHINE)" == "IA64"
-cdebug = -Od -Zi
+!if !$(DEBUG)
+!if $(OPTIMIZING)
+### This cranks the optimization level up. We can't use -02 because
+### sometimes it causes problems.
+cdebug = -Oti
!else
-cdebug = -Z7 -Od -WX -GZ
+cdebug =
!endif
+!else if "$(MACHINE)" == "IA64"
+### Warnings are too many, can't support warnings into errors for
+### an IA64 build.
+cdebug = -Z7 -Od -GZ
!else
-# This cranks the optimization level up. We can't use -02 because sometimes
-# it causes problems.
-cdebug = -Oti
+cdebug = -Z7 -WX -Od -GZ
!endif
# declarations common to all compiler options
@@ -394,13 +401,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
@@ -776,7 +783,8 @@ $<
{$(RCDIR)}.rc{$(TMP_DIR)}.res:
$(rc32) -fo $@ -r -i "$(GENERICDIR)" $(TCL_INCLUDES) \
- -d DEBUG=$(DEBUG) -d TCL_THREADS=$(TCL_THREADS) \
+ -d DEBUG=$(DEBUG) -d UNCHECKED=$(UNCHECKED) \
+ -d TCL_THREADS=$(TCL_THREADS) \
-d STATIC_BUILD=$(STATIC_BUILD) \
$<
diff --git a/win/rc/tk.rc b/win/rc/tk.rc
index b83c59a..d90509a 100644
--- a/win/rc/tk.rc
+++ b/win/rc/tk.rc
@@ -1,4 +1,4 @@
-// RCS: @(#) $Id: tk.rc,v 1.11 2004/02/01 10:42:32 davygrvy Exp $
+// RCS: @(#) $Id: tk.rc,v 1.12 2004/02/08 01:38:03 davygrvy Exp $
//
// Version Resource Script
//
@@ -15,7 +15,7 @@
#define SUFFIX_THREADS ""
#endif
-#if DEBUG
+#if DEBUG && !UNCHECKED
#define SUFFIX_DEBUG "g"
#else
#define SUFFIX_DEBUG ""
diff --git a/win/rc/wish.rc b/win/rc/wish.rc
index 30498e2..d22ac8c 100644
--- a/win/rc/wish.rc
+++ b/win/rc/wish.rc
@@ -1,4 +1,4 @@
-// RCS: @(#) $Id: wish.rc,v 1.10 2004/02/01 10:42:32 davygrvy Exp $
+// RCS: @(#) $Id: wish.rc,v 1.11 2004/02/08 01:38:03 davygrvy Exp $
//
// Version Resource Script
//
@@ -21,7 +21,7 @@
#define SUFFIX_STATIC ""
#endif
-#if DEBUG
+#if DEBUG && !UNCHECKED
#define SUFFIX_DEBUG "g"
#else
#define SUFFIX_DEBUG ""
diff --git a/win/rules.vc b/win/rules.vc
index 03af7cc..dff158c 100644
--- a/win/rules.vc
+++ b/win/rules.vc
@@ -10,7 +10,7 @@
# Copyright (c) 2001-2003 David Gravereaux.
#
#------------------------------------------------------------------------------
-# RCS: @(#) $Id: rules.vc,v 1.10 2004/02/01 10:40:07 davygrvy Exp $
+# RCS: @(#) $Id: rules.vc,v 1.11 2004/02/08 01:38:03 davygrvy Exp $
#------------------------------------------------------------------------------
!ifndef _RULES_VC
@@ -129,6 +129,7 @@ MSVCRT = 0
LOIMPACT = 0
TCL_USE_STATIC_PACKAGES = 0
USE_THREAD_ALLOC = 0
+UNCHECKED = 0
!else
!if [nmakehlp -f $(OPTS) "static"]
!message *** Doing static
@@ -178,6 +179,12 @@ USE_THREAD_ALLOC = 1
!else
USE_THREAD_ALLOC = 0
!endif
+!if [nmakehlp -f $(OPTS) "unchecked"]
+!message *** Doing unchecked
+UNCHECKED = 1
+!else
+UNCHECKED = 0
+!endif
!endif
@@ -195,14 +202,25 @@ TCL_USE_STATIC_PACKAGES = 0
# by accident.
#----------------------------------------------------------
+#----------------------------------------
+# Naming convention:
+# t = full thread support.
+# s = static library (as opposed to an
+# import library)
+# g = linked to the debug enabled C
+# run-time.
+# x = special static build when it
+# links to the dynamic C run-time.
+#----------------------------------------
SUFX = tsgx
!if $(DEBUG)
BUILDDIRTOP = Debug
-DBGX = g
!else
BUILDDIRTOP = Release
-DBGX =
+!endif
+
+!if !$(DEBUG) || $(DEBUG) && $(UNCHECKED)
SUFX = $(SUFX:g=)
!endif