Compare commits

...
18 Commits
Author SHA1 Message Date
dgp 0d1dc9780c merge Itk 3 2016-02-22 16:17:07 +00:00
dgp 339acd56d0 Backport fix for [8a022f72e7]. 2016-02-22 16:16:20 +00:00
dgp 91f69d62ce Bump to Itk 3.4.2 2016-02-16 20:08:46 +00:00
dgp 74d572d124 TEA update 2016-02-11 20:49:07 +00:00
dgp ab2b92a888 The Itk_ConfigOptionPartProc "Itk_PropagatePublicVar" can only work on
a scalar variable, so screen out array variables from having an ArchOptionPart
created.
2016-02-11 20:15:49 +00:00
dgp d3b395675c Make version demand in testing to avoid worst testing errors. 2015-12-10 18:50:30 +00:00
dgp 314ab41be8 Accept more Win native build improvements from Ralf Fassel. 2015-03-19 16:44:32 +00:00
dgp eb4468f65e Recover the rules.vc from CVS toplevel 2015-03-18 13:16:34 +00:00
dgp ba0d4a9bf3 merge release 2015-03-11 17:47:06 +00:00
dgp 0dfec72677 Accommodate the changed Tcl_GetHashKey() signature. 2015-01-26 16:56:19 +00:00
dgp 7bba62b94a Bump to Itk 3.4.1 for release. TEA update to use autoconf-2.69. 2015-01-07 14:53:55 +00:00
dgp f8f8061fa1 Purge RCS keywords and .cvsignore files 2011-04-20 14:56:16 +00:00
hobbs c08668adfb * itcl/Makefile.in, itk/Makefile.in (TCL_TOP_DIR_NATIVE): no longer
necessary for private header builds
2010-08-17 21:20:26 +00:00
hobbs 6ac755e0ee * itcl/Makefile.in, itcl/configure, itcl/configure.in:
* itk/Makefile.in, itk/configure, itk/configure.in:
        * configure, configure.in: update to TEA 3.9, regen with ac-2.59
2010-08-17 01:20:49 +00:00
andreas_kupries 5aeb446da4 * itcl/generic/itcl_cmds.c: Handle TIP#336 addition of API to access
* itcl/generic/itcl_ensemble.c: interp->errorLine.
	* itcl/generic/itclInt.h:
	* itcl/generic/itcl_methods.c:
	* itcl/generic/itcl_parse.c:
