From 39c08d3ba4eaad235dd50559a14a970acb1d75d8 Mon Sep 17 00:00:00 2001 From: davygrvy Date: Thu, 21 Feb 2002 22:00:58 +0000 Subject: * 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. --- win/coffbase.txt | 15 +++++++++++++++ win/makefile.bc | 6 ++++-- win/makefile.vc | 33 ++++++++++++++++++++------------- win/mkd.bat | 13 ------------- 4 files changed, 39 insertions(+), 28 deletions(-) create mode 100644 win/coffbase.txt delete mode 100644 win/mkd.bat 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 - - -- cgit v0.12