summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordavygrvy <davygrvy@pobox.com>2001-11-15 00:19:40 (GMT)
committerdavygrvy <davygrvy@pobox.com>2001-11-15 00:19:40 (GMT)
commit8ffab5be65201e8b32d550fa8f49b0387e2571cd (patch)
treeb7174dff3f6bfc558a9dd5a6b4f52d8cd980de8c
parent49fe76ced5db356a7f65c413e66fbf669b912370 (diff)
downloadtcl-8ffab5be65201e8b32d550fa8f49b0387e2571cd.zip
tcl-8ffab5be65201e8b32d550fa8f49b0387e2571cd.tar.gz
tcl-8ffab5be65201e8b32d550fa8f49b0387e2571cd.tar.bz2
* 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.
-rw-r--r--win/README19
-rw-r--r--win/makefile.vc50
-rw-r--r--win/rules.vc10
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