summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authordavygrvy <davygrvy@pobox.com>2002-02-21 22:00:58 (GMT)
committerdavygrvy <davygrvy@pobox.com>2002-02-21 22:00:58 (GMT)
commit39c08d3ba4eaad235dd50559a14a970acb1d75d8 (patch)
tree253a5528d55b9c8695a53b7e875889e8fae501e6 /win
parente2574e2bfd57fbf6ec30cb0bcaf1c3c8797802f2 (diff)
downloadtcl-39c08d3ba4eaad235dd50559a14a970acb1d75d8.zip
tcl-39c08d3ba4eaad235dd50559a14a970acb1d75d8.tar.gz
tcl-39c08d3ba4eaad235dd50559a14a970acb1d75d8.tar.bz2
* win/mkd.bat (removed):
* win/coffbase.txt (new): * win/makefile.bc: * win/makefile.vc: Changed the 'setup' target to stop using the mkd.bat file and just make the directory right in the rule. Same change to makefile.bc. configure.in nor Makefile.in use it. coffbase.txt will be the master list for our "prefered base addresses" set by the linker. This should improve load-time (NT only) by avoiding relocations. Submissions to the list by extension authors are encouraged. Added a 'tidy' target to compliment 'clean' and 'hose' to remove just the outputs. Also removed the $(winlibs) macro as it wasn't being used. Stuff left to do: 1) get the winhelp target to stop building in the tools/ directory. 2) stop using rmd.bat 3) add more dependacy rules.
Diffstat (limited to 'win')
-rw-r--r--win/coffbase.txt15
-rw-r--r--win/makefile.bc6
-rw-r--r--win/makefile.vc33
-rw-r--r--win/mkd.bat13
4 files changed, 39 insertions, 28 deletions
diff --git a/win/coffbase.txt b/win/coffbase.txt
new file mode 100644
index 0000000..7cb3817
--- /dev/null
+++ b/win/coffbase.txt
@@ -0,0 +1,15 @@
+;
+; This file defines the base virtual addresses for Dynamic Link Libraries (DLL)
+; that are part of the Tcl System. The first token on a line is the name
+; of the DLL and the second token is the base virtual address, in hexidecimal.
+; The third token is the maximum size of the DLL image file, including symbols.
+;
+; Using a specified "prefered load addresses" should speed load-time by avoiding
+; relocations. It is assumed extension author will contribute their modules
+; to this grand-master one.
+;
+; RCS: @(#) $Id: coffbase.txt,v 1.1 2002/02/21 22:00:58 davygrvy Exp $
+
+tcl 0x10000000 0x00200000
+tcldde 0x10200000 0x00010000
+tclreg 0x10210000 0x00010000
diff --git a/win/makefile.bc b/win/makefile.bc
index ff1093b..2a3eb21 100644
--- a/win/makefile.bc
+++ b/win/makefile.bc
@@ -321,8 +321,10 @@ test: setup $(TCLTEST) dlls $(CAT32)
$(TCLTEST) $(ROOT)/tests/all.tcl
setup:
- @$(MKDIR) $(TMPDIR)
- @$(MKDIR) $(OUTDIR)
+ @if not exist $(OUT_DIR)\nul mkdir $(OUT_DIR) &\
+ echo *** Created directory '$(OUT_DIR)'
+ @if not exist $(TMP_DIR)\nul mkdir $(TMP_DIR) &\
+ echo *** Created directory '$(TMP_DIR)'
$(TCLLIB): $(TCLDLL)
diff --git a/win/makefile.vc b/win/makefile.vc
index d18b28d..ed5bd31 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -12,7 +12,7 @@
# Copyright (c) 2001 Tomasoft Engineering.
#
#------------------------------------------------------------------------------
-# RCS: @(#) $Id: makefile.vc,v 1.82 2002/02/21 18:37:27 davygrvy Exp $
+# RCS: @(#) $Id: makefile.vc,v 1.83 2002/02/21 22:00:58 davygrvy Exp $
#------------------------------------------------------------------------------
!if "$(MSVCDIR)" == ""
@@ -27,7 +27,7 @@ the environment. Jump to this line to read the new instructions.
#
# 1) It is now necessary to have MSVCDir set in the environment. This is used
# as a check to see if vcvars32.bat had been run prior to running nmake or
-# during the install of Microsoft Developer Studio, MSVCDir had been set
+# during the installation of Microsoft Visual C++, MSVCDir had been set
# globally and the PATH adjusted. Either way is valid.
#
# You'll need to run vcvars32.bat contained in the MsDev's vc(98)/bin
@@ -78,8 +78,8 @@ the environment. Jump to this line to read the new instructions.
# threads = Turns on full multithreading support.
# symbols = Adds symbols for step debugging.
# 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 performance.
+# loimpact = Adds a flag for how NT treats the heap to keep memory
+# in use, low. This is said to impact alloc performance.
#
# STATS=memdbg,compdbg,none
# Sets optional memory and bytecode compiler debugging code added
@@ -189,7 +189,6 @@ TCLHLPCNT = $(OUT_DIR)\$(TCLHLPBASE).cnt
TCLTEST = $(OUT_DIR)\$(PROJECT)test.exe
CAT32 = $(OUT_DIR)\cat32.exe
RMDIR = .\rmd.bat
-MKDIR = .\mkd.bat
RM = del
LIB_INSTALL_DIR = $(INSTALLDIR)\lib
@@ -371,7 +370,7 @@ lflags = $(lflags) -profile
# align sections for PE size savings.
lflags = $(lflags) -opt:nowin98
!else if !$(ALIGN98_HACK) && $(STATIC_BUILD)
-# align sections for speed in loading by choosing the page size.
+# align sections for speed in loading by choosing the virtual page size.
lflags = $(lflags) -align:4096
!endif
@@ -419,8 +418,10 @@ test: setup $(TCLTEST) dlls $(CAT32)
!endif
setup:
- @$(MKDIR) $(TMP_DIR)
- @$(MKDIR) $(OUT_DIR)
+ @if not exist $(OUT_DIR)\nul mkdir $(OUT_DIR) &\
+ echo *** Created directory '$(OUT_DIR)'
+ @if not exist $(TMP_DIR)\nul mkdir $(TMP_DIR) &\
+ echo *** Created directory '$(TMP_DIR)'
!if !$(STATIC_BUILD)
$(TCLIMPLIB): $(TCLLIB)
@@ -432,7 +433,7 @@ $(TCLLIB): $(TCLOBJS)
$**
<<
!else
- $(link32) $(dlllflags) -out:$@ $(baselibs) @<<
+ $(link32) $(dlllflags) -base:@$(WINDIR)\coffbase.txt,tcl -out:$@ $(baselibs) @<<
$**
<<
-@del $*.exp
@@ -456,8 +457,7 @@ $**
$(TCLPIPEDLL): $(WINDIR)\stub16.c
$(cc32) $(CON_CFLAGS) -Fo$(TMP_DIR)\ $(WINDIR)\stub16.c
- $(link32) $(conlflags) -out:$@ $(TMP_DIR)\stub16.obj \
- $(baselibs)
+ $(link32) $(conlflags) -out:$@ $(TMP_DIR)\stub16.obj $(baselibs)
!if $(STATIC_BUILD)
@@ -465,7 +465,7 @@ $(TCLDDEDLL): $(TMP_DIR)\tclWinDde.obj
$(lib32) -nologo -out:$@ $(TMP_DIR)\tclWinDde.obj
!else
$(TCLDDEDLL): $(TMP_DIR)\tclWinDde.obj $(TCLSTUBLIB)
- $(link32) $(dlllflags) -out:$@ $** $(baselibs)
+ $(link32) $(dlllflags) -base:@$(WINDIR)\coffbase.txt,tcldde -out:$@ $** $(baselibs)
-@del $*.exp
-@del $*.lib
!endif
@@ -476,7 +476,7 @@ $(TCLREGDLL): $(TMP_DIR)\tclWinReg.obj
$(lib32) -nologo -out:$@ $(TMP_DIR)\tclWinReg.obj
!else
$(TCLREGDLL): $(TMP_DIR)\tclWinReg.obj $(TCLSTUBLIB)
- $(link32) $(dlllflags) -out:$@ $** $(baselibs)
+ $(link32) $(dlllflags) -base:@$(WINDIR)\coffbase.txt,tclreg -out:$@ $** $(baselibs)
-@del $*.exp
-@del $*.lib
!endif
@@ -709,6 +709,13 @@ $<
# Clean up
#---------------------------------------------------------------------
+tidy:
+ -del $(TCLLIB)
+ -del $(TCLSH)
+ -del $(TCLTEST)
+ -del $(TCLDDEDLL)
+ -del $(TCLREGDLL)
+
clean:
-@$(RMDIR) $(TMP_DIR)
diff --git a/win/mkd.bat b/win/mkd.bat
deleted file mode 100644
index 70edd40..0000000
--- a/win/mkd.bat
+++ /dev/null
@@ -1,13 +0,0 @@
-@echo off
-rem RCS: @(#) $Id: mkd.bat,v 1.8 2001/11/10 10:38:47 davygrvy Exp $
-
-if exist %1\nul goto end
-
-md %1
-if errorlevel 1 goto end
-
-echo Created directory %1
-
-:end
-
-