summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2008-05-31 19:56:03 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2008-05-31 19:56:03 (GMT)
commitd4816fa0c5eb1cea8d0e924c3187887e2c96cd11 (patch)
treef7c861333e5590715bf0058fbc67e0c41958fd09
parent5b6e0993e188fd16bbb2ec7f54b8b0c7be873629 (diff)
downloadtcl-d4816fa0c5eb1cea8d0e924c3187887e2c96cd11.zip
tcl-d4816fa0c5eb1cea8d0e924c3187887e2c96cd11.tar.gz
tcl-d4816fa0c5eb1cea8d0e924c3187887e2c96cd11.tar.bz2
Make things build (cleanly) on Win32. Thanks to Joe Mistachkin. [Patch 1980861]
-rw-r--r--ChangeLog4
-rw-r--r--generic/tclBasic.c3
-rw-r--r--generic/tclOOInt.h8
-rw-r--r--win/Makefile.in15
-rw-r--r--win/makefile.bc13
-rw-r--r--win/makefile.vc15
6 files changed, 45 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 1255ad6..0b12e37 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,10 @@
TIP#257 IMPLEMENTATION
+ * generic/tclBasic.c, generic/tclOOInt.h: Correct declarations.
+ * win/Makefile.in, win/makefile.bc, win/makefile.vc: Build support
+ for Win32, from Joe Mistachkin. [Patch 1980861]
+
* generic/tclOO*, doc/*, tests/oo.test: Port of implementation of
TclOO to sit directly inside Tcl. Note that this is incomplete (e.g.
no build support yet for Windows).
diff --git a/generic/tclBasic.c b/generic/tclBasic.c
index 0a45567..57fefe2 100644
--- a/generic/tclBasic.c
+++ b/generic/tclBasic.c
@@ -14,10 +14,11 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclBasic.c,v 1.299 2008/05/31 11:42:13 dkf Exp $
+ * RCS: @(#) $Id: tclBasic.c,v 1.300 2008/05/31 19:56:06 dkf Exp $
*/
#include "tclInt.h"
+#include "tclOOInt.h"
#include "tclCompile.h"
#include <float.h>
#include <limits.h>
diff --git a/generic/tclOOInt.h b/generic/tclOOInt.h
index 7c0b6a7..580ea13 100644
--- a/generic/tclOOInt.h
+++ b/generic/tclOOInt.h
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclOOInt.h,v 1.1 2008/05/31 11:42:18 dkf Exp $
+ * RCS: @(#) $Id: tclOOInt.h,v 1.2 2008/05/31 19:56:07 dkf Exp $
*/
#include <tclInt.h>
@@ -493,9 +493,9 @@ MODULE_SCOPE int TclOOGetSortedMethodList(Object *oPtr, int flags,
const char ***stringsPtr);
MODULE_SCOPE int TclOOInit(Tcl_Interp *interp);
MODULE_SCOPE void TclOOInitInfo(Tcl_Interp *interp);
-MODULE_SCOPE int TclOOInvokeContext(Tcl_Interp *interp,
- CallContext *contextPtr, int objc,
- Tcl_Obj *const *objv);
+MODULE_SCOPE int TclOOInvokeContext(Tcl_Interp *const interp,
+ CallContext *const contextPtr, int const objc,
+ Tcl_Obj *const *const objv);
MODULE_SCOPE void TclOONewBasicMethod(Tcl_Interp *interp, Class *clsPtr,
const DeclaredClassMethod *dcm);
MODULE_SCOPE Tcl_Obj * TclOOObjectName(Tcl_Interp *interp, Object *oPtr);
diff --git a/win/Makefile.in b/win/Makefile.in
index c3e1e19..85965de 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -4,7 +4,7 @@
# "./configure", which is a configuration script generated by the "autoconf"
# program (constructs like "@foo@" will get replaced in the actual Makefile.
#
-# RCS: @(#) $Id: Makefile.in,v 1.129 2008/05/26 10:04:53 dkf Exp $
+# RCS: @(#) $Id: Makefile.in,v 1.130 2008/05/31 19:56:07 dkf Exp $
VERSION = @TCL_VERSION@
@@ -250,6 +250,13 @@ GENERIC_OBJS = \
tclMain.$(OBJEXT) \
tclNamesp.$(OBJEXT) \
tclNotify.$(OBJEXT) \
+ tclOO.$(OBJEXT) \
+ tclOOBasic.$(OBJEXT) \
+ tclOOCall.$(OBJEXT) \
+ tclOODefineCmds.$(OBJEXT) \
+ tclOOInfo.$(OBJEXT) \
+ tclOOMethod.$(OBJEXT) \
+ tclOOStubInit.$(OBJEXT) \
tclObj.$(OBJEXT) \
tclPanic.$(OBJEXT) \
tclParse.$(OBJEXT) \
@@ -364,7 +371,9 @@ DDE_OBJS = tclWinDde.$(OBJEXT)
REG_OBJS = tclWinReg.$(OBJEXT)
-STUB_OBJS = tclStubLib.$(OBJEXT)
+STUB_OBJS = \
+ tclStubLib.$(OBJEXT) \
+ tclOOStubLib.$(OBJEXT)
TCLSH_OBJS = tclAppInit.$(OBJEXT)
@@ -508,7 +517,7 @@ tclStubLib.${OBJEXT}: tclStubLib.c
# Implicit rule for all object files that will end up in the Tcl library
.c.${OBJEXT}:
- $(CC) -c $(CC_SWITCHES) -DBUILD_tcl @DEPARG@ $(CC_OBJNAME)
+ $(CC) -c $(CC_SWITCHES) -DBUILD_tcl -DBUILD_tcloo @DEPARG@ $(CC_OBJNAME)
.rc.$(RES):
$(RC) @RC_OUT@ $@ @RC_TYPE@ @RC_DEFINES@ @RC_INCLUDE@ "$(GENERIC_DIR_NATIVE)" @RC_INCLUDE@ "$(WIN_DIR_NATIVE)" @DEPARG@
diff --git a/win/makefile.bc b/win/makefile.bc
index 59a0232..2989b67 100644
--- a/win/makefile.bc
+++ b/win/makefile.bc
@@ -230,6 +230,13 @@ TCLOBJS = \
$(TMPDIR)\tclMain.obj \
$(TMPDIR)\tclNamesp.obj \
$(TMPDIR)\tclNotify.obj \
+ $(TMPDIR)\tclOO.obj \
+ $(TMPDIR)\tclOOBasic.obj \
+ $(TMPDIR)\tclOOCall.obj \
+ $(TMPDIR)\tclOODefineCmds.obj \
+ $(TMPDIR)\tclOOInfo.obj \
+ $(TMPDIR)\tclOOMethod.obj \
+ $(TMPDIR)\tclOOStubInit.obj \
$(TMPDIR)\tclObj.obj \
$(TMPDIR)\tclPanic.obj \
$(TMPDIR)\tclParse.obj \
@@ -267,7 +274,9 @@ TCLOBJS = \
$(TMPDIR)\tclWinThrd.obj \
$(TMPDIR)\tclWinTime.obj
-TCLSTUBOBJS = $(TMPDIR)\tclStubLib.obj
+TCLSTUBOBJS = \
+ $(TMPDIR)\tclStubLib.obj \
+ $(TMPDIR)\tclOOStubLib.obj
WINDIR = $(ROOT)\win
GENERICDIR = $(ROOT)\generic
@@ -550,7 +559,7 @@ $(GENERICDIR)\regguts.h: $(GENERICDIR)\regcustom.h
$(cc32) -DBUILD_tcl $(TCL_CFLAGS) -o$@ $<
{$(GENERICDIR)}.c{$(TMPDIR)}.obj:
- $(cc32) -DBUILD_tcl $(TCL_CFLAGS) -o$@ $<
+ $(cc32) -DBUILD_tcl -DBUILD_tcloo $(TCL_CFLAGS) -o$@ $<
{$(ROOT)\compat}.c{$(TMPDIR)}.obj:
$(cc32) -DBUILD_tcl $(TCL_CFLAGS) -o$@ $<
diff --git a/win/makefile.vc b/win/makefile.vc
index b6fd03f..f09356c 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -13,7 +13,7 @@
# Copyright (c) 2003-2008 Pat Thoyts.
#
#------------------------------------------------------------------------------
-# RCS: @(#) $Id: makefile.vc,v 1.180 2008/05/26 10:02:00 dkf Exp $
+# RCS: @(#) $Id: makefile.vc,v 1.181 2008/05/31 19:56:07 dkf Exp $
#------------------------------------------------------------------------------
# Check to see we are configured to build with MSVC (MSDEVDIR or MSVCDIR)
@@ -286,6 +286,13 @@ TCLOBJS = \
$(TMP_DIR)\tclMain.obj \
$(TMP_DIR)\tclNamesp.obj \
$(TMP_DIR)\tclNotify.obj \
+ $(TMP_DIR)\tclOO.obj \
+ $(TMP_DIR)\tclOOBasic.obj \
+ $(TMP_DIR)\tclOOCall.obj \
+ $(TMP_DIR)\tclOODefineCmds.obj \
+ $(TMP_DIR)\tclOOInfo.obj \
+ $(TMP_DIR)\tclOOMethod.obj \
+ $(TMP_DIR)\tclOOStubInit.obj \
$(TMP_DIR)\tclObj.obj \
$(TMP_DIR)\tclPanic.obj \
$(TMP_DIR)\tclParse.obj \
@@ -392,7 +399,9 @@ TCLOBJS = \
$(TMP_DIR)\tcl.res
!endif
-TCLSTUBOBJS = $(TMP_DIR)\tclStubLib.obj
+TCLSTUBOBJS = \
+ $(TMP_DIR)\tclStubLib.obj \
+ $(TMP_DIR)\tclOOStubLib.obj
### The following paths CANNOT have spaces in them.
COMPATDIR = $(ROOT)\compat
@@ -867,7 +876,7 @@ $<
<<
{$(GENERICDIR)}.c{$(TMP_DIR)}.obj::
- $(cc32) $(TCL_CFLAGS) -DBUILD_tcl -Fo$(TMP_DIR)\ @<<
+ $(cc32) $(TCL_CFLAGS) -DBUILD_tcl -DBUILD_tcloo -Fo$(TMP_DIR)\ @<<
$<
<<