From 8ffab5be65201e8b32d550fa8f49b0387e2571cd Mon Sep 17 00:00:00 2001 From: davygrvy Date: Thu, 15 Nov 2001 00:19:40 +0000 Subject: * win/makefile.vc: * win/rules.vc: Small bug fixes. * win/README: added some docs pointing to the docs in makefile.vc for it's use. --- win/README | 19 ++++++++++++------- win/makefile.vc | 50 ++++++++++++++++++++++++++------------------------ win/rules.vc | 10 +++++----- 3 files changed, 43 insertions(+), 36 deletions(-) diff --git a/win/README b/win/README index 0d4a026..e4013f6 100644 --- a/win/README +++ b/win/README @@ -1,6 +1,6 @@ Tcl 8.4 for Windows -RCS: @(#) $Id: README,v 1.23 2001/11/07 23:37:52 mdejong Exp $ +RCS: @(#) $Id: README,v 1.24 2001/11/15 00:19:41 davygrvy Exp $ 1. Introduction --------------- @@ -38,13 +38,18 @@ In order to compile Tcl for Windows, you need the following items: place /usr/local/mingw/bin at the front of your PATH env var. -In practice, this release is built with Visual C++ 6.0 +In practice, this release is built with Visual C++ 6.0 and the TEA +Makefile. -In the "win" subdirectory of the source release, you will find -"makefile.vc". This is the makefile Visual C++ compiler. You should -update the paths at the top of the file to reflect your system -configuration. Now you can use "make" (or "nmake" for VC++) to build -the tcl libraries and the tclsh executable. +If you are building with Visual C++, in the "win" subdirectory of the +source release, you will find "makefile.vc". This is the makefile for +the Visual C++ compiler and uses the stock NMAKE tool. Detailed +directions for using it, are in the comments of "makefile.vc". A quick +example would be: + C:\tcl_source\win\>nmake -f makefile.vc + +There is also a Developer Studio workspace and project file, too, if you +would like to use them. If you are building with Cygwin, you can use the configure script that lives in the win subdirectory. The Cygwin based configure/build diff --git a/win/makefile.vc b/win/makefile.vc index 709314e..c699b57 100644 --- a/win/makefile.vc +++ b/win/makefile.vc @@ -12,7 +12,7 @@ # Copyright (c) 2001 Tomasoft Engineering. # #------------------------------------------------------------------------------ -# RCS: @(#) $Id: makefile.vc,v 1.73 2001/11/13 04:30:51 davygrvy Exp $ +# RCS: @(#) $Id: makefile.vc,v 1.74 2001/11/15 00:19:40 davygrvy Exp $ #------------------------------------------------------------------------------ !if "$(MSVCDIR)" == "" @@ -61,7 +61,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,threads,symbols,profile,none +# OPTS=static,msvcrt,linkexten,threads,symbols,profile,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. @@ -122,19 +122,6 @@ the environment. Jump to this line to read the new instructions. # Targeting Windows pre64 RETAIL # c:\tcl_src\win\>nmake -f makefile.vc MACHINE=IA64 # -# I've found the following batchfile useful for building everything: -# -# if "%MSVCDir%" == "" call c:\progra~1\micros~1\vc98\bin\vcvars32.bat -# set INSTALLDIR=C:\tclTestArea -# nmake -nologo -f makefile.vc release winhelp -# nmake -nologo -f makefile.vc release OPTS=static,linkexten -# nmake -nologo -f makefile.vc core dlls OPTS=static,msvcrt -# nmake -nologo -f makefile.vc core OPTS=static,threads -# nmake -nologo -f makefile.vc core OPTS=static,msvcrt,threads -# nmake -nologo -f makefile.vc shell OPTS=threads -# pause -# -# #------------------------------------------------------------------------------ #============================================================================== ############################################################################### @@ -182,7 +169,8 @@ TCLLIB = $(OUT_DIR)\$(TCLLIBNAME) TCLSTUBLIBNAME = $(STUBPREFIX)$(VERSION).lib TCLSTUBLIB = $(OUT_DIR)\$(TCLSTUBLIBNAME) -TCLSH = $(OUT_DIR)\$(PROJECT)sh$(VERSION)$(SUFX).exe +TCLSHNAME = $(PROJECT)sh$(VERSION)$(SUFX).exe +TCLSH = $(OUT_DIR)\$(TCLSHNAME) TCLPIPEDLLNAME = $(PROJECT)pip$(VERSION).dll TCLPIPEDLL = $(OUT_DIR)\$(TCLPIPEDLLNAME) @@ -436,11 +424,15 @@ $(TCLSTUBLIB): $(TCLSTUBOBJS) $(lib32) -nologo -out:$@ $(TCLSTUBOBJS) $(TCLSH): $(TCLSHOBJS) $(TCLIMPLIB) - $(link32) $(ldebug) $(conlflags) -stack:2300000 -out:$@ $(baselibs) $** + $(link32) $(ldebug) $(conlflags) -stack:2300000 -out:$@ $(baselibs) @<< +$** +<< $(TCLTEST): $(TCLTESTOBJS) $(TCLIMPLIB) - $(link32) $(ldebug) $(conlflags) -stack:2300000 -out:$@ $(baselibs) $** + $(link32) $(ldebug) $(conlflags) -stack:2300000 -out:$@ $(baselibs) @<< +$** +<< $(TCLPIPEDLL): $(WINDIR)\stub16.c @@ -476,7 +468,7 @@ $(CAT32): $(WINDIR)\cat.c $(link32) $(conlflags) -out:$@ -stack:16384 $(TMP_DIR)\cat.obj \ $(baselibs) -install-binaries: $(TCLSH) +install-binaries: $(MKDIR) "$(BIN_INSTALL_DIR)" $(MKDIR) "$(LIB_INSTALL_DIR)" @echo installing $(TCLDLLNAME) @@ -484,15 +476,21 @@ install-binaries: $(TCLSH) @copy "$(TCLLIB)" "$(BIN_INSTALL_DIR)" !endif @copy "$(TCLIMPLIB)" "$(LIB_INSTALL_DIR)" - @echo installing "$(TCLSH)" +!if exist($(TCLSH)) + @echo installing "$(TCLSHNAME)" @copy "$(TCLSH)" "$(BIN_INSTALL_DIR)" +!endif +!if exist($(TCLPIPEDLL)) @echo installing $(TCLPIPEDLLNAME) @copy "$(TCLPIPEDLL)" "$(BIN_INSTALL_DIR)" +!endif @echo installing $(TCLSTUBLIBNAME) @copy "$(TCLSTUBLIB)" "$(LIB_INSTALL_DIR)" - @if exist $(TCLHLP) $(MKDIR) "$(DOC_INSTALL_DIR)" - @if exist $(TCLHLP) copy "$(TCLHLP)" "$(DOC_INSTALL_DIR)" - @if exist $(TCLHLPCNT) copy "$(TCLHLPCNT)" "$(DOC_INSTALL_DIR)" +!if exist($(TCLHLP)) + $(MKDIR) "$(DOC_INSTALL_DIR)" + @copy "$(TCLHLP)" "$(DOC_INSTALL_DIR)" + @copy "$(TCLHLPCNT)" "$(DOC_INSTALL_DIR)" +!endif install-libraries: -@$(MKDIR) "$(LIB_INSTALL_DIR)" @@ -609,7 +607,11 @@ $(TMP_DIR)\tclWinInit.obj: $(WINDIR)\tclWinInit.c $(cc32) -DBUILD_tcl $(TCL_CFLAGS) $(EXTFLAGS) -Fo$(TMP_DIR)\ $? $(TMP_DIR)\testMain.obj: $(WINDIR)\tclAppInit.c - $(cc32) $(TCL_CFLAGS) -DTCL_TEST -Fo$(TMP_DIR)\testMain.obj $? +!if $(TCL_LINKWITHEXTENSIONS) + $(cc32) $(TCL_CFLAGS) -DTCL_TEST -DTCL_LINKWITHEXTENSIONS -Fo$@ $? +!else + $(cc32) $(TCL_CFLAGS) -DTCL_TEST -Fo$@ $? +!endif $(TMP_DIR)\tclTest.obj: $(GENERICDIR)\tclTest.c $(cc32) $(TCL_CFLAGS) -Fo$@ $? diff --git a/win/rules.vc b/win/rules.vc index 43ccae2..6a17846 100644 --- a/win/rules.vc +++ b/win/rules.vc @@ -10,7 +10,7 @@ # Copyright (c) 2001 Tomasoft Engineering. # #------------------------------------------------------------------------------ -# RCS: @(#) $Id: rules.vc,v 1.3 2001/11/08 21:32:23 davygrvy Exp $ +# RCS: @(#) $Id: rules.vc,v 1.4 2001/11/15 00:19:41 davygrvy Exp $ #------------------------------------------------------------------------------ !ifndef _RULES_VC @@ -97,15 +97,15 @@ TCL_LINKWITHEXTENSIONS = 0 SUFX = tsdx !if $(DEBUG) -BUILDDIRTOP = .\Debug +BUILDDIRTOP = Debug DBGX = d !else -BUILDDIRTOP = .\Release +BUILDDIRTOP = Release DBGX = SUFX = $(SUFX:d=) !endif -TMP_DIRFULL = $(BUILDDIRTOP)\$(PROJECT)_ThreadedDynamicStaticX +TMP_DIRFULL = .\$(BUILDDIRTOP)\$(PROJECT)_ThreadedDynamicStaticX !if !$(STATIC_BUILD) TMP_DIRFULL = $(TMP_DIRFULL:Static=) @@ -132,7 +132,7 @@ SUFX = $(SUFX:t=) !ifndef TMP_DIR TMP_DIR = $(TMP_DIRFULL) !ifndef OUT_DIR -OUT_DIR = $(BUILDDIRTOP) +OUT_DIR = .\$(BUILDDIRTOP) !endif !else !ifndef OUT_DIR -- cgit v0.12