summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2013-01-16 09:17:25 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2013-01-16 09:17:25 (GMT)
commit3db744b60506ba65731f996d7e3dc5224d232bc9 (patch)
tree274545e9246a2a642e1ceca8183e2f171205c59c
parent2a95f6b4192876906ced706fcdf40926f6a7eab7 (diff)
parent096fcb63ad03e22727db52eba9d7926194f673ae (diff)
downloadtcl-3db744b60506ba65731f996d7e3dc5224d232bc9.zip
tcl-3db744b60506ba65731f996d7e3dc5224d232bc9.tar.gz
tcl-3db744b60506ba65731f996d7e3dc5224d232bc9.tar.bz2
Allow win32 build with -DTCL_NO_DEPRECATED, just as the UNIX build, off by default.
Define Tcl_EvalObj and Tcl_GlobalEvalObj as macros, even when TCL_NO_DEPRECATED is defined, so Tk can benefit from it too (this is not what TCL_NO_DEPRECATED is supposed to do).
-rw-r--r--ChangeLog8
-rw-r--r--generic/tcl.h11
-rw-r--r--generic/tclBasic.c2
-rw-r--r--generic/tclDecls.h12
-rw-r--r--win/Makefile.in7
5 files changed, 26 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 96e1078..09c88db 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2013-01-16 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * Makefile.in: Enable win32 build with -DTCL_NO_DEPRECATED, just
+ * generic/tcl.h: as the UNIX build. Define Tcl_EvalObj and
+ * generic/tclDecls.h: Tcl_GlobalEvalObj as macros, even when
+ * generic/tclBasic.c: TCL_NO_DEPRECATED is defined, so Tk
+ can benefit from it too.
+
2013-01-15 Jan Nijtmans <nijtmans@users.sf.net>
* generic/tclPort.h: [Bug 3598300]: unix: tcl.h does not include
diff --git a/generic/tcl.h b/generic/tcl.h
index 145124c..33730d4 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -2407,17 +2407,6 @@ EXTERN void Tcl_GetMemoryInfo _ANSI_ARGS_((Tcl_DString *dsPtr));
#ifndef TCL_NO_DEPRECATED
/*
- * Deprecated Tcl functions:
- */
-
-# undef Tcl_EvalObj
-# define Tcl_EvalObj(interp,objPtr) \
- Tcl_EvalObjEx((interp),(objPtr),0)
-# undef Tcl_GlobalEvalObj
-# define Tcl_GlobalEvalObj(interp,objPtr) \
- Tcl_EvalObjEx((interp),(objPtr),TCL_EVAL_GLOBAL)
-
- /*
* These function have been renamed. The old names are deprecated, but we
* define these macros for backwards compatibilty.
*/
diff --git a/generic/tclBasic.c b/generic/tclBasic.c
index cfb5c43..5779ca5 100644
--- a/generic/tclBasic.c
+++ b/generic/tclBasic.c
@@ -4990,7 +4990,6 @@ Tcl_Eval(
*----------------------------------------------------------------------
*/
-#undef Tcl_EvalObj
int
Tcl_EvalObj(
Tcl_Interp *interp,
@@ -4999,7 +4998,6 @@ Tcl_EvalObj(
return Tcl_EvalObjEx(interp, objPtr, 0);
}
-#undef Tcl_GlobalEvalObj
int
Tcl_GlobalEvalObj(
Tcl_Interp *interp,
diff --git a/generic/tclDecls.h b/generic/tclDecls.h
index 8cb939c..20ec35d 100644
--- a/generic/tclDecls.h
+++ b/generic/tclDecls.h
@@ -6547,5 +6547,17 @@ extern TclStubs *tclStubsPtr;
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT
+/*
+ * Deprecated Tcl procedures:
+ */
+#if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS)
+# undef Tcl_EvalObj
+# define Tcl_EvalObj(interp,objPtr) \
+ Tcl_EvalObjEx((interp),(objPtr),0)
+# undef Tcl_GlobalEvalObj
+# define Tcl_GlobalEvalObj(interp,objPtr) \
+ Tcl_EvalObjEx((interp),(objPtr),TCL_EVAL_GLOBAL)
+#endif
+
#endif /* _TCLDECLS */
diff --git a/win/Makefile.in b/win/Makefile.in
index 23f5a2b..ff3a511 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -138,6 +138,11 @@ SHARED_LIBRARIES = $(TCL_DLL_FILE) $(TCL_STUB_LIB_FILE) \
$(DDE_DLL_FILE) $(REG_DLL_FILE) $(PIPE_DLL_FILE)
STATIC_LIBRARIES = $(TCL_LIB_FILE) $(REG_LIB_FILE) $(DDE_LIB_FILE)
+# To compile without backward compatibility and deprecated code
+# uncomment the following
+NO_DEPRECATED_FLAGS =
+#NO_DEPRECATED_FLAGS = -DTCL_NO_DEPRECATED
+
# TCL_EXE is the name of a tclsh executable that is available *BEFORE* running
# make for the first time. Certain build targets (make genstubs) need it to be
# available on the PATH. This executable should *NOT* be required just to do a
@@ -186,7 +191,7 @@ COPY = cp
CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${TCL_SHLIB_CFLAGS} \
-I"${GENERIC_DIR_NATIVE}" -DTCL_TOMMATH -DMP_PREC=4 -I"${TOMMATH_DIR_NATIVE}" \
-I"${WIN_DIR_NATIVE}" ${AC_FLAGS} \
-${COMPILE_DEBUG_FLAGS}
+${COMPILE_DEBUG_FLAGS} ${NO_DEPRECATED_FLAGS}
CC_OBJNAME = @CC_OBJNAME@
CC_EXENAME = @CC_EXENAME@