2008-12-15 20:02:58 +00:00
davygrvy ad0245d1e4 Itk can now load into a safe interp 2007-11-05 22:41:32 +00:00
davygrvy 548bc49665 made the test suite work 2007-11-05 22:35:17 +00:00
davygrvy 2aa842bb62 * makefile.vc:
* itcl/win/makefile.vc:
* itk/win/makefile.vc:  'depend' target added.
2007-11-03 17:57:16 +00:00
37 changed files with 6872 additions and 7176 deletions
-3
View File
@@ -1,3 +0,0 @@
Makefile
config.log
confdefs.h
+4 -10
View File
@@ -11,8 +11,6 @@
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# RCS: @(#) $Id: Makefile.in,v 1.30 2007/07/03 20:47:56 hobbs Exp $
#========================================================================
# The names of the source files is defined in the configure script.
@@ -123,7 +121,6 @@ RANLIB = @RANLIB@
RANLIB_STUB = @RANLIB_STUB@
SHLIB_CFLAGS = @SHLIB_CFLAGS@
SHLIB_LD = @SHLIB_LD@
SHLIB_LD_FLAGS = @SHLIB_LD_FLAGS@
SHLIB_LD_LIBS = @SHLIB_LD_LIBS@
STLIB_LD = @STLIB_LD@
TCL_DEFS = @TCL_DEFS@
@@ -131,9 +128,6 @@ TCL_BIN_DIR = @TCL_BIN_DIR@
TCL_SRC_DIR = @TCL_SRC_DIR@
TK_SRC_DIR = @TK_SRC_DIR@
TK_BIN_DIR = @TK_BIN_DIR@
# This is necessary for packages that use private headers
TCL_TOP_DIR_NATIVE = @TCL_TOP_DIR_NATIVE@
TK_TOP_DIR_NATIVE = @TK_TOP_DIR_NATIVE@
# Not used, but retained for reference of what libs Tcl required
TCL_LIBS = @TCL_LIBS@
@@ -233,7 +227,7 @@ install-doc: doc
done
test: binaries libraries
$(WISH) `@CYGPATH@ $(srcdir)/tests/all.tcl` -load "package require Itk" $(TESTFLAGS) | cat
$(WISH) `@CYGPATH@ $(srcdir)/tests/all.tcl` -load "package require Itk $(PACKAGE_VERSION)" $(TESTFLAGS) | cat
shell: binaries libraries
@$(WISH) $(SCRIPT)
@@ -414,9 +408,9 @@ install-bin-binaries:
.SUFFIXES: .c .$(OBJEXT)
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
#Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
# cd $(top_builddir) \
# && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
uninstall-binaries:
list='$(lib_BINARIES)'; for p in $$list; do \
Vendored
+6304 -7045
View File
File diff suppressed because it is too large Load Diff
+3 -27
View File
@@ -18,7 +18,7 @@ AC_INIT([itk], [3.4])
# as well as PKG_LIB_FILE and PKG_STUB_LIB_FILE.
#--------------------------------------------------------------------
TEA_INIT([3.6])
TEA_INIT([3.9])
AC_PROG_LN_S
CONFIG_CLEAN_FILES=
@@ -97,28 +97,15 @@ TEA_ADD_TCL_SOURCES([library/Archetype.itk
# __CHANGE__
# A few miscellaneous platform-specific items:
#
# Define a special symbol for Windows (BUILD_itk in this case) so
# that we create the export library with the dll. See sha1.h on how
# to use this.
#
# Windows creates a few extra files that need to be cleaned up.
# You can add more files to clean if your extension creates any extra
# files.
#
# Define any extra compiler flags in the PACKAGE_CFLAGS variable.
# These will be appended to the current set of compiler flags for
# your system.
# files by extending CLEANFILES.
#--------------------------------------------------------------------
if test "${TEA_PLATFORM}" = "windows" ; then
AC_DEFINE(BUILD_itk)
CLEANFILES="*.lib *.dll *.exp *.ilk *.pdb vc*.pch"
TEA_ADD_SOURCES([dllEntryPoint.c])
else
CLEANFILES=
fi
AC_SUBST(CLEANFILES)
#CLEANFILES="$CLEANFILES *.ext"
#--------------------------------------------------------------------
# __CHANGE__
@@ -201,17 +188,6 @@ fi
TEA_MAKE_LIB
#--------------------------------------------------------------------
# __CHANGE__
# Add platform libs to LIBS or SHLIB_LD_LIBS as necessary.
#--------------------------------------------------------------------
if test "${TEA_PLATFORM}" = "windows" -a "$GCC" != "yes" ; then
SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${itcl_STUB_LIB_PATH}`\""
else
SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${itcl_STUB_LIB_SPEC}"
fi
#--------------------------------------------------------------------
# __CHANGE__
# Change the name from exampeA_LIB_FILE to match your package name.
-2
View File
@@ -4,8 +4,6 @@
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\" RCS: $Id: Archetype.n,v 1.2 2004/09/01 04:23:10 davygrvy Exp $
'\"
.so man.macros
.TH Archetype n 3.0 itk "[incr\ Tk]"
.BS
-2
View File
@@ -4,8 +4,6 @@
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\" RCS: $Id: Toplevel.n,v 1.4 2004/09/01 04:23:10 davygrvy Exp $
'\"
.so man.macros
.TH Toplevel n 3.0 itk "[incr\ Tk]"
.BS
-2
View File
@@ -4,8 +4,6 @@
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\" RCS: $Id: Widget.n,v 1.2 2004/09/01 04:23:10 davygrvy Exp $
'\"
.so man.macros
.TH Widget n 3.0 itk "[incr\ Tk]"
.BS
-2
View File
@@ -4,8 +4,6 @@
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\" RCS: $Id: itk.n,v 1.1 1998/07/27 18:45:36 stanton Exp $
'\"
.so man.macros
.TH itk n 3.0 itk "[incr\ Tk]"
.BS
-2
View File
@@ -4,8 +4,6 @@
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\" RCS: $Id: itkvars.n,v 1.1 1998/07/27 18:45:37 stanton Exp $
'\"
.so man.macros
.TH itkvars n 3.0 itk "[incr\ Tk]"
.BS
-2
View File
@@ -4,8 +4,6 @@
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\" RCS: $Id: usual.n,v 1.2 2004/09/01 04:23:10 davygrvy Exp $
'\"
.so man.macros
.TH usual n 3.0 itk "[incr\ Tk]"
.BS
-2
View File
@@ -6,8 +6,6 @@
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# RCS: $Id: itk.decls,v 1.5 2002/03/03 01:57:11 andreas_kupries Exp $
library itk
interface itk
+2 -4
View File
@@ -37,8 +37,6 @@
* Bell Labs Innovations for Lucent Technologies
* mmclennan@lucent.com
* http://www.tcltk.com/itcl
*
* RCS: $Id: itk.h,v 1.18 2007/05/24 22:15:41 hobbs Exp $
* ========================================================================
* Copyright (c) 1993-1998 Lucent Technologies, Inc.
* ------------------------------------------------------------------------
@@ -62,10 +60,10 @@
#define ITK_MAJOR_VERSION 3
#define ITK_MINOR_VERSION 4
#define ITK_RELEASE_LEVEL TCL_FINAL_RELEASE
#define ITK_RELEASE_SERIAL 0
#define ITK_RELEASE_SERIAL 2
#define ITK_VERSION "3.4"
#define ITK_PATCH_LEVEL "3.4.0"
#define ITK_PATCH_LEVEL "3.4.2"
/*
-2
View File
@@ -5,8 +5,6 @@
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
* RCS: $Id: itkDecls.h,v 1.8 2003/12/23 05:22:45 davygrvy Exp $
*/
#ifndef _ITKDECLS
-2
View File
@@ -7,8 +7,6 @@
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
* RCS: $Id: itkStubInit.c,v 1.3 2001/06/22 04:38:54 davygrvy Exp $
*/
#include "itk.h"
-2
View File
@@ -9,8 +9,6 @@
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
* RCS: $Id: itkStubLib.c,v 1.7 2003/12/24 03:38:03 davygrvy Exp $
*/
/*
+17 -8
View File
@@ -25,8 +25,6 @@
* Bell Labs Innovations for Lucent Technologies
* mmclennan@lucent.com
* http://www.tcltk.com/itcl
*
* RCS: $Id: itk_archetype.c,v 1.12 2007/05/24 22:12:55 hobbs Exp $
* ========================================================================
* Copyright (c) 1993-1998 Lucent Technologies, Inc.
* ------------------------------------------------------------------------
@@ -989,7 +987,7 @@ Itk_ArchCompAddCmd(dummy, interp, objc, objv)
Tcl_PopCallFrame(interp);
}
if (objPtr != objv[3]) {
if (objc != 4) {
Tcl_DecrRefCount(objPtr);
}
if (result != TCL_OK) {
@@ -1748,11 +1746,24 @@ Itk_ArchInitCmd(dummy, interp, objc, objv)
*/
Itcl_InitHierIter(&hier, contextClass);
while ((cdefn=Itcl_AdvanceHierIter(&hier)) != NULL) {
entry = Tcl_FirstHashEntry(&cdefn->variables, &place);
while (entry) {
for (entry = Tcl_FirstHashEntry(&cdefn->variables, &place);
entry; entry = Tcl_NextHashEntry(&place)) {
Var *arrayPtr, *varPtr = NULL;
vdefn = (ItclVarDefn*)Tcl_GetHashValue(entry);
if (vdefn->member->protection == ITCL_PUBLIC) {
if (vdefn->member->protection != ITCL_PUBLIC) {
continue;
}
varPtr = TclLookupVar(interp, vdefn->member->fullname, NULL, 0,
NULL, 0, 0, &arrayPtr);
if (varPtr && TclIsVarArray(varPtr)) {
continue;
}
optPart = Itk_FindArchOptionPart(info,
vdefn->member->name, (ClientData)vdefn);
@@ -1773,8 +1784,6 @@ Itk_ArchInitCmd(dummy, interp, objc, objv)
return TCL_ERROR;
}
}
}
entry = Tcl_NextHashEntry(&place);
}
}
Itcl_DeleteHierIter(&hier);
-2
View File
@@ -15,8 +15,6 @@
* Bell Labs Innovations for Lucent Technologies
* mmclennan@lucent.com
* http://www.tcltk.com/itcl
*
* RCS: $Id: itk_cmds.c,v 1.17 2007/05/24 22:12:56 hobbs Exp $
* ========================================================================
* Copyright (c) 1993-1998 Lucent Technologies, Inc.
* ------------------------------------------------------------------------
-2
View File
@@ -15,8 +15,6 @@
* Bell Labs Innovations for Lucent Technologies
* mmclennan@lucent.com
* http://www.tcltk.com/itcl
*
* RCS: $Id: itk_option.c,v 1.7 2007/05/24 23:23:59 hobbs Exp $
* ========================================================================
* Copyright (c) 1993-1998 Lucent Technologies, Inc.
* ------------------------------------------------------------------------
+6 -6
View File
@@ -15,8 +15,6 @@
* Bell Labs Innovations for Lucent Technologies
* mmclennan@lucent.com
* http://www.tcltk.com/itcl
*
* RCS: $Id: itk_util.c,v 1.1 1998/07/27 18:45:25 stanton Exp $
* ========================================================================
* Copyright (c) 1993-1998 Lucent Technologies, Inc.
* ------------------------------------------------------------------------
@@ -103,11 +101,12 @@ Itk_OptListAdd(olist, entry)
*/
first = 0;
last = olist->len-1;
swname = Tcl_GetHashKey(olist->options, entry) + 1;
swname = ((char *)Tcl_GetHashKey(olist->options, entry)) + 1;
while (last >= first) {
pos = (first+last)/2;
optname = Tcl_GetHashKey(olist->options, olist->list[pos]) + 1;
optname = ((char *)Tcl_GetHashKey(olist->options,
olist->list[pos])) + 1;
if (*swname == *optname) {
cmp = strcmp(swname, optname);
if (cmp == 0) {
@@ -164,11 +163,12 @@ Itk_OptListRemove(olist, entry)
first = 0;
last = olist->len-1;
swname = Tcl_GetHashKey(olist->options, entry) + 1;
swname = ((char *)Tcl_GetHashKey(olist->options, entry)) + 1;
while (last >= first) {
pos = (first+last)/2;
optname = Tcl_GetHashKey(olist->options, olist->list[pos]) + 1;
optname = ((char *)Tcl_GetHashKey(olist->options,
olist->list[pos])) + 1;
if (*swname == *optname) {
cmp = strcmp(swname, optname);
if (cmp == 0) {
-2
View File
@@ -45,8 +45,6 @@
# Bell Labs Innovations for Lucent Technologies
# mmclennan@lucent.com
# http://www.tcltk.com/itcl
#
# RCS: $Id: Archetype.itk,v 1.1 1998/07/27 18:45:26 stanton Exp $
# ----------------------------------------------------------------------
# Copyright (c) 1993-1998 Lucent Technologies, Inc.
# ======================================================================
-2
View File
@@ -23,8 +23,6 @@
# Bell Labs Innovations for Lucent Technologies
# mmclennan@lucent.com
# http://www.tcltk.com/itcl
#
# RCS: $Id: Toplevel.itk,v 1.4 2007/05/24 23:29:30 hobbs Exp $
# ----------------------------------------------------------------------
# Copyright (c) 1993-1998 Lucent Technologies, Inc.
# ======================================================================
-2
View File
@@ -21,8 +21,6 @@
# Bell Labs Innovations for Lucent Technologies
# mmclennan@lucent.com
# http://www.tcltk.com/itcl
#
# RCS: $Id: Widget.itk,v 1.3 2007/05/24 23:27:05 hobbs Exp $
# ----------------------------------------------------------------------
# Copyright (c) 1993-1998 Lucent Technologies, Inc.
# ======================================================================
-2
View File
@@ -8,8 +8,6 @@
# Bell Labs Innovations for Lucent Technologies
# mmclennan@lucent.com
# http://www.tcltk.com/itcl
#
# RCS: $Id: itk.tcl,v 1.3 2002/05/14 22:53:28 davygrvy Exp $
# ----------------------------------------------------------------------
# Copyright (c) 1993-1998 Lucent Technologies, Inc.
# ======================================================================
-2
View File
@@ -1,8 +1,6 @@
# This file contains a top-level script to run all of the Tcl
# tests. Execute it by invoking "source all" when running tclTest
# in this directory.
#
# SCCS: @(#) all 1.7 96/02/16 08:55:38
# ------------------------------------------------------------------
# THIS SCRIPT IS NOW DEPRECATED! It is kept for older Tcl
# installations that don't have the "tcltest" package.
-2
View File
@@ -6,8 +6,6 @@
#
# Copyright (c) 1998-2000 by Ajuba Solutions
# All rights reserved.
#
# RCS: @(#) $Id: all.tcl,v 1.4 2004/09/22 09:37:08 davygrvy Exp $
package require tcltest 2.1
-2
View File
@@ -8,8 +8,6 @@
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# SCCS: @(#) defs 1.44 96/10/08 17:26:58
# ------------------------------------------------------------------
# THIS SCRIPT IS NOW DEPRECATED! It is kept for older Tcl
# installations that don't have the "tcltest" package.
+5 -6
View File
@@ -5,8 +5,6 @@
# Bell Labs Innovations for Lucent Technologies
# mmclennan@lucent.com
# http://www.tcltk.com/itcl
#
# RCS: $Id: interp.test,v 1.3 2004/09/22 09:37:08 davygrvy Exp $
# ----------------------------------------------------------------------
# Copyright (c) 1993-1998 Lucent Technologies, Inc.
# ======================================================================
@@ -31,13 +29,14 @@ test interp-1.1 {create a slave interp with [incr Tk]} {
list [slave eval "namespace children :: ::itk"] [interp delete slave]
} {::itk {}}
test interp-1.2 {can't load [incr Tk] into a safe interp} {
interp create -safe slave
test interp-1.2 {can load [incr Tk] into a safe interp} {
safe::interpCreate slave
safe::loadTk slave
load "" Itcl slave
set result [list [catch {load "" Itk slave} msg] $msg]
interp delete slave
safe::interpDelete slave
set result
} {1 {can't use package in a safe interpreter: no Itk_SafeInit procedure}}
} {0 {}}
test interp-1.3 {errors are okay when slave interp is deleted} {
interp create slave
-2
View File
@@ -5,8 +5,6 @@
# Bell Labs Innovations for Lucent Technologies
# mmclennan@lucent.com
# http://www.tcltk.com/itcl
#
# RCS: $Id: option.test,v 1.4 2004/09/22 09:37:09 davygrvy Exp $
# ----------------------------------------------------------------------
# Copyright (c) 1993-1998 Lucent Technologies, Inc.
# ======================================================================
-2
View File
@@ -5,8 +5,6 @@
# Bell Labs Innovations for Lucent Technologies
# mmclennan@lucent.com
# http://www.tcltk.com/itcl
#
# RCS: $Id: privacy.test,v 1.3 2004/09/22 09:37:09 davygrvy Exp $
# ----------------------------------------------------------------------
# Copyright (c) 1993-1998 Lucent Technologies, Inc.
# ======================================================================
-2
View File
@@ -5,8 +5,6 @@
# Bell Labs Innovations for Lucent Technologies
# mmclennan@lucent.com
# http://www.tcltk.com/itcl
#
# RCS: $Id: public.test,v 1.3 2004/09/22 09:37:09 davygrvy Exp $
# ----------------------------------------------------------------------
# Copyright (c) 1993-1998 Lucent Technologies, Inc.
# ======================================================================
-2
View File
@@ -5,8 +5,6 @@
# Bell Labs Innovations for Lucent Technologies
# mmclennan@lucent.com
# http://www.tcltk.com/itcl
#
# RCS: $Id: toplevel.test,v 1.5 2007/05/24 23:29:30 hobbs Exp $
# ----------------------------------------------------------------------
# Copyright (c) 1993-1998 Lucent Technologies, Inc.
# ======================================================================
-2
View File
@@ -5,8 +5,6 @@
# Bell Labs Innovations for Lucent Technologies
# mmclennan@lucent.com
# http://www.tcltk.com/itcl
#
# RCS: $Id: widget.test,v 1.6 2004/09/22 09:37:09 davygrvy Exp $
# ----------------------------------------------------------------------
# Copyright (c) 1993-1998 Lucent Technologies, Inc.
# ======================================================================
-4
View File
@@ -1,4 +0,0 @@
Debug
Release
nmakehlp.obj
nmakehlp.exe
+41 -11
View File
@@ -5,7 +5,6 @@
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# Copyright (c) 1993-1998 Lucent Technologies, Inc.
# RCS: $Id: makefile.vc,v 1.29 2006/09/17 01:11:49 davygrvy Exp $
#------------------------------------------------------------------------------
# Do not modify this file!
#------------------------------------------------------------------------------
@@ -18,7 +17,7 @@ Please `cd` to its location first.
!endif
PROJECT = itk
!include "..\..\rules.vc"
!include "rules.vc"
!if $(TCLINSTALL)
@@ -77,27 +76,29 @@ ITKLIBNAME = $(PROJECT)$(ITK_VERSION)80$(SUFX).$(EXT)
ITCLIMPLIBNAME = itcl$(ITCL_VERSION)80$(SUFX).lib
!endif
ITKLIB = "$(OUT_DIR)\$(ITKLIBNAME)"
ITCLIMPLIB = "$(ITCLDIR)\win\Release\$(ITCLIMPLIBNAME)"
ITCLIMPLIB = "$(ITCLDIR)\win\$(BUILDDIRTOP)\$(ITCLIMPLIBNAME)"
!if $(TCLINSTALL)
TKSTUBLIB = "$(TCLDIR)\lib\tkstub$(TCL_VERSION).lib"
TKIMPLIB = "$(TCLDIR)\lib\tk$(TCL_VERSION)$(DBGX).lib"
TKLIB = "$(TCLDIR)\bin\tk$(TCL_VERSION)$(DBGX).dll"
WISH = "$(TCLDIR)\bin\wish$(TCL_VERSION)$(DBGX).exe"
TCL_LIBRARY =
TK_LIBRARY =
!else
TKSTUBLIB = "$(TKDIR)\win\Release\tkstub$(TCL_VERSION).lib"
TKSTUBLIB = "$(TKDIR)\win\$(BUILDDIRTOP)\tkstub$(TCL_VERSION).lib"
TKIMPLIB = "$(TKDIR)\win\$(OUT_DIR)\tk$(TCL_VERSION)$(DBGX).lib"
TKLIB = "$(TKDIR)\win\$(OUT_DIR)\tk$(TCL_VERSION)$(DBGX).dll"
WISH = "$(TKDIR)\win\$(OUT_DIR)\wish$(TCL_VERSION)$(DBGX).exe"
TCL_LIBRARY = "$(TCLDIR)\library"
TK_LIBRARY = "$(TKDIR)\library"
!endif
ITCL_LIBRARY = "$(ITCLDIR:\=/)/library"
ITK_LIBRARY = "$(ROOT)/library
ITK_LIBRARY = "$(ROOT)/library"
ITCLSTUBLIBNAME = itclstub$(ITCL_VERSION).lib
ITCLSTUBLIB = "$(ITCLDIR)\win\Release\$(ITCLSTUBLIBNAME)"
ITCLSTUBLIB = "$(ITCLDIR)\win\$(BUILDDIRTOP)\$(ITCLSTUBLIBNAME)"
### For Tcl 8.0
!if !$(TCL_DOES_STUBS)
@@ -191,7 +192,7 @@ cdebug = -O2
!endif
# declarations common to all compiler options
cflags = -nologo -c -W3 -YX -Fp$(TMP_DIR)^\
cflags = -nologo -c -W3 -YX -D_USE_32BIT_TIME_T -Fp$(TMP_DIR)^\
!if $(PENT_0F_ERRATA)
cflags = $(cflags) -QI0f
@@ -244,12 +245,12 @@ test :
@echo test target not supported for a static library.
!else
test : setup $(ITKLIB) $(ITKSTUBLIB)
set TCL_LIBRARY=$(TCL_LIBRARY)
set TK_LIBRARY=$(TK_LIBRARY)
set ITCL_LIBRARY=$(ITCL_LIBRARY)
set ITK_LIBRARY=$(ITK_LIBRARY)
$(TCLSH) ..\tests\all.tcl $(TESTFLAGS) -loadfile <<
set env(TK_LIBRARY) $(TK_LIBRARY:\=/)
set env(ITCL_LIBRARY) [file normalize $(ITCL_LIBRARY:\=/)]
set env(ITK_LIBRARY) [file normalize $(ITK_LIBRARY:\=/)]
load [file normalize $(ITCLLIB:\=/)] Itcl
load [file normalize $(TKLIB:\=/)] Tk
load [file normalize $(ITKLIB:\=/)] Itk
<<
!endif
@@ -322,6 +323,35 @@ genstubs:
@echo ERROR: Can't rebuild stubs tables without the Tcl source distribution
!endif
#---------------------------------------------------------------------
# Generate the source dependencies.
#---------------------------------------------------------------------
depend:
!if !exist($(TCLSH))
@echo Build tclsh first!
!else
$(TCLSH) $(TCLTOOLSDIR)\mkdepend.tcl -vc32 -out:"$(OUT_DIR)\depend.mk" \
-passthru:"-DBUILD_itcl $(ITCL_INCLUDES) $(TCL_INCLUDES) $(ITK_INCLUDES) $(TK_INCLUDES)" \
$(GENERICDIR),$$(GENERICDIR) $(WINDIR),$$(WINDIR) @<<
$(ITKOBJS)
<<
!endif
#---------------------------------------------------------------------
# Dependency rules
#---------------------------------------------------------------------
!if exist("$(OUT_DIR)\depend.mk")
!include "$(OUT_DIR)\depend.mk"
!message *** Dependency rules in use.
!else
!message *** Dependency rules are not being used.
!endif
### add a spacer in the output
!message
#---------------------------------------------------------------------
# Special case object file targets
#---------------------------------------------------------------------
-3
View File
@@ -7,9 +7,6 @@
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
* ----------------------------------------------------------------------------
* RCS: @(#) $Id: nmakehlp.c,v 1.4 2004/04/29 17:40:44 davygrvy Exp $
* ----------------------------------------------------------------------------
*/
#include <windows.h>
-1
View File
@@ -1,4 +1,3 @@
// RCS: @(#) $Id: itk.rc,v 1.10 2003/12/23 10:01:35 davygrvy Exp $
//
// Version resource script.
//
+490
View File
@@ -0,0 +1,490 @@
#------------------------------------------------------------------------------
# rules.vc --
#
# Microsoft Visual C++ makefile include for decoding the commandline
# macros. This file does not need editing to build Tcl.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# Copyright (c) 2001-2003 David Gravereaux.
#
#------------------------------------------------------------------------------
# RCS: @(#) $Id: rules.vc,v 1.5 2004/04/29 17:40:43 davygrvy Exp $
#------------------------------------------------------------------------------
!ifndef _RULES_VC
_RULES_VC = 1
cc32 = $(CC) # built-in default.
link32 = link
lib32 = lib
rc32 = $(RC) # built-in default.
!ifndef INSTALLDIR
### Assume the normal default.
_INSTALLDIR = C:\Program Files\Tcl
!else
### Fix the path seperators.
_INSTALLDIR = $(INSTALLDIR:/=\)
!endif
#------------------------------------------------------------------------------
# Determine the host and target architectures and compiler version.
#------------------------------------------------------------------------------
_HASH=^#
_VC_MANIFEST_EMBED_EXE=
_VC_MANIFEST_EMBED_DLL=
VCVER=0
!if ![echo VCVERSION=_MSC_VER > vercl.x] \
&& ![echo $(_HASH)if defined(_M_IX86) >> vercl.x] \
&& ![echo ARCH=IX86 >> vercl.x] \
&& ![echo $(_HASH)elif defined(_M_AMD64) >> vercl.x] \
&& ![echo ARCH=AMD64 >> vercl.x] \
&& ![echo $(_HASH)endif >> vercl.x] \
&& ![cl -nologo -TC -P vercl.x $(ERRNULL)]
!include vercl.i
!if ![echo VCVER= ^\> vercl.vc] \
&& ![set /a $(VCVERSION) / 100 - 6 >> vercl.vc]
!include vercl.vc
!endif
!endif
!if ![del $(ERRNUL) /q/f vercl.x vercl.i vercl.vc]
!endif
!if ![reg query HKLM\Hardware\Description\System\CentralProcessor\0 /v Identifier | findstr /i x86]
NATIVE_ARCH=IX86
!else
NATIVE_ARCH=AMD64
!endif
# Since MSVC8 we must deal with manifest resources.
!if $(VCVERSION) >= 1400
_VC_MANIFEST_EMBED_EXE=if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1
_VC_MANIFEST_EMBED_DLL=if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2
!endif
!ifndef MACHINE
MACHINE = IX86
!endif
!ifndef CFG_ENCODING
CFG_ENCODING = \"cp1252\"
!endif
#----------------------------------------------------------
# Set the proper copy method to avoid overwrite questions
# to the user when copying files and selecting the right
# "delete all" method.
#----------------------------------------------------------
!if "$(OS)" == "Windows_NT"
RMDIR = rmdir /S /Q
!if ![ver | find "4.0" > nul]
CPY = echo y | xcopy /i
!else
CPY = xcopy /i /y
!endif
!else
CPY = xcopy /i
RMDIR = deltree /Y
!endif
!message ===============================================================================
#----------------------------------------------------------
# build the helper app we need to overcome nmake's limiting
# environment.
#----------------------------------------------------------
!if !exist(nmakehlp.exe)
!if [$(cc32) -nologo -ML nmakehlp.c -link -subsystem:console > nul]
!endif
!endif
#----------------------------------------------------------
# Test for compiler features
#----------------------------------------------------------
### test for optimizations
!if [nmakehlp -c -Otip]
!message *** Compiler has 'Optimizations'
OPTIMIZING = 1
!else
!message *** Compiler doesn't have 'Optimizations'
OPTIMIZING = 0
!endif
!if "$(MACHINE)" == "IX86"
### test for pentium errata
!if [nmakehlp -c -QI0f]
!message *** Compiler has 'Pentium 0x0f fix'
PENT_0F_ERRATA = 1
!else
!message *** Compiler doesn't have 'Pentium 0x0f fix'
PENT_0F_ERRATA = 0
!endif
### test for -align:4096, when align:512 will do.
!if [nmakehlp -l -opt:nowin98]
!message *** Linker has 'Win98 alignment problem'
ALIGN98_HACK = 1
!else
!message *** Linker doesn't have 'Win98 alignment problem'
ALIGN98_HACK = 0
!endif
!else
PENT_0F_ERRATA = 0
ALIGN98_HACK = 0
!endif
!if "$(MACHINE)" == "IA64"
### test for Itanium errata
!if [nmakehlp -c -QIA64_Bx]
!message *** Compiler has 'B-stepping errata workarounds'
ITAN_B_ERRATA = 1
!else
!message *** Compiler doesn't have 'B-stepping errata workarounds'
ITAN_B_ERRATA = 0
!endif
!else
ITAN_B_ERRATA = 0
!endif
#----------------------------------------------------------
# Decode the options requested.
#----------------------------------------------------------
!if "$(OPTS)" == "" || [nmakehlp -f "$(OPTS)" "none"]
STATIC_BUILD = 0
TCL_THREADS = 0
DEBUG = 0
PROFILE = 0
MSVCRT = 0
LOIMPACT = 0
TCL_USE_STATIC_PACKAGES = 0
USE_THREAD_ALLOC = 0
UNCHECKED = 0
!else
!if [nmakehlp -f $(OPTS) "static"]
!message *** Doing static
STATIC_BUILD = 1
!else
STATIC_BUILD = 0
!endif
!if [nmakehlp -f $(OPTS) "msvcrt"]
!message *** Doing msvcrt
MSVCRT = 1
!else
MSVCRT = 0
!endif
!if [nmakehlp -f $(OPTS) "staticpkg"]
!message *** Doing staticpkg
TCL_USE_STATIC_PACKAGES = 1
!else
TCL_USE_STATIC_PACKAGES = 0
!endif
!if [nmakehlp -f $(OPTS) "threads"]
!message *** Doing threads
TCL_THREADS = 1
!else
TCL_THREADS = 0
!endif
!if [nmakehlp -f $(OPTS) "symbols"]
!message *** Doing symbols
DEBUG = 1
!else
DEBUG = 0
!endif
!if [nmakehlp -f $(OPTS) "profile"]
!message *** Doing profile
PROFILE = 1
!else
PROFILE = 0
!endif
!if [nmakehlp -f $(OPTS) "loimpact"]
!message *** Doing loimpact
LOIMPACT = 1
!else
LOIMPACT = 0
!endif
!if [nmakehlp -f $(OPTS) "thrdalloc"]
!message *** Doing thrdalloc
USE_THREAD_ALLOC = 1
!else
USE_THREAD_ALLOC = 0
!endif
!if [nmakehlp -f $(OPTS) "unchecked"]
!message *** Doing unchecked
UNCHECKED = 1
!else
UNCHECKED = 0
!endif
!endif
!if !$(STATIC_BUILD)
# Make sure we don't build overly fat DLLs.
MSVCRT = 1
# We shouldn't statically put the extensions inside the shell when dynamic.
TCL_USE_STATIC_PACKAGES = 0
!endif
#----------------------------------------------------------
# Figure-out how to name our intermediate and output directories.
# We wouldn't want different builds to use the same .obj files
# by accident.
#----------------------------------------------------------
#----------------------------------------
# Naming convention:
# t = full thread support.
# s = static library (as opposed to an
# import library)
# g = linked to the debug enabled C
# run-time.
# x = special static build when it
# links to the dynamic C run-time.
#----------------------------------------
SUFX = tsgx
!if $(DEBUG)
BUILDDIRTOP = Debug
!else
BUILDDIRTOP = Release
!endif
!if "$(MACHINE)" != "IX86"
BUILDDIRTOP =$(BUILDDIRTOP)_$(MACHINE)
!endif
!if $(VCVER) > 6
BUILDDIRTOP =$(BUILDDIRTOP)_VC$(VCVER)
!endif
!if !$(DEBUG) || $(DEBUG) && $(UNCHECKED)
SUFX = $(SUFX:g=)
!endif
TMP_DIRFULL = .\$(BUILDDIRTOP)\$(PROJECT)_ThreadedDynamicStaticX
!if !$(STATIC_BUILD)
TMP_DIRFULL = $(TMP_DIRFULL:Static=)
SUFX = $(SUFX:s=)
EXT = dll
!if $(MSVCRT)
TMP_DIRFULL = $(TMP_DIRFULL:X=)
SUFX = $(SUFX:x=)
!endif
!else
TMP_DIRFULL = $(TMP_DIRFULL:Dynamic=)
EXT = lib
!if !$(MSVCRT)
TMP_DIRFULL = $(TMP_DIRFULL:X=)
SUFX = $(SUFX:x=)
!endif
!endif
!if !$(TCL_THREADS)
TMP_DIRFULL = $(TMP_DIRFULL:Threaded=)
SUFX = $(SUFX:t=)
!endif
!ifndef TMP_DIR
TMP_DIR = $(TMP_DIRFULL)
!ifndef OUT_DIR
OUT_DIR = .\$(BUILDDIRTOP)
!endif
!else
!ifndef OUT_DIR
OUT_DIR = $(TMP_DIR)
!endif
!endif
#----------------------------------------------------------
# Decode the statistics requested.
#----------------------------------------------------------
!if "$(STATS)" == "" || [nmakehlp -f "$(STATS)" "none"]
TCL_MEM_DEBUG = 0
TCL_COMPILE_DEBUG = 0
!else
!if [nmakehlp -f $(STATS) "memdbg"]
!message *** Doing memdbg
TCL_MEM_DEBUG = 1
!else
TCL_MEM_DEBUG = 0
!endif
!if [nmakehlp -f $(STATS) "compdbg"]
!message *** Doing compdbg
TCL_COMPILE_DEBUG = 1
!else
TCL_COMPILE_DEBUG = 0
!endif
!endif
#----------------------------------------------------------
# Decode the checks requested.
#----------------------------------------------------------
!if "$(CHECKS)" == "" || [nmakehlp -f "$(CHECKS)" "none"]
TCL_NO_DEPRECATED = 0
FULLWARNINGS = 0
!else
!if [nmakehlp -f $(CHECKS) "nodep"]
!message *** Doing nodep check
TCL_NO_DEPRECATED = 1
!else
TCL_NO_DEPRECATED = 0
!endif
!if [nmakehlp -f $(CHECKS) "fullwarn"]
!message *** Doing full warnings check
FULLWARNINGS = 1
!else
FULLWARNINGS = 0
!endif
!endif
#----------------------------------------------------------
# Set our defines now armed with our options.
#----------------------------------------------------------
OPTDEFINES = -DTCL_CFGVAL_ENCODING=$(CFG_ENCODING)
!if $(TCL_MEM_DEBUG)
OPTDEFINES = $(OPTDEFINES) -DTCL_MEM_DEBUG
!endif
!if $(TCL_COMPILE_DEBUG)
OPTDEFINES = $(OPTDEFINES) -DTCL_COMPILE_DEBUG -DTCL_COMPILE_STATS
!endif
!if $(TCL_THREADS)
OPTDEFINES = $(OPTDEFINES) -DTCL_THREADS=1
!if $(USE_THREAD_ALLOC)
OPTDEFINES = $(OPTDEFINES) -DUSE_THREAD_ALLOC=1
!endif
!endif
!if $(STATIC_BUILD)
OPTDEFINES = $(OPTDEFINES) -DSTATIC_BUILD
!endif
!if $(TCL_NO_DEPRECATED)
OPTDEFINES = $(OPTDEFINES) -DTCL_NO_DEPRECATED
!endif
!if $(DEBUG)
OPTDEFINES = $(OPTDEFINES) -DTCL_CFG_DEBUG
!elseif $(OPTIMIZING)
OPTDEFINES = $(OPTDEFINES) -DTCL_CFG_OPTIMIZED
!endif
!if $(PROFILE)
OPTDEFINES = $(OPTDEFINES) -DTCL_CFG_PROFILED
!endif
!if "$(MACHINE)" == "IA64"
OPTDEFINES = $(OPTDEFINES) -DTCL_CFG_DO64BIT
!endif
#----------------------------------------------------------
# Get common info used when building extensions.
#----------------------------------------------------------
!if "$(PROJECT)" != "tcl"
!if !defined(TCLDIR)
!if exist("$(_INSTALLDIR)\include\tcl.h")
TCLH = "$(_INSTALLDIR)\include\tcl.h"
TCLINSTALL = 1
_TCLDIR = $(_INSTALLDIR)
!else
MSG=^
Don't know where tcl.h is. Set the TCLDIR macro.
!error $(MSG)
!endif
!else
_TCLDIR = $(TCLDIR:/=\)
!if exist("$(_TCLDIR)\include\tcl.h")
TCLH = "$(_TCLDIR)\include\tcl.h"
TCLINSTALL = 1
!elseif exist("$(_TCLDIR)\generic\tcl.h")
TCLH = "$(_TCLDIR)\generic\tcl.h"
TCLINSTALL = 0
!else
MSG =^
Don't know where tcl.h is. The TCLDIR macro doesn't appear correct.
!error $(MSG)
!endif
!endif
#----------------------------------------------------------
# Get the version from the header file. Try all possibles
# even though some aren't fully valid.
#----------------------------------------------------------
!if [nmakehlp -g $(TCLH) TCL_VERSION] == 76
TCL_DOTVERSION = 7.6
!elseif [nmakehlp -g $(TCLH) TCL_VERSION] == 80
TCL_DOTVERSION = 8.0
!elseif [nmakehlp -g $(TCLH) TCL_VERSION] == 81
TCL_DOTVERSION = 8.1
!elseif [nmakehlp -g $(TCLH) TCL_VERSION] == 82
TCL_DOTVERSION = 8.2
!elseif [nmakehlp -g $(TCLH) TCL_VERSION] == 83
TCL_DOTVERSION = 8.3
!elseif [nmakehlp -g $(TCLH) TCL_VERSION] == 84
TCL_DOTVERSION = 8.4
!elseif [nmakehlp -g $(TCLH) TCL_VERSION] == 85
TCL_DOTVERSION = 8.5
!elseif [nmakehlp -g $(TCLH) TCL_VERSION] == 86
TCL_DOTVERSION = 8.6
!elseif [nmakehlp -g $(TCLH) TCL_VERSION] == 90
TCL_DOTVERSION = 9.0
!elseif [nmakehlp -g $(TCLH) TCL_VERSION] == 0
MSG =^
Can't get version string from $(TCLH)
!error $(MSG)
!endif
TCL_VERSION = $(TCL_DOTVERSION:.=)
!if $(TCL_VERSION) < 81
TCL_DOES_STUBS = 0
!else
TCL_DOES_STUBS = 1
!endif
!if $(TCLINSTALL)
TCLSH = "$(_INSTALLDIR)\bin\tclsh$(TCL_VERSION)$(SUFX).exe"
TCLSTUBLIB = "$(_INSTALLDIR)\lib\tclstub$(TCL_VERSION).lib"
TCLIMPLIB = "$(_INSTALLDIR)\lib\tcl$(TCL_VERSION)$(SUFX).lib"
TCL_LIBRARY = $(_INSTALLDIR)\lib
TCLREGLIB = "$(_INSTALLDIR)\lib\tclreg11$(SUFX:t=).lib"
TCLDDELIB = "$(_INSTALLDIR)\lib\tcldde12$(SUFX:t=).lib"
COFFBASE = \must\have\tcl\sources\to\build\this\target
TCLTOOLSDIR = \must\have\tcl\sources\to\build\this\target
!else
TCLSH = "$(_TCLDIR)\win\$(BUILDDIRTOP)\tclsh$(TCL_VERSION)$(SUFX).exe"
TCLSTUBLIB = "$(_TCLDIR)\win\$(BUILDDIRTOP)\tclstub$(TCL_VERSION).lib"
TCLIMPLIB = "$(_TCLDIR)\win\$(BUILDDIRTOP)\tcl$(TCL_VERSION)$(SUFX).lib"
TCL_LIBRARY = $(_TCLDIR)\library
TCLREGLIB = "$(_TCLDIR)\win\$(BUILDDIRTOP)\tclreg11$(SUFX:t=).lib"
TCLDDELIB = "$(_TCLDIR)\win\$(BUILDDIRTOP)\tcldde12$(SUFX:t=).lib"
COFFBASE = "$(_TCLDIR)\win\coffbase.txt"
TCLTOOLSDIR = $(_TCLDIR)\tools
!endif
!endif
#----------------------------------------------------------
# Display stats being used.
#----------------------------------------------------------
!message *** Intermediate directory will be '$(TMP_DIR)'
!message *** Output directory will be '$(OUT_DIR)'
!message *** Suffix for binaries will be '$(SUFX)'
!message *** Optional defines are '$(OPTDEFINES)'
!endif