summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2013-01-16 08:52:59 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2013-01-16 08:52:59 (GMT)
commit2f176f6d8c9cf73aa834e6204cffd10e209c283b (patch)
treed1af02745df25b2849bf6ed938afa30e63b3f97c
parent193ad73d549eeb177bd467a9d894e21ff53845e9 (diff)
downloadtcl-2f176f6d8c9cf73aa834e6204cffd10e209c283b.zip
tcl-2f176f6d8c9cf73aa834e6204cffd10e209c283b.tar.gz
tcl-2f176f6d8c9cf73aa834e6204cffd10e209c283b.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--generic/tcl.h11
-rw-r--r--generic/tclBasic.c2
-rw-r--r--generic/tclDecls.h12
-rw-r--r--win/Makefile.in7
4 files changed, 18 insertions, 14 deletions
diff --git a/generic/tcl.h b/generic/tcl.h
index 9dd6ff0..5f47734 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -2278,17 +2278,6 @@ typedef unsigned short Tcl_UniChar;
/*
- * Deprecated Tcl procedures:
- */
-#ifndef TCL_NO_DEPRECATED
-# define Tcl_EvalObj(interp,objPtr) \
- Tcl_EvalObjEx((interp),(objPtr),0)
-# define Tcl_GlobalEvalObj(interp,objPtr) \
- Tcl_EvalObjEx((interp),(objPtr),TCL_EVAL_GLOBAL)
-#endif
-
-
-/*
* 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 bd4ad5d..134deac 100644
--- a/generic/tclBasic.c
+++ b/generic/tclBasic.c
@@ -4923,7 +4923,6 @@ Tcl_Eval(interp, string)
*----------------------------------------------------------------------
*/
-#undef Tcl_EvalObj
int
Tcl_EvalObj(interp, objPtr)
Tcl_Interp * interp;
@@ -4932,7 +4931,6 @@ Tcl_EvalObj(interp, objPtr)
return Tcl_EvalObjEx(interp, objPtr, 0);
}
-#undef Tcl_GlobalEvalObj
int
Tcl_GlobalEvalObj(interp, objPtr)
Tcl_Interp * interp;
diff --git a/generic/tclDecls.h b/generic/tclDecls.h
index 7df9897..8d9f635 100644
--- a/generic/tclDecls.h
+++ b/generic/tclDecls.h
@@ -4516,5 +4516,17 @@ extern TclStubs *tclStubsPtr;
#undef TclUnusedStubEntry
+/*
+ * 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 af4ca68..b9ae5ad 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -129,6 +129,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
@@ -184,7 +189,7 @@ COPY = cp
CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${TCL_SHLIB_CFLAGS} \
-I"${GENERIC_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@