Import Tcl 8.6.11
This commit is contained in:
@@ -17,7 +17,7 @@ needs to conform to the following conventions.
|
||||
"configure". When the program "configure" is run, it should generate
|
||||
a file "Makefile" in the current working directory. The "configure"
|
||||
program should be able to accept as command line arguments all the
|
||||
arguments that can be passed to the master unix/configure program. It
|
||||
arguments that can be passed to the top unix/configure program. It
|
||||
should also accept the --with-tcl= and --with-tclinclude= options in
|
||||
the conventional way.
|
||||
|
||||
|
||||
@@ -1,118 +0,0 @@
|
||||
# This file should only be included in makefiles for Tcl extensions,
|
||||
# NOT in the makefile for Tcl itself.
|
||||
|
||||
!ifndef _RULES_EXT_VC
|
||||
|
||||
# We need to run from the directory the parent makefile is located in.
|
||||
# nmake does not tell us what makefile was used to invoke it so parent
|
||||
# makefile has to set the MAKEFILEVC macro or we just make a guess and
|
||||
# warn if we think that is not the case.
|
||||
!if "$(MAKEFILEVC)" == ""
|
||||
|
||||
!if exist("$(PROJECT).vc")
|
||||
MAKEFILEVC = $(PROJECT).vc
|
||||
!elseif exist("makefile.vc")
|
||||
MAKEFILEVC = makefile.vc
|
||||
!endif
|
||||
!endif # "$(MAKEFILEVC)" == ""
|
||||
|
||||
!if !exist("$(MAKEFILEVC)")
|
||||
MSG = ^
|
||||
You must run nmake from the directory containing the project makefile.^
|
||||
If you are doing that and getting this message, set the MAKEFILEVC^
|
||||
macro to the name of the project makefile.
|
||||
!message WARNING: $(MSG)
|
||||
!endif
|
||||
|
||||
!if "$(PROJECT)" == "tcl"
|
||||
!error The rules-ext.vc file is not intended for Tcl itself.
|
||||
!endif
|
||||
|
||||
# We extract version numbers using the nmakehlp program. For now use
|
||||
# the local copy of nmakehlp. Once we locate Tcl, we will use that
|
||||
# one if it is newer.
|
||||
!if [$(CC) -nologo "nmakehlp.c" -link -subsystem:console > nul]
|
||||
!endif
|
||||
|
||||
# First locate the Tcl directory that we are working with.
|
||||
!ifdef TCLDIR
|
||||
|
||||
_RULESDIR = $(TCLDIR:/=\)
|
||||
|
||||
!else
|
||||
|
||||
# If an installation path is specified, that is also the Tcl directory.
|
||||
# Also Tk never builds against an installed Tcl, it needs Tcl sources
|
||||
!if defined(INSTALLDIR) && "$(PROJECT)" != "tk"
|
||||
_RULESDIR=$(INSTALLDIR:/=\)
|
||||
!else
|
||||
# Locate Tcl sources
|
||||
!if [echo _RULESDIR = \> nmakehlp.out] \
|
||||
|| [nmakehlp -L generic\tcl.h >> nmakehlp.out]
|
||||
_RULESDIR = ..\..\tcl
|
||||
!else
|
||||
!include nmakehlp.out
|
||||
!endif
|
||||
|
||||
!endif # defined(INSTALLDIR)....
|
||||
|
||||
!endif # ifndef TCLDIR
|
||||
|
||||
# Now look for the targets.vc file under the Tcl root. Note we check this
|
||||
# file and not rules.vc because the latter also exists on older systems.
|
||||
!if exist("$(_RULESDIR)\lib\nmake\targets.vc") # Building against installed Tcl
|
||||
_RULESDIR = $(_RULESDIR)\lib\nmake
|
||||
!elseif exist("$(_RULESDIR)\win\targets.vc") # Building against Tcl sources
|
||||
_RULESDIR = $(_RULESDIR)\win
|
||||
!else
|
||||
# If we have not located Tcl's targets file, most likely we are compiling
|
||||
# against an older version of Tcl and so must use our own support files.
|
||||
_RULESDIR = .
|
||||
!endif
|
||||
|
||||
!if "$(_RULESDIR)" != "."
|
||||
# Potentially using Tcl's support files. If this extension has its own
|
||||
# nmake support files, need to compare the versions and pick newer.
|
||||
|
||||
!if exist("rules.vc") # The extension has its own copy
|
||||
|
||||
!if [echo TCL_RULES_MAJOR = \> versions.vc] \
|
||||
&& [nmakehlp -V "$(_RULESDIR)\rules.vc" RULES_VERSION_MAJOR >> versions.vc]
|
||||
!endif
|
||||
!if [echo TCL_RULES_MINOR = \>> versions.vc] \
|
||||
&& [nmakehlp -V "$(_RULESDIR)\rules.vc" RULES_VERSION_MINOR >> versions.vc]
|
||||
!endif
|
||||
|
||||
!if [echo OUR_RULES_MAJOR = \>> versions.vc] \
|
||||
&& [nmakehlp -V "rules.vc" RULES_VERSION_MAJOR >> versions.vc]
|
||||
!endif
|
||||
!if [echo OUR_RULES_MINOR = \>> versions.vc] \
|
||||
&& [nmakehlp -V "rules.vc" RULES_VERSION_MINOR >> versions.vc]
|
||||
!endif
|
||||
!include versions.vc
|
||||
# We have a newer version of the support files, use them
|
||||
!if ($(TCL_RULES_MAJOR) != $(OUR_RULES_MAJOR)) || ($(TCL_RULES_MINOR) < $(OUR_RULES_MINOR))
|
||||
_RULESDIR = .
|
||||
!endif
|
||||
|
||||
!endif # if exist("rules.vc")
|
||||
|
||||
!endif # if $(_RULESDIR) != "."
|
||||
|
||||
# Let rules.vc know what copy of nmakehlp.c to use.
|
||||
NMAKEHLPC = $(_RULESDIR)\nmakehlp.c
|
||||
|
||||
# Get rid of our internal defines before calling rules.vc
|
||||
!undef TCL_RULES_MAJOR
|
||||
!undef TCL_RULES_MINOR
|
||||
!undef OUR_RULES_MAJOR
|
||||
!undef OUR_RULES_MINOR
|
||||
|
||||
!if exist("$(_RULESDIR)\rules.vc")
|
||||
!message *** Using $(_RULESDIR)\rules.vc
|
||||
!include "$(_RULESDIR)\rules.vc"
|
||||
!else
|
||||
!error *** Could not locate rules.vc in $(_RULESDIR)
|
||||
!endif
|
||||
|
||||
!endif # _RULES_EXT_VC
|
||||
@@ -143,7 +143,7 @@ TCLSH = $(TCLSH_ENV) $(PKG_ENV) $(TCLSH_PROG)
|
||||
|
||||
TESTLOADARG = if {[catch {package present ${PACKAGE_NAME}}]} {package forget ${PACKAGE_NAME}}; \
|
||||
package ifneeded ${PACKAGE_NAME} ${PACKAGE_VERSION} \
|
||||
[list load `@CYGPATH@ $(top_builddir)/$(PKG_LIB_FILE)` $(PACKAGE_NAME)]
|
||||
[list load `@CYGPATH@ $(top_builddir)/$(PKG_LIB_FILE)` [string totitle $(PACKAGE_NAME)]]
|
||||
|
||||
#WISH_ENV = TK_LIBRARY=`@CYGPATH@ $(TK_SRC_DIR)/library`
|
||||
#WISH_PROG = @WISH_PROG@
|
||||
@@ -163,7 +163,7 @@ PKG_CFLAGS = @PKG_CFLAGS@
|
||||
# you do not compile with a similar machine setup as the Tcl core was
|
||||
# compiled with.
|
||||
#DEFS = $(TCL_DEFS) @DEFS@ $(PKG_CFLAGS)
|
||||
DEFS = @DEFS@ $(PKG_CFLAGS) -DITCL_LIBRARY=\"$(pkglibdir)\"
|
||||
DEFS = @DEFS@ $(PKG_CFLAGS) -DITCL_LIBRARY="$(pkglibdir)"
|
||||
|
||||
# Move pkgIndex.tcl to 'BINARIES' var if it is generated in the Makefile
|
||||
CONFIG_CLEAN_FILES = @CONFIG_CLEAN_FILES@ Makefile itclConfig.sh pkgIndex.tcl
|
||||
@@ -225,11 +225,11 @@ install-binaries: binaries install-lib-binaries install-bin-binaries
|
||||
#========================================================================
|
||||
|
||||
install-libraries: libraries
|
||||
@$(INSTALL_DATA_DIR) $(DESTDIR)$(includedir)
|
||||
@$(INSTALL_DATA_DIR) "$(DESTDIR)$(includedir)"
|
||||
@echo "Installing header files in $(DESTDIR)$(includedir)"
|
||||
@list='$(PKG_HEADERS)'; for i in $$list; do \
|
||||
echo "Installing $(srcdir)/$$i" ; \
|
||||
$(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(includedir) ; \
|
||||
$(INSTALL_DATA) $(srcdir)/$$i "$(DESTDIR)$(includedir)" ; \
|
||||
done;
|
||||
|
||||
#========================================================================
|
||||
@@ -238,14 +238,14 @@ install-libraries: libraries
|
||||
#========================================================================
|
||||
|
||||
install-doc: doc
|
||||
@$(INSTALL_DATA_DIR) $(DESTDIR)$(mandir)/mann
|
||||
@$(INSTALL_DATA_DIR) "$(DESTDIR)$(mandir)/mann"
|
||||
@echo "Installing documentation in $(DESTDIR)$(mandir)"
|
||||
@list='$(srcdir)/doc/*.n'; for i in $$list; do \
|
||||
if test X"$$i" = X'$(srcdir)/doc/*.n'; then break; fi; \
|
||||
bi=`basename $$i`; \
|
||||
echo "Installing $$bi"; \
|
||||
sed -e '/man\.macros/r $(srcdir)/doc/man.macros' -e '/man\.macros/d' $$i > $$bi.tmp \
|
||||
&& $(INSTALL_DATA) $$bi.tmp $(DESTDIR)$(mandir)/mann/$$bi \
|
||||
&& $(INSTALL_DATA) $$bi.tmp "$(DESTDIR)$(mandir)/mann/$$bi" \
|
||||
&& rm -f $$bi.tmp; \
|
||||
done
|
||||
|
||||
@@ -401,17 +401,17 @@ distclean: clean
|
||||
#========================================================================
|
||||
|
||||
install-lib-binaries: binaries
|
||||
@$(INSTALL_DATA_DIR) $(DESTDIR)$(pkglibdir)
|
||||
@$(INSTALL_DATA_DIR) "$(DESTDIR)$(pkglibdir)"
|
||||
@list='$(lib_BINARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
echo " $(INSTALL_LIBRARY) $$p $(DESTDIR)$(pkglibdir)/$$p"; \
|
||||
$(INSTALL_LIBRARY) $$p $(DESTDIR)$(pkglibdir)/$$p; \
|
||||
$(INSTALL_LIBRARY) $$p "$(DESTDIR)$(pkglibdir)/$$p"; \
|
||||
ext=`echo $$p|sed -e "s/.*\.//"`; \
|
||||
if test "x$$ext" = "xdll"; then \
|
||||
lib=`basename $$p|sed -e 's/.[^.]*$$//'`.lib; \
|
||||
if test -f $$lib; then \
|
||||
echo " $(INSTALL_DATA) $$lib $(DESTDIR)$(pkglibdir)/$$lib"; \
|
||||
$(INSTALL_DATA) $$lib $(DESTDIR)$(pkglibdir)/$$lib; \
|
||||
$(INSTALL_DATA) $$lib "$(DESTDIR)$(pkglibdir)/$$lib"; \
|
||||
fi; \
|
||||
fi; \
|
||||
fi; \
|
||||
@@ -420,14 +420,14 @@ install-lib-binaries: binaries
|
||||
if test -f $(srcdir)/$$p; then \
|
||||
destp=`basename $$p`; \
|
||||
echo " Install $$destp $(DESTDIR)$(pkglibdir)/$$destp"; \
|
||||
$(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkglibdir)/$$destp; \
|
||||
$(INSTALL_DATA) $(srcdir)/$$p "$(DESTDIR)$(pkglibdir)/$$destp"; \
|
||||
fi; \
|
||||
done
|
||||
@if test "x$(SHARED_BUILD)" = "x1"; then \
|
||||
echo " Install pkgIndex.tcl $(DESTDIR)$(pkglibdir)"; \
|
||||
$(INSTALL_DATA) pkgIndex.tcl $(DESTDIR)$(pkglibdir); \
|
||||
$(INSTALL_DATA) pkgIndex.tcl "$(DESTDIR)$(pkglibdir)"; \
|
||||
fi
|
||||
$(INSTALL_DATA) itclConfig.sh $(DESTDIR)$(pkglibdir)
|
||||
$(INSTALL_DATA) itclConfig.sh "$(DESTDIR)$(pkglibdir)"
|
||||
|
||||
#========================================================================
|
||||
# Install binary executables (e.g. .exe files and dependent .dll files)
|
||||
@@ -443,7 +443,7 @@ install-bin-binaries: binaries
|
||||
@list='$(bin_BINARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p"; \
|
||||
$(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p; \
|
||||
$(INSTALL_PROGRAM) $$p "$(DESTDIR)$(bindir)/$$p"; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
@@ -453,14 +453,14 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
|
||||
uninstall-binaries:
|
||||
list='$(lib_BINARIES)'; for p in $$list; do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$p; \
|
||||
rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
|
||||
done
|
||||
list='$(PKG_TCL_SOURCES)'; for p in $$list; do \
|
||||
p=`basename $$p`; \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$p; \
|
||||
rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
|
||||
done
|
||||
list='$(bin_BINARIES)'; for p in $$list; do \
|
||||
rm -f $(DESTDIR)$(bindir)/$$p; \
|
||||
rm -f "$(DESTDIR)$(bindir)/$$p"; \
|
||||
done
|
||||
|
||||
.PHONY: all binaries clean depend distclean doc install libraries test
|
||||
@@ -1,6 +1,6 @@
|
||||
README: Itcl
|
||||
|
||||
This is the 4.2.0 source distribution of Itcl, an object oriented
|
||||
This is the 4.2.1 source distribution of Itcl, an object oriented
|
||||
extension for Tcl. Itcl releases are available from Sourceforge at:
|
||||
|
||||
https://sourceforge.net/projects/incrtcl/files/%5Bincr%20Tcl_Tk%5D-4-source/
|
||||
209
pkgs/itcl4.2.0/configure → pkgs/itcl4.2.1/configure
vendored
209
pkgs/itcl4.2.0/configure → pkgs/itcl4.2.1/configure
vendored
@@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.69 for itcl 4.2.0.
|
||||
# Generated by GNU Autoconf 2.69 for itcl 4.2.1.
|
||||
#
|
||||
#
|
||||
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
|
||||
@@ -577,8 +577,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='itcl'
|
||||
PACKAGE_TARNAME='itcl'
|
||||
PACKAGE_VERSION='4.2.0'
|
||||
PACKAGE_STRING='itcl 4.2.0'
|
||||
PACKAGE_VERSION='4.2.1'
|
||||
PACKAGE_STRING='itcl 4.2.1'
|
||||
PACKAGE_BUGREPORT=''
|
||||
PACKAGE_URL=''
|
||||
|
||||
@@ -638,7 +638,6 @@ MAKE_STUB_LIB
|
||||
MAKE_STATIC_LIB
|
||||
MAKE_SHARED_LIB
|
||||
MAKE_LIB
|
||||
TCL_DBGX
|
||||
LDFLAGS_DEFAULT
|
||||
CFLAGS_DEFAULT
|
||||
LD_LIBRARY_PATH_VAR
|
||||
@@ -646,6 +645,8 @@ SHLIB_CFLAGS
|
||||
SHLIB_LD_LIBS
|
||||
SHLIB_LD
|
||||
STLIB_LD
|
||||
LDFLAGS_OPTIMIZE
|
||||
LDFLAGS_DEBUG
|
||||
CFLAGS_WARNING
|
||||
CFLAGS_OPTIMIZE
|
||||
CFLAGS_DEBUG
|
||||
@@ -1305,7 +1306,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures itcl 4.2.0 to adapt to many kinds of systems.
|
||||
\`configure' configures itcl 4.2.1 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1366,7 +1367,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of itcl 4.2.0:";;
|
||||
short | recursive ) echo "Configuration of itcl 4.2.1:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1466,7 +1467,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
itcl configure 4.2.0
|
||||
itcl configure 4.2.1
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
@@ -1885,7 +1886,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by itcl $as_me 4.2.0, which was
|
||||
It was created by itcl $as_me 4.2.1, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -3426,10 +3427,6 @@ $as_echo "loading" >&6; }
|
||||
$as_echo "could not find ${TCL_BIN_DIR}/tclConfig.sh" >&6; }
|
||||
fi
|
||||
|
||||
# eval is required to do the TCL_DBGX substitution
|
||||
eval "TCL_LIB_FILE=\"${TCL_LIB_FILE}\""
|
||||
eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\""
|
||||
|
||||
# If the TCL_BIN_DIR is the build directory (not the install directory),
|
||||
# then set the common variable name to the value of the build variables.
|
||||
# For example, the variable TCL_LIB_SPEC will be set to the value
|
||||
@@ -3463,12 +3460,6 @@ $as_echo "could not find ${TCL_BIN_DIR}/tclConfig.sh" >&6; }
|
||||
esac
|
||||
fi
|
||||
|
||||
# eval is required to do the TCL_DBGX substitution
|
||||
eval "TCL_LIB_FLAG=\"${TCL_LIB_FLAG}\""
|
||||
eval "TCL_LIB_SPEC=\"${TCL_LIB_SPEC}\""
|
||||
eval "TCL_STUB_LIB_FLAG=\"${TCL_STUB_LIB_FLAG}\""
|
||||
eval "TCL_STUB_LIB_SPEC=\"${TCL_STUB_LIB_SPEC}\""
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -5087,7 +5078,7 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
|
||||
for i in $vars; do
|
||||
if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then
|
||||
# Convert foo.lib to -lfoo for GCC. No-op if not *.lib
|
||||
i=`echo "$i" | sed -e 's/^\([^-].*\)\.lib$/-l\1/i'`
|
||||
i=`echo "$i" | sed -e 's/^\([^-].*\)\.[lL][iI][bB]$/-l\1/'`
|
||||
fi
|
||||
PKG_LIBS="$PKG_LIBS $i"
|
||||
done
|
||||
@@ -6127,7 +6118,7 @@ fi
|
||||
for i in $vars; do
|
||||
if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then
|
||||
# Convert foo.lib to -lfoo for GCC. No-op if not *.lib
|
||||
i=`echo "$i" | sed -e 's/^\([^-].*\)\.lib$/-l\1/i'`
|
||||
i=`echo "$i" | sed -e 's/^\([^-].*\)\.[lL][iI][bB]$/-l\1/'`
|
||||
fi
|
||||
PKG_LIBS="$PKG_LIBS $i"
|
||||
done
|
||||
@@ -6152,7 +6143,7 @@ fi
|
||||
for i in $vars; do
|
||||
if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then
|
||||
# Convert foo.lib to -lfoo for GCC. No-op if not *.lib
|
||||
i=`echo "$i" | sed -e 's/^\([^-].*\)\.lib$/-l\1/i'`
|
||||
i=`echo "$i" | sed -e 's/^\([^-].*\)\.[lL][iI][bB]$/-l\1/'`
|
||||
fi
|
||||
PKG_LIBS="$PKG_LIBS $i"
|
||||
done
|
||||
@@ -6301,14 +6292,14 @@ $as_echo "$ac_cv_cross" >&6; }
|
||||
if test "$ac_cv_cross" = "yes"; then
|
||||
case "$do64bit" in
|
||||
amd64|x64|yes)
|
||||
CC="x86_64-w64-mingw32-gcc"
|
||||
CC="x86_64-w64-mingw32-${CC}"
|
||||
LD="x86_64-w64-mingw32-ld"
|
||||
AR="x86_64-w64-mingw32-ar"
|
||||
RANLIB="x86_64-w64-mingw32-ranlib"
|
||||
RC="x86_64-w64-mingw32-windres"
|
||||
;;
|
||||
*)
|
||||
CC="i686-w64-mingw32-gcc"
|
||||
CC="i686-w64-mingw32-${CC}"
|
||||
LD="i686-w64-mingw32-ld"
|
||||
AR="i686-w64-mingw32-ar"
|
||||
RANLIB="i686-w64-mingw32-ranlib"
|
||||
@@ -6389,14 +6380,14 @@ fi
|
||||
SHLIB_LD="/usr/ccs/bin/ld -G -z text"
|
||||
if test "$GCC" = yes; then :
|
||||
|
||||
CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-R,${LIB_RUNTIME_DIR}"'
|
||||
|
||||
else
|
||||
|
||||
CC_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-R${LIB_RUNTIME_DIR}"'
|
||||
|
||||
fi
|
||||
LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
|
||||
LD_SEARCH_FLAGS='-R "${LIB_RUNTIME_DIR}"'
|
||||
|
||||
else
|
||||
|
||||
@@ -6411,7 +6402,7 @@ else
|
||||
|
||||
fi
|
||||
SHLIB_LD="${SHLIB_LD} ${SHLIB_LD_FLAGS}"
|
||||
CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-L${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
|
||||
|
||||
fi
|
||||
@@ -6487,39 +6478,6 @@ fi
|
||||
SHLIB_LD='${CC} -shared'
|
||||
SHLIB_SUFFIX=".dll"
|
||||
SHLIB_LD_LIBS="${SHLIB_LD_LIBS} -Wl,--out-implib,\$@.a"
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Cygwin version of gcc" >&5
|
||||
$as_echo_n "checking for Cygwin version of gcc... " >&6; }
|
||||
if ${ac_cv_cygwin+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
#ifdef __CYGWIN__
|
||||
#error cygwin
|
||||
#endif
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
ac_cv_cygwin=no
|
||||
else
|
||||
ac_cv_cygwin=yes
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cygwin" >&5
|
||||
$as_echo "$ac_cv_cygwin" >&6; }
|
||||
if test "$ac_cv_cygwin" = "no"; then
|
||||
as_fn_error $? "${CC} is not a cygwin compiler." "$LINENO" 5
|
||||
fi
|
||||
EXEEXT=".exe"
|
||||
do64bit_ok=yes
|
||||
CC_SEARCH_FLAGS=""
|
||||
@@ -6644,8 +6602,8 @@ fi
|
||||
SHLIB_CFLAGS="+z"
|
||||
SHLIB_LD="ld -b"
|
||||
LDFLAGS="$LDFLAGS -Wl,-E"
|
||||
CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
|
||||
LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.'
|
||||
CC_SEARCH_FLAGS='"-Wl,+s,+b,${LIB_RUNTIME_DIR}:."'
|
||||
LD_SEARCH_FLAGS='+s +b "${LIB_RUNTIME_DIR}:."'
|
||||
LD_LIBRARY_PATH_VAR="SHLIB_PATH"
|
||||
|
||||
fi
|
||||
@@ -6672,7 +6630,7 @@ fi
|
||||
SHLIB_LD='${CC} -shared'
|
||||
if test $doRpath = yes; then :
|
||||
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
|
||||
fi
|
||||
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
|
||||
;;
|
||||
@@ -6741,8 +6699,8 @@ fi
|
||||
SHLIB_LD="ld -b"
|
||||
SHLIB_LD_LIBS=""
|
||||
LDFLAGS="$LDFLAGS -Wl,-E"
|
||||
CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
|
||||
LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.'
|
||||
CC_SEARCH_FLAGS='"-Wl,+s,+b,${LIB_RUNTIME_DIR}:."'
|
||||
LD_SEARCH_FLAGS='+s +b "${LIB_RUNTIME_DIR}:."'
|
||||
LD_LIBRARY_PATH_VAR="SHLIB_PATH"
|
||||
|
||||
fi ;;
|
||||
@@ -6758,8 +6716,8 @@ esac
|
||||
|
||||
if test $doRpath = yes; then :
|
||||
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS='-rpath "${LIB_RUNTIME_DIR}"'
|
||||
fi
|
||||
;;
|
||||
IRIX-6.*)
|
||||
@@ -6768,8 +6726,8 @@ fi
|
||||
SHLIB_SUFFIX=".so"
|
||||
if test $doRpath = yes; then :
|
||||
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS='-rpath "${LIB_RUNTIME_DIR}"'
|
||||
fi
|
||||
if test "$GCC" = yes; then :
|
||||
|
||||
@@ -6797,8 +6755,8 @@ fi
|
||||
SHLIB_SUFFIX=".so"
|
||||
if test $doRpath = yes; then :
|
||||
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS='-rpath "${LIB_RUNTIME_DIR}"'
|
||||
fi
|
||||
|
||||
# Check to enable 64-bit flags for compiler/linker
|
||||
@@ -6821,7 +6779,7 @@ fi
|
||||
|
||||
fi
|
||||
;;
|
||||
Linux*|GNU*|NetBSD-Debian)
|
||||
Linux*|GNU*|NetBSD-Debian|DragonFly-*|FreeBSD-*)
|
||||
SHLIB_CFLAGS="-fPIC"
|
||||
SHLIB_SUFFIX=".so"
|
||||
|
||||
@@ -6831,9 +6789,22 @@ fi
|
||||
# TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS
|
||||
SHLIB_LD='${CC} ${CFLAGS} ${LDFLAGS_DEFAULT} -shared'
|
||||
LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
|
||||
|
||||
case $system in
|
||||
DragonFly-*|FreeBSD-*)
|
||||
if test "${TCL_THREADS}" = "1"; then :
|
||||
|
||||
# The -pthread needs to go in the LDFLAGS, not LIBS
|
||||
LIBS=`echo $LIBS | sed s/-pthread//`
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
LDFLAGS="$LDFLAGS $PTHREAD_LIBS"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if test $doRpath = yes; then :
|
||||
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
|
||||
fi
|
||||
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
|
||||
if test "`uname -m`" = "alpha"; then :
|
||||
@@ -6898,8 +6869,8 @@ fi
|
||||
LD_FLAGS="-Wl,--export-dynamic"
|
||||
if test $doRpath = yes; then :
|
||||
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
|
||||
fi
|
||||
;;
|
||||
OpenBSD-*)
|
||||
@@ -6916,11 +6887,11 @@ fi
|
||||
SHLIB_SUFFIX=".so"
|
||||
if test $doRpath = yes; then :
|
||||
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
|
||||
fi
|
||||
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
|
||||
SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so${SHLIB_VERSION}'
|
||||
LDFLAGS="-Wl,-export-dynamic"
|
||||
LDFLAGS="$LDFLAGS -Wl,-export-dynamic"
|
||||
CFLAGS_OPTIMIZE="-O2"
|
||||
# On OpenBSD: Compile with -pthread
|
||||
# Don't link with -lpthread
|
||||
@@ -6938,7 +6909,7 @@ fi
|
||||
LDFLAGS="$LDFLAGS -export-dynamic"
|
||||
if test $doRpath = yes; then :
|
||||
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
|
||||
fi
|
||||
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
|
||||
# The -pthread needs to go in the CFLAGS, not LIBS
|
||||
@@ -6946,32 +6917,6 @@ fi
|
||||
CFLAGS="$CFLAGS -pthread"
|
||||
LDFLAGS="$LDFLAGS -pthread"
|
||||
;;
|
||||
DragonFly-*|FreeBSD-*)
|
||||
# This configuration from FreeBSD Ports.
|
||||
SHLIB_CFLAGS="-fPIC"
|
||||
SHLIB_LD="${CC} -shared"
|
||||
SHLIB_LD_LIBS="${SHLIB_LD_LIBS} -Wl,-soname,\$@"
|
||||
SHLIB_SUFFIX=".so"
|
||||
LDFLAGS=""
|
||||
if test $doRpath = yes; then :
|
||||
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
fi
|
||||
# The -pthread needs to go in the LDFLAGS, not LIBS
|
||||
LIBS=`echo $LIBS | sed s/-pthread//`
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
LDFLAGS="$LDFLAGS $PTHREAD_LIBS"
|
||||
case $system in
|
||||
FreeBSD-3.*)
|
||||
# Version numbers are dot-stripped by system policy.
|
||||
TCL_TRIM_DOTS=`echo ${PACKAGE_VERSION} | tr -d .`
|
||||
UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
|
||||
SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1'
|
||||
TCL_LIB_VERSIONS_OK=nodots
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
Darwin-*)
|
||||
CFLAGS_OPTIMIZE="-Os"
|
||||
SHLIB_CFLAGS="-fno-common"
|
||||
@@ -7280,7 +7225,7 @@ fi
|
||||
SHLIB_SUFFIX=".so"
|
||||
if test $doRpath = yes; then :
|
||||
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
|
||||
fi
|
||||
if test "$GCC" = yes; then :
|
||||
@@ -7350,13 +7295,13 @@ $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
|
||||
if test "$GCC" = yes; then :
|
||||
|
||||
SHLIB_LD='${CC} -shared'
|
||||
CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-R,${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
|
||||
|
||||
else
|
||||
|
||||
SHLIB_LD="/usr/ccs/bin/ld -G -z text"
|
||||
CC_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='-R "${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
|
||||
|
||||
fi
|
||||
@@ -7456,7 +7401,7 @@ fi
|
||||
if test "$GCC" = yes; then :
|
||||
|
||||
SHLIB_LD='${CC} -shared'
|
||||
CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-R,${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
|
||||
if test "$do64bit_ok" = yes; then :
|
||||
|
||||
@@ -7493,8 +7438,8 @@ else
|
||||
*)
|
||||
SHLIB_LD='/usr/ccs/bin/ld -G -z text';;
|
||||
esac
|
||||
CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
|
||||
LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-R,${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS='-R "${LIB_RUNTIME_DIR}"'
|
||||
|
||||
fi
|
||||
;;
|
||||
@@ -7793,6 +7738,8 @@ fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# These must be called after we do the basic CFLAGS checks and
|
||||
# verify any possible 64-bit or similar switches are necessary
|
||||
|
||||
@@ -8187,7 +8134,6 @@ else
|
||||
tcl_ok=no
|
||||
fi
|
||||
|
||||
DBGX=""
|
||||
if test "$tcl_ok" = "no"; then
|
||||
CFLAGS_DEFAULT="${CFLAGS_OPTIMIZE} -DNDEBUG"
|
||||
LDFLAGS_DEFAULT="${LDFLAGS_OPTIMIZE}"
|
||||
@@ -8201,11 +8147,6 @@ $as_echo "no" >&6; }
|
||||
$as_echo "yes (standard debugging)" >&6; }
|
||||
fi
|
||||
fi
|
||||
# TEA specific:
|
||||
if test "${TEA_PLATFORM}" != "windows" ; then
|
||||
LDFLAGS_DEFAULT="${LDFLAGS}"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -8291,7 +8232,7 @@ fi
|
||||
|
||||
if test "${TEA_PLATFORM}" = "windows" -a "$GCC" != "yes"; then
|
||||
MAKE_STATIC_LIB="\${STLIB_LD} -out:\$@ \$(PKG_OBJECTS)"
|
||||
MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LD_LIBS} \${LDFLAGS_DEFAULT} -out:\$@ \$(PKG_OBJECTS)"
|
||||
MAKE_SHARED_LIB="\${SHLIB_LD} \${LDFLAGS} \${LDFLAGS_DEFAULT} -out:\$@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS}"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
@@ -8317,7 +8258,7 @@ rm -f conftest*
|
||||
MAKE_STUB_LIB="\${STLIB_LD} -nodefaultlib -out:\$@ \$(PKG_STUB_OBJECTS)"
|
||||
else
|
||||
MAKE_STATIC_LIB="\${STLIB_LD} \$@ \$(PKG_OBJECTS)"
|
||||
MAKE_SHARED_LIB="\${SHLIB_LD} -o \$@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS}"
|
||||
MAKE_SHARED_LIB="\${SHLIB_LD} \${LDFLAGS} \${LDFLAGS_DEFAULT} -o \$@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS}"
|
||||
MAKE_STUB_LIB="\${STLIB_LD} \$@ \$(PKG_STUB_OBJECTS)"
|
||||
fi
|
||||
|
||||
@@ -8405,14 +8346,14 @@ $as_echo_n "checking for tclsh... " >&6; }
|
||||
if test -f "${TCL_BIN_DIR}/Makefile" ; then
|
||||
# tclConfig.sh is in Tcl build directory
|
||||
if test "${TEA_PLATFORM}" = "windows"; then
|
||||
if test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}" ; then
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}"
|
||||
elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}s${EXEEXT}" ; then
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}s${EXEEXT}"
|
||||
elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}t${EXEEXT}" ; then
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}t${EXEEXT}"
|
||||
elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}st${EXEEXT}" ; then
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}st${EXEEXT}"
|
||||
if test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${EXEEXT}" ; then
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${EXEEXT}"
|
||||
elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}s${EXEEXT}" ; then
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}s${EXEEXT}"
|
||||
elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}t${EXEEXT}" ; then
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}t${EXEEXT}"
|
||||
elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}st${EXEEXT}" ; then
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}st${EXEEXT}"
|
||||
fi
|
||||
else
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh"
|
||||
@@ -8420,9 +8361,9 @@ $as_echo_n "checking for tclsh... " >&6; }
|
||||
else
|
||||
# tclConfig.sh is in install location
|
||||
if test "${TEA_PLATFORM}" = "windows"; then
|
||||
TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}"
|
||||
TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${EXEEXT}"
|
||||
else
|
||||
TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}${TCL_DBGX}"
|
||||
TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}"
|
||||
fi
|
||||
list="`ls -d ${TCL_BIN_DIR}/../bin 2>/dev/null` \
|
||||
`ls -d ${TCL_BIN_DIR}/.. 2>/dev/null` \
|
||||
@@ -8453,11 +8394,11 @@ $as_echo "${TCLSH_PROG}" >&6; }
|
||||
# pkglibdir must be a fully qualified path and (not ${exec_prefix}/lib)
|
||||
eval pkglibdir="${libdir}/itcl${PACKAGE_VERSION}"
|
||||
if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
|
||||
eval itcl_LIB_FLAG="-litcl${PACKAGE_VERSION}${DBGX}"
|
||||
eval itcl_STUB_LIB_FLAG="-litclstub${PACKAGE_VERSION}${DBGX}"
|
||||
eval itcl_LIB_FLAG="-litcl${PACKAGE_VERSION}"
|
||||
eval itcl_STUB_LIB_FLAG="-litclstub${PACKAGE_VERSION}"
|
||||
else
|
||||
eval itcl_LIB_FLAG="-litcl`echo ${PACKAGE_VERSION} | tr -d .`${DBGX}"
|
||||
eval itcl_STUB_LIB_FLAG="-litclstub`echo ${PACKAGE_VERSION} | tr -d .`${DBGX}"
|
||||
eval itcl_LIB_FLAG="-litcl`echo ${PACKAGE_VERSION} | tr -d .`"
|
||||
eval itcl_STUB_LIB_FLAG="-litclstub`echo ${PACKAGE_VERSION} | tr -d .`"
|
||||
fi
|
||||
itcl_BUILD_LIB_SPEC="-L`$CYGPATH $(pwd)` ${itcl_LIB_FLAG}"
|
||||
itcl_LIB_SPEC="-L`$CYGPATH ${pkglibdir}` ${itcl_LIB_FLAG}"
|
||||
@@ -9038,7 +8979,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by itcl $as_me 4.2.0, which was
|
||||
This file was extended by itcl $as_me 4.2.1, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -9091,7 +9032,7 @@ _ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||
ac_cs_version="\\
|
||||
itcl config.status 4.2.0
|
||||
itcl config.status 4.2.1
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
@@ -19,7 +19,7 @@ dnl to configure the system for the local environment.
|
||||
# so that we create the export library with the dll.
|
||||
#-----------------------------------------------------------------------
|
||||
|
||||
AC_INIT([itcl], [4.2.0])
|
||||
AC_INIT([itcl],[4.2.1])
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Call TEA_INIT as the first TEA_ macro to set up initial vars.
|
||||
@@ -272,4 +272,5 @@ AC_SUBST(itcl_INCLUDE_SPEC)
|
||||
# which require substituting the AC variables in. Include these here.
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
AC_OUTPUT([Makefile pkgIndex.tcl itclConfig.sh])
|
||||
AC_CONFIG_FILES([Makefile pkgIndex.tcl itclConfig.sh])
|
||||
AC_OUTPUT
|
||||
@@ -53,7 +53,7 @@ alternative that does not suffer from them.
|
||||
of memory of at least \fIsize\fR bytes. All \fIsize\fR bytes are
|
||||
initialized to zero.
|
||||
.PP
|
||||
A module calls \fBItcl_PreserveData\fR on a pointer \fIptr\fR
|
||||
A module calls \fBItcl_PreserveData\fR on a pointer \fIptr\fR
|
||||
allocated by \fBItcl_Alloc\fR to prevent deallocation of that memory while
|
||||
the module remains interested in it.
|
||||
.PP
|
||||
@@ -385,21 +385,21 @@ this list.
|
||||
.
|
||||
With no arguments, this command returns a list of all object-specific
|
||||
variables and common data members. If \fIvarName\fR is specified, it
|
||||
returns information for a specific data member.
|
||||
Flags can be specified with \fIvarName\fR in an arbitrary order.
|
||||
returns information for a specific data member.
|
||||
Flags can be specified with \fIvarName\fR in an arbitrary order.
|
||||
The result is a list of the specific information in exactly the
|
||||
same order as the flags are specified.
|
||||
|
||||
If no flags are given, this command returns a list
|
||||
If no flags are given, this command returns a list
|
||||
as if the followings flags have been specified:
|
||||
.IP
|
||||
\fB-protection\fR \fB-type\fR \fB-name\fR \fB-init\fR \fB-value\fR ?\fB-config\fR?
|
||||
|
||||
The \fB-config\fR result is only present if \fIvarName\fR is a public
|
||||
variable. It contains the code that is executed at initialization
|
||||
variable. It contains the code that is executed at initialization
|
||||
of \fIvarName\fR. The \fB-scope\fR flag gives the namespace context
|
||||
of \fIvarName\fR. Herewith the variable can be accessed from outside
|
||||
the object like any other variable. It is similar to the result of
|
||||
of \fIvarName\fR. Herewith the variable can be accessed from outside
|
||||
the object like any other variable. It is similar to the result of
|
||||
the \fBitcl::scope\fR command.
|
||||
|
||||
.RE
|
||||
16
pkgs/itcl4.2.1/generic/clientData
Normal file
16
pkgs/itcl4.2.1/generic/clientData
Normal file
@@ -0,0 +1,16 @@
|
||||
itcl2TclOO.c: framePtr->clientData = NULL;
|
||||
itcl2TclOO.c: framePtr->objc = objc;
|
||||
itcl2TclOO.c: framePtr->objv = objv;
|
||||
itcl2TclOO.c: framePtr->procPtr = procPtr;
|
||||
itcl2TclOO.c: if (framePtr == NULL || !(framePtr->isProcCallFrame & FRAME_IS_METHOD)) {
|
||||
itcl2TclOO.c: contextPtr = framePtr->clientData;
|
||||
itcl2TclOO.c: if (framePtr == NULL || !(framePtr->isProcCallFrame & FRAME_IS_METHOD)) {
|
||||
itclMigrate2TclCore.c: framePtr->isProcCallFrame |= FRAME_HAS_RESOLVER;
|
||||
itclMigrate2TclCore.c: framePtr->resolvePtr = resolvePtr;
|
||||
itclMigrate2TclCore.c: framePtr = framePtr->callerVarPtr;
|
||||
itclMigrate2TclCore.c: framePtr = framePtr->callerVarPtr;
|
||||
itclMigrate2TclCore.c: return (Tcl_Namespace *)framePtr->nsPtr;
|
||||
itclMigrate2TclCore.c: return framePtr->clientData;
|
||||
itclMigrate2TclCore.c: ((Interp *)interp)->framePtr->nsPtr = (Namespace *)nsPtr;
|
||||
itclMigrate2TclCore.c: return ((Interp *)interp)->framePtr->objc;
|
||||
itclMigrate2TclCore.c: return ((Interp *)interp)->framePtr->objv;
|
||||
@@ -85,7 +85,7 @@ extern "C" {
|
||||
#define ITCL_RELEASE_SERIAL 0
|
||||
|
||||
#define ITCL_VERSION "4.2"
|
||||
#define ITCL_PATCH_LEVEL "4.2.0"
|
||||
#define ITCL_PATCH_LEVEL "4.2.1"
|
||||
|
||||
|
||||
/*
|
||||
@@ -52,11 +52,12 @@ CallFinalizePMCall(
|
||||
static int
|
||||
FreeCommand(
|
||||
void *data[],
|
||||
Tcl_Interp *interp,
|
||||
Tcl_Interp *dummy,
|
||||
int result)
|
||||
{
|
||||
Command *cmdPtr = (Command *)data[0];
|
||||
Proc *procPtr = (Proc *)data[1];
|
||||
(void)dummy;
|
||||
|
||||
ckfree(cmdPtr);
|
||||
procPtr->cmdPtr = NULL;
|
||||
@@ -168,10 +169,12 @@ Itcl_InvokeProcedureMethod(
|
||||
static int
|
||||
FreeProcedureMethod(
|
||||
void *data[],
|
||||
Tcl_Interp *interp,
|
||||
Tcl_Interp *dummy,
|
||||
int result)
|
||||
{
|
||||
ProcedureMethod *pmPtr = (ProcedureMethod *)data[0];
|
||||
(void)dummy;
|
||||
|
||||
ckfree(pmPtr);
|
||||
return result;
|
||||
}
|
||||
@@ -237,8 +240,15 @@ Itcl_PublicObjectCmd(
|
||||
Tcl_Object oPtr = (Tcl_Object)clientData;
|
||||
int result;
|
||||
|
||||
result = TclOOInvokeObject(interp, oPtr, clsPtr, PUBLIC_METHOD,
|
||||
if (oPtr) {
|
||||
result = TclOOInvokeObject(interp, oPtr, clsPtr, PUBLIC_METHOD,
|
||||
objc, objv);
|
||||
} else {
|
||||
Tcl_AppendStringsToObj(Tcl_GetObjResult(interp),
|
||||
"cannot access object-specific info without an object context",
|
||||
NULL);
|
||||
return TCL_ERROR;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -352,7 +362,7 @@ Itcl_TclOOObjectName(
|
||||
|
||||
int
|
||||
Itcl_SelfCmd(
|
||||
void *clientData,
|
||||
void *dummy,
|
||||
Tcl_Interp *interp,
|
||||
int objc,
|
||||
Tcl_Obj *const *objv)
|
||||
@@ -360,6 +370,7 @@ Itcl_SelfCmd(
|
||||
Interp *iPtr = (Interp *) interp;
|
||||
CallFrame *framePtr = iPtr->varFramePtr;
|
||||
CallContext *contextPtr;
|
||||
(void)dummy;
|
||||
|
||||
if (!Itcl_IsMethodCallFrame(interp)) {
|
||||
Tcl_AppendResult(interp, TclGetString(objv[0]),
|
||||
@@ -466,15 +466,16 @@ Itcl_SafeInit (
|
||||
static int
|
||||
ItclSetHullWindowName(
|
||||
void *clientData, /* infoPtr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
Tcl_Interp *dummy, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
{
|
||||
ItclObjectInfo *infoPtr;
|
||||
(void)dummy;
|
||||
|
||||
infoPtr = (ItclObjectInfo *)clientData;
|
||||
if (infoPtr->currIoPtr != NULL) {
|
||||
infoPtr->currIoPtr->hullWindowNamePtr = objv[1];
|
||||
if ((infoPtr->currIoPtr != NULL) && (objc > 1)) {
|
||||
infoPtr->currIoPtr->hullWindowNamePtr = objv[1];
|
||||
Tcl_IncrRefCount(infoPtr->currIoPtr->hullWindowNamePtr);
|
||||
}
|
||||
return TCL_OK;
|
||||
@@ -364,7 +364,7 @@ Itcl_BiInit(
|
||||
return TCL_ERROR;
|
||||
}
|
||||
/*
|
||||
* Install into the master [info] ensemble.
|
||||
* Install into the [info] ensemble.
|
||||
*/
|
||||
|
||||
infoCmd = Tcl_FindCommand(interp, "info", NULL, TCL_GLOBAL_ONLY);
|
||||
@@ -490,7 +490,7 @@ Itcl_InstallBiMethods(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiIsaCmd(
|
||||
void *clientData, /* class definition */
|
||||
void *dummy, /* class definition */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -500,6 +500,7 @@ Itcl_BiIsaCmd(
|
||||
|
||||
ItclClass *contextIclsPtr;
|
||||
ItclObject *contextIoPtr;
|
||||
(void)dummy;
|
||||
|
||||
/*
|
||||
* Make sure that this command is being invoked in the proper
|
||||
@@ -569,7 +570,7 @@ Itcl_BiIsaCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiConfigureCmd(
|
||||
void *clientData, /* class definition */
|
||||
void *dummy, /* class definition */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -597,6 +598,7 @@ Itcl_BiConfigureCmd(
|
||||
int i;
|
||||
int unparsedObjc;
|
||||
int result;
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1, "Itcl_BiConfigureCmd", objc, objv);
|
||||
vlookup = NULL;
|
||||
@@ -843,7 +845,7 @@ configureDone:
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiCgetCmd(
|
||||
void *clientData, /* class definition */
|
||||
void *dummy, /* class definition */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -856,6 +858,7 @@ Itcl_BiCgetCmd(
|
||||
const char *name;
|
||||
const char *val;
|
||||
int result;
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1,"Itcl_BiCgetCmd", objc, objv);
|
||||
/*
|
||||
@@ -1100,6 +1103,7 @@ NRBiChainCmd(
|
||||
int cObjc;
|
||||
int idx;
|
||||
Tcl_Obj *objPtr;
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1, "Itcl_BiChainCmd", objc, objv);
|
||||
|
||||
@@ -1923,7 +1927,7 @@ static Tcl_Obj *makeAsOptionInfo(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
ItclExtendedConfigure(
|
||||
void *clientData, /* class definition */
|
||||
void *dummy, /* class definition */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -1966,7 +1970,8 @@ ItclExtendedConfigure(
|
||||
int j;
|
||||
int isNew;
|
||||
int result;
|
||||
int isOneOption;
|
||||
int isOneOption;
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1, "ItclExtendedConfigure", objc, objv);
|
||||
ioptPtr = NULL;
|
||||
@@ -2590,7 +2595,7 @@ ItclExtendedConfigure(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
ItclExtendedCget(
|
||||
void *clientData, /* class definition */
|
||||
void *dummy, /* class definition */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -2614,6 +2619,7 @@ ItclExtendedCget(
|
||||
const char *val;
|
||||
int i;
|
||||
int result;
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1,"ItclExtendedCget", objc, objv);
|
||||
/*
|
||||
@@ -2828,7 +2834,7 @@ ItclExtendedCget(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
ItclExtendedSetGet(
|
||||
void *clientData, /* class definition */
|
||||
void *dummy, /* class definition */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -2844,6 +2850,7 @@ ItclExtendedSetGet(
|
||||
const char *val;
|
||||
int result;
|
||||
int setValue;
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1, "ItclExtendedSetGet", objc, objv);
|
||||
imvPtr = NULL;
|
||||
@@ -2946,7 +2953,7 @@ ItclExtendedSetGet(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiInstallComponentCmd(
|
||||
void *clientData, /* class definition */
|
||||
void *dummy, /* class definition */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -2962,7 +2969,7 @@ Itcl_BiInstallComponentCmd(
|
||||
const char *token;
|
||||
int numOpts;
|
||||
int result;
|
||||
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1, "Itcl_BiInstallComponentCmd", objc, objv);
|
||||
/*
|
||||
@@ -3081,7 +3088,7 @@ Itcl_BiInstallComponentCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiDestroyCmd(
|
||||
void *clientData, /* class definition */
|
||||
void *dummy, /* class definition */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -3090,6 +3097,7 @@ Itcl_BiDestroyCmd(
|
||||
ItclClass *contextIclsPtr;
|
||||
ItclObject *contextIoPtr;
|
||||
int result;
|
||||
(void)dummy;
|
||||
|
||||
/*
|
||||
* Make sure that this command is being invoked in the proper
|
||||
@@ -3158,7 +3166,7 @@ Itcl_BiDestroyCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiCallInstanceCmd(
|
||||
void *clientData, /* class definition */
|
||||
void *dummy, /* class definition */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -3171,6 +3179,7 @@ Itcl_BiCallInstanceCmd(
|
||||
ItclObject *ioPtr;
|
||||
const char *token;
|
||||
int result;
|
||||
(void)dummy;
|
||||
|
||||
/*
|
||||
* Make sure that this command is being invoked in the proper
|
||||
@@ -3225,7 +3234,7 @@ Itcl_BiCallInstanceCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiGetInstanceVarCmd(
|
||||
void *clientData, /* class definition */
|
||||
void *dummy, /* class definition */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -3238,6 +3247,7 @@ Itcl_BiGetInstanceVarCmd(
|
||||
ItclObject *ioPtr;
|
||||
const char *token;
|
||||
int result;
|
||||
(void)dummy;
|
||||
|
||||
/*
|
||||
* Make sure that this command is being invoked in the proper
|
||||
@@ -3291,7 +3301,7 @@ Itcl_BiGetInstanceVarCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiMyTypeMethodCmd(
|
||||
void *clientData, /* class definition */
|
||||
void *dummy, /* class definition */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -3301,6 +3311,7 @@ Itcl_BiMyTypeMethodCmd(
|
||||
ItclClass *contextIclsPtr;
|
||||
ItclObject *contextIoPtr;
|
||||
int i;
|
||||
(void)dummy;
|
||||
|
||||
/*
|
||||
* Make sure that this command is being invoked in the proper
|
||||
@@ -3341,7 +3352,7 @@ Itcl_BiMyTypeMethodCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiMyMethodCmd(
|
||||
void *clientData, /* class definition */
|
||||
void *dummy, /* class definition */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -3350,6 +3361,7 @@ Itcl_BiMyMethodCmd(
|
||||
int i;
|
||||
ItclClass *contextIclsPtr;
|
||||
ItclObject *contextIoPtr;
|
||||
(void)dummy;
|
||||
|
||||
/*
|
||||
* Make sure that this command is being invoked in the proper
|
||||
@@ -3390,7 +3402,7 @@ Itcl_BiMyMethodCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiMyProcCmd(
|
||||
void *clientData, /* class definition */
|
||||
void *dummy, /* class definition */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -3400,6 +3412,7 @@ Itcl_BiMyProcCmd(
|
||||
ItclClass *contextIclsPtr;
|
||||
ItclObject *contextIoPtr;
|
||||
int i;
|
||||
(void)dummy;
|
||||
|
||||
/*
|
||||
* Make sure that this command is being invoked in the proper
|
||||
@@ -3441,7 +3454,7 @@ Itcl_BiMyProcCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiMyTypeVarCmd(
|
||||
void *clientData, /* class definition */
|
||||
void *dummy, /* class definition */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -3451,6 +3464,7 @@ Itcl_BiMyTypeVarCmd(
|
||||
ItclClass *contextIclsPtr;
|
||||
ItclObject *contextIoPtr;
|
||||
int i;
|
||||
(void)dummy;
|
||||
|
||||
/*
|
||||
* Make sure that this command is being invoked in the proper
|
||||
@@ -3493,7 +3507,7 @@ Itcl_BiMyTypeVarCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiMyVarCmd(
|
||||
void *clientData, /* class definition */
|
||||
void *dummy, /* class definition */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -3501,6 +3515,7 @@ Itcl_BiMyVarCmd(
|
||||
Tcl_Obj *resultPtr;
|
||||
ItclClass *contextIclsPtr;
|
||||
ItclObject *contextIoPtr;
|
||||
(void)dummy;
|
||||
|
||||
/*
|
||||
* Make sure that this command is being invoked in the proper
|
||||
@@ -3511,7 +3526,7 @@ Itcl_BiMyVarCmd(
|
||||
if (Itcl_GetContext(interp, &contextIclsPtr, &contextIoPtr) != TCL_OK) {
|
||||
return TCL_ERROR;
|
||||
}
|
||||
if (contextIoPtr != NULL) {
|
||||
if ((contextIoPtr != NULL) && (objc > 1)) {
|
||||
resultPtr = Tcl_NewStringObj(Tcl_GetString(contextIoPtr->varNsNamePtr),
|
||||
-1);
|
||||
Tcl_AppendToObj(resultPtr, "::", -1);
|
||||
@@ -3537,7 +3552,7 @@ Itcl_BiMyVarCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiItclHullCmd(
|
||||
void *clientData, /* class definition */
|
||||
void *dummy, /* class definition */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -3545,6 +3560,9 @@ Itcl_BiItclHullCmd(
|
||||
ItclClass *contextIclsPtr;
|
||||
ItclObject *contextIoPtr;
|
||||
const char *val;
|
||||
(void)dummy;
|
||||
(void)objc;
|
||||
(void)objv;
|
||||
|
||||
/*
|
||||
* Make sure that this command is being invoked in the proper
|
||||
@@ -57,11 +57,13 @@ ItclReleaseClass(
|
||||
{
|
||||
ItclClass *iclsPtr = (ItclClass *)clientData;
|
||||
|
||||
assert(iclsPtr->refCount != 0);
|
||||
if (iclsPtr->refCount-- <= 1) {
|
||||
ItclFreeClass((char *) clientData);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* ------------------------------------------------------------------------
|
||||
* Itcl_DeleteMemberFunc()
|
||||
@@ -133,7 +135,6 @@ ItclDeleteClassMetadata(
|
||||
} else {
|
||||
ItclDestroyClass2(iclsPtr);
|
||||
}
|
||||
ItclReleaseClass(iclsPtr);
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -146,6 +147,7 @@ CallNewObjectInstance(
|
||||
const char *path = (const char *)data[1];
|
||||
Tcl_Object *oPtr = (Tcl_Object *)data[2];
|
||||
Tcl_Obj *nameObjPtr = (Tcl_Obj *)data[3];
|
||||
(void)result;
|
||||
|
||||
*oPtr = NULL;
|
||||
if (infoPtr->clazzClassPtr) {
|
||||
@@ -566,6 +568,8 @@ ItclDeleteClassVariablesNamespace(
|
||||
Tcl_Interp *interp,
|
||||
ItclClass *iclsPtr)
|
||||
{
|
||||
(void)interp;
|
||||
(void)iclsPtr;
|
||||
/* TODO: why is this being skipped? */
|
||||
return;
|
||||
}
|
||||
@@ -1635,7 +1639,7 @@ ItclResolveVarEntry(
|
||||
Tcl_Obj *vnObjPtr;
|
||||
int newEntry, processAncestors;
|
||||
size_t varLen;
|
||||
|
||||
|
||||
/* (de)qualify to simple name */
|
||||
varName = simpleName = lookupName;
|
||||
while(*varName) {
|
||||
@@ -1644,7 +1648,7 @@ ItclResolveVarEntry(
|
||||
};
|
||||
}
|
||||
vnObjPtr = Tcl_NewStringObj(simpleName, -1);
|
||||
|
||||
|
||||
processAncestors = simpleName != lookupName;
|
||||
|
||||
Tcl_DStringInit(&buffer);
|
||||
@@ -1707,7 +1711,7 @@ ItclResolveVarEntry(
|
||||
}
|
||||
/* check leastQualName correction needed */
|
||||
if (!vlookup->leastQualName) {
|
||||
vlookup->leastQualName =
|
||||
vlookup->leastQualName = (char *)
|
||||
Tcl_GetHashKey(&iclsPtr->resolveVars, hPtr);
|
||||
}
|
||||
/* reset vlookup for full-qualified names - new lookup */
|
||||
@@ -1725,7 +1729,7 @@ ItclResolveVarEntry(
|
||||
setResVar:
|
||||
|
||||
vlookup->ivPtr = ivPtr;
|
||||
vlookup->leastQualName =
|
||||
vlookup->leastQualName = (char *)
|
||||
Tcl_GetHashKey(&iclsPtr->resolveVars, hPtr);
|
||||
|
||||
/*
|
||||
@@ -1859,7 +1863,7 @@ Itcl_BuildVirtualTables(
|
||||
if (hPtr == NULL) {
|
||||
break;
|
||||
}
|
||||
clookupPtr = Tcl_GetHashValue(hPtr);
|
||||
clookupPtr = (ItclCmdLookup *)Tcl_GetHashValue(hPtr);
|
||||
ckfree((char *)clookupPtr);
|
||||
Tcl_DeleteHashEntry(hPtr);
|
||||
}
|
||||
@@ -169,7 +169,7 @@ ItclShowArgs(1, "EVAL2", objc+1, newObjv);
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_FindClassesCmd(
|
||||
ClientData clientData, /* class/object info */
|
||||
ClientData dummy, /* class/object info */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -189,6 +189,7 @@ Itcl_FindClassesCmd(
|
||||
int newEntry;
|
||||
int handledActiveNs;
|
||||
int forceFullNames = 0;
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(2, "Itcl_FindClassesCmd", objc, objv);
|
||||
if (objc > 2) {
|
||||
@@ -302,7 +303,7 @@ Itcl_FindClassesCmd(
|
||||
*/
|
||||
int
|
||||
Itcl_FindObjectsCmd(
|
||||
ClientData clientData, /* class/object info */
|
||||
ClientData dummy, /* class/object info */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -332,6 +333,7 @@ Itcl_FindObjectsCmd(
|
||||
Tcl_CmdInfo cmdInfo;
|
||||
Tcl_Namespace *nsPtr;
|
||||
Tcl_Obj *objPtr;
|
||||
(void)dummy;
|
||||
|
||||
/*
|
||||
* Parse arguments:
|
||||
@@ -501,7 +503,7 @@ Itcl_FindObjectsCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
NRDelClassCmd(
|
||||
ClientData clientData, /* unused */
|
||||
ClientData dummy, /* unused */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -509,6 +511,7 @@ NRDelClassCmd(
|
||||
int i;
|
||||
char *name;
|
||||
ItclClass *iclsPtr;
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1, "Itcl_DelClassCmd", objc, objv);
|
||||
/*
|
||||
@@ -586,7 +589,7 @@ CallDeleteObject(
|
||||
|
||||
static int
|
||||
NRDelObjectCmd(
|
||||
ClientData clientData, /* object management info */
|
||||
ClientData dummy, /* object management info */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -596,6 +599,7 @@ NRDelObjectCmd(
|
||||
void *callbackPtr;
|
||||
int i;
|
||||
int result;
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1, "Itcl_DelObjectCmd", objc, objv);
|
||||
/*
|
||||
@@ -688,6 +692,7 @@ Itcl_ScopeCmd(
|
||||
char *token;
|
||||
int doAppend;
|
||||
int result;
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1, "Itcl_ScopeCmd", objc, objv);
|
||||
if (objc != 2) {
|
||||
@@ -907,6 +912,7 @@ Itcl_CodeCmd(
|
||||
Tcl_Obj *objPtr;
|
||||
const char *token;
|
||||
int pos;
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1, "Itcl_CodeCmd", objc, objv);
|
||||
/*
|
||||
@@ -997,7 +1003,7 @@ Itcl_CodeCmd(
|
||||
*/
|
||||
int
|
||||
Itcl_IsObjectCmd(
|
||||
ClientData clientData, /* class/object info */
|
||||
ClientData dummy, /* class/object info */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -1012,6 +1018,7 @@ Itcl_IsObjectCmd(
|
||||
Tcl_Command cmd;
|
||||
Tcl_Namespace *contextNs = NULL;
|
||||
ItclClass *iclsPtr = NULL;
|
||||
(void)dummy;
|
||||
|
||||
/*
|
||||
* Handle the arguments.
|
||||
@@ -1115,7 +1122,7 @@ Itcl_IsObjectCmd(
|
||||
*/
|
||||
int
|
||||
Itcl_IsClassCmd(
|
||||
ClientData clientData, /* class/object info */
|
||||
ClientData dummy, /* class/object info */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -1125,6 +1132,7 @@ Itcl_IsClassCmd(
|
||||
char *name;
|
||||
ItclClass *iclsPtr = NULL;
|
||||
Tcl_Namespace *contextNs = NULL;
|
||||
(void)dummy;
|
||||
|
||||
/*
|
||||
* Need itcl::is class classname
|
||||
@@ -1183,6 +1191,7 @@ Itcl_FilterAddCmd(
|
||||
{
|
||||
Tcl_Obj **newObjv;
|
||||
int result;
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1, "Itcl_FilterCmd", objc, objv);
|
||||
/* Tcl_Namespace *contextNs = Tcl_GetCurrentNamespace(interp); */
|
||||
@@ -1223,6 +1232,8 @@ Itcl_FilterDeleteCmd(
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
{
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1, "Itcl_FilterDeleteCmd", objc, objv);
|
||||
/* Tcl_Namespace *contextNs = Tcl_GetCurrentNamespace(interp); */
|
||||
|
||||
@@ -1252,6 +1263,7 @@ Itcl_ForwardAddCmd(
|
||||
Tcl_Method mPtr;
|
||||
ItclObjectInfo *infoPtr;
|
||||
ItclClass *iclsPtr;
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1, "Itcl_ForwardAddCmd", objc, objv);
|
||||
if (objc < 3) {
|
||||
@@ -1296,6 +1308,8 @@ Itcl_ForwardDeleteCmd(
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
{
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1, "Itcl_ForwardDeleteCmd", objc, objv);
|
||||
/* Tcl_Namespace *contextNs = Tcl_GetCurrentNamespace(interp); */
|
||||
|
||||
@@ -1322,6 +1336,7 @@ Itcl_MixinAddCmd(
|
||||
{
|
||||
Tcl_Obj **newObjv;
|
||||
int result;
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1, "Itcl_MixinAddCmd", objc, objv);
|
||||
if (objc < 3) {
|
||||
@@ -1360,6 +1375,8 @@ Itcl_MixinDeleteCmd(
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
{
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1, "Itcl_MixinDeleteCmd", objc, objv);
|
||||
/* Tcl_Namespace *contextNs = Tcl_GetCurrentNamespace(interp); */
|
||||
|
||||
@@ -1716,7 +1733,7 @@ Itcl_AddDelegatedFunctionCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_AddComponentCmd(
|
||||
ClientData clientData, /* infoPtr */
|
||||
ClientData dummy, /* infoPtr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -1736,6 +1753,7 @@ Itcl_AddComponentCmd(
|
||||
const char *varName;
|
||||
int isNew;
|
||||
int result;
|
||||
(void)dummy;
|
||||
|
||||
result = TCL_OK;
|
||||
contextIoPtr = NULL;
|
||||
@@ -1880,7 +1898,7 @@ Itcl_AddComponentCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_SetComponentCmd(
|
||||
ClientData clientData, /* infoPtr */
|
||||
ClientData dummy, /* infoPtr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -1895,6 +1913,7 @@ Itcl_SetComponentCmd(
|
||||
const char *name;
|
||||
const char *val;
|
||||
int result;
|
||||
(void)dummy;
|
||||
|
||||
result = TCL_OK;
|
||||
contextIoPtr = NULL;
|
||||
@@ -82,8 +82,8 @@ typedef struct Ensemble {
|
||||
* Data shared by ensemble access commands and ensemble parser:
|
||||
*/
|
||||
typedef struct EnsembleParser {
|
||||
Tcl_Interp* master; /* master interp containing ensembles */
|
||||
Tcl_Interp* parser; /* slave interp for parsing */
|
||||
Tcl_Interp* interp; /* interpreter containing ensembles */
|
||||
Tcl_Interp* parser; /* child interp for parsing */
|
||||
Ensemble* ensData; /* add parts to this ensemble */
|
||||
} EnsembleParser;
|
||||
|
||||
@@ -1681,22 +1681,22 @@ Itcl_EnsembleCmd(
|
||||
ensName = Tcl_GetString(objv[1]);
|
||||
|
||||
if (ensData) {
|
||||
if (FindEnsemblePart(ensInfo->master, ensData, ensName, &ensPart) != TCL_OK) {
|
||||
if (FindEnsemblePart(ensInfo->interp, ensData, ensName, &ensPart) != TCL_OK) {
|
||||
ensPart = NULL;
|
||||
}
|
||||
if (ensPart == NULL) {
|
||||
if (CreateEnsemble(ensInfo->master, ensData, ensName) != TCL_OK) {
|
||||
Tcl_TransferResult(ensInfo->master, TCL_ERROR, interp);
|
||||
if (CreateEnsemble(ensInfo->interp, ensData, ensName) != TCL_OK) {
|
||||
Tcl_TransferResult(ensInfo->interp, TCL_ERROR, interp);
|
||||
return TCL_ERROR;
|
||||
}
|
||||
if (FindEnsemblePart(ensInfo->master, ensData, ensName, &ensPart)
|
||||
if (FindEnsemblePart(ensInfo->interp, ensData, ensName, &ensPart)
|
||||
!= TCL_OK) {
|
||||
Tcl_Panic("Itcl_EnsembleCmd: can't create ensemble");
|
||||
}
|
||||
}
|
||||
|
||||
cmd = ensPart->cmdPtr;
|
||||
infoPtr = (ItclObjectInfo *)Tcl_GetAssocData(ensInfo->master, ITCL_INTERP_DATA, NULL);
|
||||
infoPtr = (ItclObjectInfo *)Tcl_GetAssocData(ensInfo->interp, ITCL_INTERP_DATA, NULL);
|
||||
hPtr = Tcl_FindHashEntry(&infoPtr->ensembleInfo->ensembles,
|
||||
(char *)ensPart->cmdPtr);
|
||||
if (hPtr == NULL) {
|
||||
@@ -1764,7 +1764,7 @@ Itcl_EnsembleCmd(
|
||||
|
||||
/*
|
||||
* Copy the result from the parser interpreter to the
|
||||
* master interpreter. If an error was encountered,
|
||||
* parent interpreter. If an error was encountered,
|
||||
* copy the error info first, and then set the result.
|
||||
* Otherwise, the offending command is reported twice.
|
||||
*/
|
||||
@@ -1795,7 +1795,7 @@ Itcl_EnsembleCmd(
|
||||
*
|
||||
* GetEnsembleParser --
|
||||
*
|
||||
* Returns the slave interpreter that acts as a parser for
|
||||
* Returns the child interpreter that acts as a parser for
|
||||
* the body of an "ensemble" definition. The first time that
|
||||
* this is called for an interpreter, the parser is created
|
||||
* and registered as associated data. After that, it is
|
||||
@@ -1828,11 +1828,11 @@ GetEnsembleParser(
|
||||
}
|
||||
|
||||
/*
|
||||
* Create a slave interpreter that can be used to parse
|
||||
* Create a child interpreter that can be used to parse
|
||||
* the body of an ensemble definition.
|
||||
*/
|
||||
ensInfo = (EnsembleParser*)ckalloc(sizeof(EnsembleParser));
|
||||
ensInfo->master = interp;
|
||||
ensInfo->interp = interp;
|
||||
ensInfo->parser = Tcl_CreateInterp();
|
||||
ensInfo->ensData = NULL;
|
||||
|
||||
@@ -1867,7 +1867,7 @@ GetEnsembleParser(
|
||||
* DeleteEnsParser --
|
||||
*
|
||||
* Called when an interpreter is destroyed to clean up the
|
||||
* ensemble parser within it. Destroys the slave interpreter
|
||||
* ensemble parser within it. Destroys the child interpreter
|
||||
* and frees up the data associated with it.
|
||||
*
|
||||
* Results:
|
||||
@@ -1882,9 +1882,11 @@ GetEnsembleParser(
|
||||
static void
|
||||
DeleteEnsParser(
|
||||
ClientData clientData, /* client data for ensemble-related commands */
|
||||
Tcl_Interp *interp) /* interpreter containing the data */
|
||||
Tcl_Interp *dummy) /* interpreter containing the data */
|
||||
{
|
||||
EnsembleParser* ensInfo = (EnsembleParser*)clientData;
|
||||
(void)dummy;
|
||||
|
||||
Tcl_DeleteInterp(ensInfo->parser);
|
||||
ckfree((char*)ensInfo);
|
||||
}
|
||||
@@ -1966,9 +1968,9 @@ Itcl_EnsPartCmd(
|
||||
result = TCL_ERROR;
|
||||
goto errorOut;
|
||||
}
|
||||
if (Tcl_CreateProc(ensInfo->master, cmdInfo.namespacePtr, partName, objv[2], objv[3],
|
||||
if (Tcl_CreateProc(ensInfo->interp, cmdInfo.namespacePtr, partName, objv[2], objv[3],
|
||||
&procPtr) != TCL_OK) {
|
||||
Tcl_TransferResult(ensInfo->master, TCL_ERROR, interp);
|
||||
Tcl_TransferResult(ensInfo->interp, TCL_ERROR, interp);
|
||||
result = TCL_ERROR;
|
||||
goto errorOut;
|
||||
}
|
||||
@@ -1981,13 +1983,13 @@ Itcl_EnsPartCmd(
|
||||
* if we try to compile the Tcl code for the part. If
|
||||
* anything goes wrong, clean up before bailing out.
|
||||
*/
|
||||
result = AddEnsemblePart(ensInfo->master, ensData, partName, usage,
|
||||
result = AddEnsemblePart(ensInfo->interp, ensData, partName, usage,
|
||||
(Tcl_ObjCmdProc *)Tcl_GetObjInterpProc(), procPtr, _Tcl_ProcDeleteProc,
|
||||
ITCL_ENSEMBLE_ENSEMBLE, &ensPart);
|
||||
if (result == TCL_ERROR) {
|
||||
_Tcl_ProcDeleteProc(procPtr);
|
||||
}
|
||||
Tcl_TransferResult(ensInfo->master, result, interp);
|
||||
Tcl_TransferResult(ensInfo->interp, result, interp);
|
||||
|
||||
errorOut:
|
||||
Tcl_DecrRefCount(usagePtr);
|
||||
@@ -2031,6 +2033,7 @@ Itcl_EnsembleErrorCmd(
|
||||
|
||||
char *cmdName;
|
||||
Tcl_Obj *objPtr;
|
||||
(void)objc;
|
||||
|
||||
cmdName = Tcl_GetString(objv[0]);
|
||||
|
||||
@@ -2130,6 +2133,7 @@ EnsembleUnknownCmd(
|
||||
ItclObjectInfo *infoPtr;
|
||||
EnsemblePart *ensPart;
|
||||
Ensemble *ensData;
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(2, "EnsembleUnknownCmd", objc, objv);
|
||||
cmd = Tcl_GetCommandFromObj(interp, objv[1]);
|
||||
@@ -82,7 +82,7 @@ ItclCreateArgList(
|
||||
Tcl_Obj **usagePtr, /* store usage message for arguments here */
|
||||
ItclArgList **arglistPtrPtr,
|
||||
/* returns pointer to parsed argument list */
|
||||
ItclMemberFunc *mPtr,
|
||||
ItclMemberFunc *dummy,
|
||||
const char *commandName)
|
||||
{
|
||||
int argc;
|
||||
@@ -94,6 +94,7 @@ ItclCreateArgList(
|
||||
int i;
|
||||
int hadArgsArgument;
|
||||
int result;
|
||||
(void)dummy;
|
||||
|
||||
*arglistPtrPtr = NULL;
|
||||
lastArglistPtr = NULL;
|
||||
@@ -296,13 +297,14 @@ Itcl_EvalArgs(
|
||||
*/
|
||||
Tcl_Obj*
|
||||
Itcl_CreateArgs(
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
Tcl_Interp *dummy, /* current interpreter */
|
||||
const char *string, /* first command word */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
{
|
||||
int i;
|
||||
Tcl_Obj *listPtr;
|
||||
(void)dummy;
|
||||
|
||||
ItclShowArgs(1, "Itcl_CreateArgs", objc, objv);
|
||||
listPtr = Tcl_NewListObj(objc+2, NULL);
|
||||
@@ -323,7 +325,7 @@ Itcl_CreateArgs(
|
||||
|
||||
int
|
||||
ItclEnsembleSubCmd(
|
||||
ClientData clientData,
|
||||
ClientData dummy,
|
||||
Tcl_Interp *interp,
|
||||
const char *ensembleName,
|
||||
int objc,
|
||||
@@ -333,6 +335,10 @@ ItclEnsembleSubCmd(
|
||||
int result;
|
||||
Tcl_Obj **newObjv;
|
||||
int isRootEnsemble;
|
||||
(void)dummy;
|
||||
(void)ensembleName;
|
||||
(void)functionName;
|
||||
|
||||
ItclShowArgs(2, functionName, objc, objv);
|
||||
|
||||
newObjv = (Tcl_Obj **)ckalloc(sizeof(Tcl_Obj *)*(objc));
|
||||
@@ -313,7 +313,7 @@ static void ItclGetInfoUsage(Tcl_Interp *interp, Tcl_Obj*objPtr,
|
||||
static int
|
||||
InfoGutsFinish(
|
||||
ClientData data[],
|
||||
Tcl_Interp *interp,
|
||||
TCL_UNUSED(Tcl_Interp *),
|
||||
int result)
|
||||
{
|
||||
Tcl_CallFrame *framePtr = (Tcl_CallFrame *) data[0];
|
||||
@@ -556,13 +556,13 @@ void
|
||||
ItclGetInfoUsage(
|
||||
Tcl_Interp *interp,
|
||||
Tcl_Obj *objPtr, /* returns: summary of usage info */
|
||||
ItclObjectInfo *infoPtr,
|
||||
TCL_UNUSED(ItclObjectInfo *),
|
||||
ItclClass *iclsPtr)
|
||||
{
|
||||
const char *spaces = " ";
|
||||
int i;
|
||||
|
||||
ItclObject *ioPtr;
|
||||
|
||||
if (iclsPtr == NULL) {
|
||||
if (TCL_ERROR == Itcl_GetContext(interp, &iclsPtr, &ioPtr)) {
|
||||
return;
|
||||
@@ -600,7 +600,7 @@ static void
|
||||
ItclGetInfoDelegatedUsage(
|
||||
Tcl_Interp *interp,
|
||||
Tcl_Obj *objPtr, /* returns: summary of usage info */
|
||||
ItclObjectInfo *infoPtr)
|
||||
TCL_UNUSED(ItclObjectInfo *))
|
||||
{
|
||||
ItclClass *iclsPtr;
|
||||
const char *name;
|
||||
@@ -610,6 +610,7 @@ ItclGetInfoDelegatedUsage(
|
||||
int i;
|
||||
|
||||
ItclObject *ioPtr;
|
||||
|
||||
if (TCL_ERROR == Itcl_GetContext(interp, &iclsPtr, &ioPtr)) {
|
||||
return;
|
||||
}
|
||||
@@ -660,7 +661,7 @@ ItclGetInfoDelegatedUsage(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiInfoClassCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -740,7 +741,7 @@ Itcl_BiInfoClassCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoClassOptionsCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -851,7 +852,7 @@ Itcl_BiInfoClassOptionsCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoContextCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -890,7 +891,7 @@ Itcl_BiInfoContextCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiInfoInheritCmd(
|
||||
ClientData clientdata, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -950,7 +951,7 @@ Itcl_BiInfoInheritCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiInfoHeritageCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -1020,7 +1021,7 @@ Itcl_BiInfoHeritageCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiInfoFunctionCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -1260,7 +1261,7 @@ Itcl_BiInfoFunctionCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiInfoVariableCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -1829,7 +1830,7 @@ Itcl_BiInfoUnknownCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiInfoBodyCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -1932,7 +1933,7 @@ Itcl_BiInfoBodyCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiInfoArgsCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -2041,7 +2042,7 @@ Itcl_BiInfoArgsCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiInfoOptionCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -2344,7 +2345,7 @@ Itcl_BiInfoOptionCmd(
|
||||
/* ARGSUSED */
|
||||
int
|
||||
Itcl_BiInfoComponentCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -2563,7 +2564,7 @@ Itcl_BiInfoComponentCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoWidgetCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -2655,7 +2656,7 @@ Itcl_BiInfoWidgetCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoExtendedClassCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -2715,6 +2716,10 @@ Itcl_BiInfoExtendedClassCmd(
|
||||
}
|
||||
contextIclsPtr = Tcl_GetHashValue(hPtr);
|
||||
|
||||
#elif defined __cplusplus
|
||||
(void)interp;
|
||||
(void)objc;
|
||||
(void)objv;
|
||||
#endif
|
||||
|
||||
return TCL_OK;
|
||||
@@ -2738,7 +2743,7 @@ Itcl_BiInfoExtendedClassCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoDelegatedCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -2798,6 +2803,10 @@ Itcl_BiInfoDelegatedCmd(
|
||||
}
|
||||
contextIclsPtr = Tcl_GetHashValue(hPtr);
|
||||
|
||||
#elif defined __cplusplus
|
||||
(void)interp;
|
||||
(void)objc;
|
||||
(void)objv;
|
||||
#endif
|
||||
|
||||
return TCL_OK;
|
||||
@@ -2819,7 +2828,7 @@ Itcl_BiInfoDelegatedCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoTypeCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -2907,7 +2916,7 @@ Itcl_BiInfoTypeCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoHullTypeCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -2974,7 +2983,7 @@ Itcl_BiInfoHullTypeCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoDefaultCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -3069,7 +3078,7 @@ Itcl_BiInfoDefaultCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoMethodCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -3296,7 +3305,7 @@ Itcl_BiInfoMethodCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoMethodsCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -3394,7 +3403,7 @@ Itcl_BiInfoMethodsCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoOptionsCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -3567,7 +3576,7 @@ Itcl_BiInfoTypesCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoComponentsCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -3638,7 +3647,7 @@ Itcl_BiInfoComponentsCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoTypeMethodCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -3866,7 +3875,7 @@ Itcl_BiInfoTypeMethodCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoTypeMethodsCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -3971,7 +3980,7 @@ Itcl_BiInfoTypeMethodsCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoTypeVarsCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -4028,7 +4037,7 @@ Itcl_BiInfoTypeVarsCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoTypeVariableCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -4278,7 +4287,7 @@ Itcl_BiInfoTypeVariableCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoVariablesCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -4303,7 +4312,7 @@ Itcl_BiInfoVariablesCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoWidgetadaptorCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -4459,7 +4468,7 @@ Itcl_BiInfoInstancesCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoDelegatedOptionsCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -4530,7 +4539,7 @@ Itcl_BiInfoDelegatedOptionsCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoDelegatedMethodsCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -4603,7 +4612,7 @@ Itcl_BiInfoDelegatedMethodsCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoDelegatedTypeMethodsCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -4707,7 +4716,7 @@ Itcl_BiInfoDelegatedUnknownCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoDelegatedOptionCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -4941,7 +4950,7 @@ Itcl_BiInfoDelegatedOptionCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoDelegatedMethodCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -5165,7 +5174,7 @@ Itcl_BiInfoDelegatedMethodCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
Itcl_BiInfoDelegatedTypeMethodCmd(
|
||||
ClientData clientData, /* ItclObjectInfo Ptr */
|
||||
TCL_UNUSED(ClientData), /* ItclObjectInfo Ptr */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -60,6 +60,19 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef JOIN
|
||||
# define JOIN(a,b) JOIN1(a,b)
|
||||
# define JOIN1(a,b) a##b
|
||||
#endif
|
||||
|
||||
#ifndef TCL_UNUSED
|
||||
# if defined(__cplusplus)
|
||||
# define TCL_UNUSED(T) T
|
||||
# else
|
||||
# define TCL_UNUSED(T) T JOIN(dummy, __LINE__)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Since the Tcl/Tk distribution doesn't perform any asserts,
|
||||
* dynamic loading can fail to find the __assert function.
|
||||
@@ -653,7 +666,7 @@ MODULE_SCOPE int _itcl_debug_level;
|
||||
MODULE_SCOPE void ItclShowArgs(int level, const char *str, int objc,
|
||||
Tcl_Obj * const* objv);
|
||||
#else
|
||||
#define ItclShowArgs(a,b,c,d)
|
||||
#define ItclShowArgs(a,b,c,d) do {(void)(c);(void)(d);} while(0)
|
||||
#endif
|
||||
|
||||
MODULE_SCOPE Tcl_ObjCmdProc ItclCallCCommand;
|
||||
@@ -303,7 +303,7 @@ ItclGetRegisteredProcs(
|
||||
static void
|
||||
ItclFreeC(
|
||||
ClientData clientData, /* associated data */
|
||||
Tcl_Interp *interp) /* intepreter being deleted */
|
||||
TCL_UNUSED(Tcl_Interp *)) /* interpreter being deleted */
|
||||
{
|
||||
Tcl_HashTable *tablePtr = (Tcl_HashTable*)clientData;
|
||||
Tcl_HashSearch place;
|
||||
@@ -64,7 +64,7 @@ static void FreeMemberCode(ItclMemberCode *mcodePtr);
|
||||
*/
|
||||
static int
|
||||
NRBodyCmd(
|
||||
ClientData clientData, /* */
|
||||
TCL_UNUSED(ClientData), /* */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const *objv) /* argument objects */
|
||||
@@ -189,7 +189,7 @@ Itcl_BodyCmd(
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
NRConfigBodyCmd(
|
||||
ClientData dummy, /* unused */
|
||||
TCL_UNUSED(ClientData), /* unused */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -1319,7 +1319,7 @@ Itcl_EvalMemberCode(
|
||||
|
||||
static int
|
||||
EquivArgLists(
|
||||
Tcl_Interp *interp,
|
||||
TCL_UNUSED(Tcl_Interp*),
|
||||
ItclArgList *origArgs,
|
||||
ItclArgList *realArgs)
|
||||
{
|
||||
@@ -2056,10 +2056,10 @@ Itcl_InvokeMethodIfExists(
|
||||
*/
|
||||
int
|
||||
Itcl_ReportFuncErrors(
|
||||
Tcl_Interp* interp, /* interpreter being modified */
|
||||
ItclMemberFunc *imPtr, /* command member that was invoked */
|
||||
ItclObject *contextObj, /* object context for this command */
|
||||
int result) /* integer status code from proc body */
|
||||
TCL_UNUSED(Tcl_Interp*), /* interpreter being modified */
|
||||
TCL_UNUSED(ItclMemberFunc*), /* command member that was invoked */
|
||||
TCL_UNUSED(ItclObject*), /* object context for this command */
|
||||
int result) /* integer status code from proc body */
|
||||
{
|
||||
/* FIXME !!! */
|
||||
/* adapt to use of ItclProcErrorProc for stubs compatibility !! */
|
||||
@@ -2189,7 +2189,7 @@ Itcl_CmdAliasProc(
|
||||
*/
|
||||
Tcl_Var
|
||||
Itcl_VarAliasProc(
|
||||
Tcl_Interp *interp,
|
||||
TCL_UNUSED(Tcl_Interp*),
|
||||
Tcl_Namespace *nsPtr,
|
||||
const char *varName,
|
||||
ClientData clientData)
|
||||
@@ -2266,8 +2266,8 @@ int
|
||||
ItclCheckCallProc(
|
||||
ClientData clientData,
|
||||
Tcl_Interp *interp,
|
||||
Tcl_ObjectContext contextPtr,
|
||||
Tcl_CallFrame *framePtr,
|
||||
TCL_UNUSED(Tcl_ObjectContext),
|
||||
TCL_UNUSED(Tcl_CallFrame*),
|
||||
int *isFinished)
|
||||
{
|
||||
int result;
|
||||
@@ -2456,8 +2456,8 @@ ItclCheckCallMethod(
|
||||
Itcl_PushStack(framePtr, stackPtr);
|
||||
|
||||
if (ioPtr != NULL) {
|
||||
ioPtr->callRefCount++;
|
||||
Itcl_PreserveData(ioPtr);
|
||||
ioPtr->callRefCount++;
|
||||
Itcl_PreserveData(ioPtr); /* ++ preserve until ItclAfterCallMethod releases it */
|
||||
}
|
||||
imPtr->iclsPtr->callRefCount++;
|
||||
if (!imPtr->iclsPtr->infoPtr->useOldResolvers) {
|
||||
@@ -2486,7 +2486,7 @@ ItclAfterCallMethod(
|
||||
ClientData clientData,
|
||||
Tcl_Interp *interp,
|
||||
Tcl_ObjectContext contextPtr,
|
||||
Tcl_Namespace *nsPtr,
|
||||
TCL_UNUSED(Tcl_Namespace*),
|
||||
int call_result)
|
||||
{
|
||||
Tcl_HashEntry *hPtr;
|
||||
@@ -2571,11 +2571,14 @@ ItclAfterCallMethod(
|
||||
if (hPtr == NULL) {
|
||||
ckfree((char *)callContextPtr);
|
||||
}
|
||||
Itcl_ReleaseData(ioPtr);
|
||||
} else {
|
||||
ckfree((char *)callContextPtr);
|
||||
}
|
||||
}
|
||||
|
||||
if (ioPtr != NULL) {
|
||||
Itcl_ReleaseData(ioPtr); /* -- paired release for preserve in ItclCheckCallMethod */
|
||||
}
|
||||
result = call_result;
|
||||
finishReturn:
|
||||
Itcl_ReleaseData(imPtr);
|
||||
@@ -2585,7 +2588,7 @@ finishReturn:
|
||||
void
|
||||
ItclProcErrorProc(
|
||||
Tcl_Interp *interp,
|
||||
Tcl_Obj *procNameObj)
|
||||
TCL_UNUSED(Tcl_Obj*))
|
||||
{
|
||||
Tcl_Obj *objPtr;
|
||||
Tcl_HashEntry *hPtr;
|
||||
@@ -26,10 +26,12 @@ Itcl_SetCallFrameResolver(
|
||||
CallFrame *framePtr = ((Interp *)interp)->framePtr;
|
||||
if (framePtr != NULL) {
|
||||
#ifdef ITCL_USE_MODIFIED_TCL_H
|
||||
framePtr->isProcCallFrame |= FRAME_HAS_RESOLVER;
|
||||
framePtr->isProcCallFrame |= FRAME_HAS_RESOLVER;
|
||||
framePtr->resolvePtr = resolvePtr;
|
||||
#elif defined(__cplusplus)
|
||||
(void)resolvePtr;
|
||||
#endif
|
||||
return TCL_OK;
|
||||
return TCL_OK;
|
||||
}
|
||||
return TCL_ERROR;
|
||||
}
|
||||
@@ -44,13 +46,15 @@ _Tcl_SetNamespaceResolver(
|
||||
}
|
||||
#ifdef ITCL_USE_MODIFIED_TCL_H
|
||||
((Namespace *)nsPtr)->resolvePtr = resolvePtr;
|
||||
#elif defined(__cplusplus)
|
||||
(void)resolvePtr;
|
||||
#endif
|
||||
return TCL_OK;
|
||||
}
|
||||
|
||||
Tcl_Var
|
||||
Tcl_NewNamespaceVar(
|
||||
Tcl_Interp *interp,
|
||||
TCL_UNUSED(Tcl_Interp *),
|
||||
Tcl_Namespace *nsPtr,
|
||||
const char *varName)
|
||||
{
|
||||
@@ -109,13 +109,16 @@ ItclDeleteObjectMetadata(
|
||||
static void
|
||||
ObjectRenamedTrace(
|
||||
ClientData clientData, /* The object being deleted. */
|
||||
Tcl_Interp *interp, /* The interpreter containing the object. */
|
||||
Tcl_Interp *dummy, /* The interpreter containing the object. */
|
||||
const char *oldName, /* What the object was (last) called. */
|
||||
const char *newName, /* Always NULL ??. not for itk!! */
|
||||
int flags) /* Why was the object deleted? */
|
||||
{
|
||||
ItclObject *ioPtr = (ItclObject *)clientData;
|
||||
Itcl_InterpState istate;
|
||||
(void)dummy;
|
||||
(void)oldName;
|
||||
(void)flags;
|
||||
|
||||
if (newName != NULL) {
|
||||
/* FIXME should enter the new name in the hashtables for objects etc. */
|
||||
@@ -733,6 +736,11 @@ ItclInitObjectCommands(
|
||||
ItclClass *iclsPtr,
|
||||
const char *name)
|
||||
{
|
||||
(void)interp;
|
||||
(void)ioPtr;
|
||||
(void)iclsPtr;
|
||||
(void)name;
|
||||
|
||||
return TCL_OK;
|
||||
}
|
||||
|
||||
@@ -1150,7 +1158,7 @@ ItclInitObjectOptions(
|
||||
*/
|
||||
int
|
||||
ItclInitObjectMethodVariables(
|
||||
Tcl_Interp *interp,
|
||||
Tcl_Interp *dummy,
|
||||
ItclObject *ioPtr,
|
||||
ItclClass *iclsPtr,
|
||||
const char *name)
|
||||
@@ -1162,6 +1170,8 @@ ItclInitObjectMethodVariables(
|
||||
Tcl_HashEntry *hPtr2;
|
||||
Tcl_HashSearch place;
|
||||
int isNew;
|
||||
(void)dummy;
|
||||
(void)name;
|
||||
|
||||
imvPtr = NULL;
|
||||
Itcl_InitHierIter(&hier, iclsPtr);
|
||||
@@ -1940,6 +1950,7 @@ ItclReportObjectUsage(
|
||||
char *name;
|
||||
int ignore;
|
||||
int cmp;
|
||||
(void)callerNsPtr;
|
||||
|
||||
if (contextIoPtr == NULL) {
|
||||
resultPtr = Tcl_GetObjResult(interp);
|
||||
@@ -2081,6 +2092,7 @@ ItclTraceThisVar(
|
||||
ItclObject *contextIoPtr = (ItclObject*)cdata;
|
||||
Tcl_Obj *objPtr;
|
||||
const char *objName;
|
||||
(void)name2;
|
||||
|
||||
/* because of SF bug #187 use a different trace handler for "this", "win", "type"
|
||||
* *self" and "selfns"
|
||||
@@ -2141,6 +2153,7 @@ ItclTraceWinVar(
|
||||
const char *objName;
|
||||
const char *head;
|
||||
const char *tail;
|
||||
(void)name2;
|
||||
|
||||
/*
|
||||
* Handle read traces on "win"
|
||||
@@ -2198,6 +2211,7 @@ ItclTraceTypeVar(
|
||||
ItclObject *contextIoPtr = (ItclObject*)cdata;
|
||||
Tcl_Obj *objPtr;
|
||||
const char *objName;
|
||||
(void)name2;
|
||||
|
||||
/*
|
||||
* Handle read traces on "type"
|
||||
@@ -2249,6 +2263,7 @@ ItclTraceSelfVar(
|
||||
ItclObject *contextIoPtr = (ItclObject*)cdata;
|
||||
Tcl_Obj *objPtr;
|
||||
const char *objName;
|
||||
(void)name2;
|
||||
|
||||
/*
|
||||
* Handle read traces on "self"
|
||||
@@ -2316,6 +2331,7 @@ ItclTraceSelfnsVar(
|
||||
ItclObject *contextIoPtr = (ItclObject*)cdata;
|
||||
Tcl_Obj *objPtr;
|
||||
const char *objName;
|
||||
(void)name2;
|
||||
|
||||
/*
|
||||
* Handle read traces on "selfns"
|
||||
@@ -2363,6 +2379,9 @@ ItclTraceOptionVar(
|
||||
{
|
||||
ItclObject *ioPtr;
|
||||
ItclOption *ioptPtr;
|
||||
(void)interp;
|
||||
(void)name1;
|
||||
(void)name2;
|
||||
|
||||
/* FIXME !!! */
|
||||
/* don't know yet if ItclTraceOptionVar is really needed !! */
|
||||
@@ -2419,6 +2438,7 @@ ItclTraceComponentVar(
|
||||
ItclComponent *icPtr;
|
||||
ItclDelegatedFunction *idmPtr;
|
||||
const char *val;
|
||||
(void)name2;
|
||||
|
||||
/* FIXME should free memory on unset or rename!! */
|
||||
if (cdata != NULL) {
|
||||
@@ -2516,6 +2536,7 @@ ItclTraceItclHullVar(
|
||||
ItclObjectInfo *infoPtr;
|
||||
ItclObject *ioPtr;
|
||||
ItclVariable *ivPtr;
|
||||
(void)name2;
|
||||
|
||||
/* FIXME !!! */
|
||||
/* FIXME should free memory on unset or rename!! */
|
||||
@@ -3311,8 +3332,8 @@ ExpandDelegateAs(
|
||||
}
|
||||
break;
|
||||
} else {
|
||||
/* fall through */
|
||||
}
|
||||
/* FALLTHRU */
|
||||
default:
|
||||
{
|
||||
char buf[2];
|
||||
@@ -3437,7 +3458,7 @@ DelegateFunction(
|
||||
|
||||
int
|
||||
DelegatedOptionsInstall(
|
||||
Tcl_Interp *interp,
|
||||
Tcl_Interp *dummy,
|
||||
ItclClass *iclsPtr)
|
||||
{
|
||||
Tcl_HashEntry *hPtr2;
|
||||
@@ -3446,6 +3467,7 @@ DelegatedOptionsInstall(
|
||||
ItclOption *ioptPtr;
|
||||
FOREACH_HASH_DECLS;
|
||||
char *optionName;
|
||||
(void)dummy;
|
||||
|
||||
FOREACH_HASH_VALUE(idoPtr, &iclsPtr->delegatedOptions) {
|
||||
optionName = Tcl_GetString(idoPtr->namePtr);
|
||||
@@ -652,10 +652,12 @@ static const Tcl_MethodType itclArgMethodType = {
|
||||
|
||||
static int
|
||||
CloneProc(
|
||||
Tcl_Interp *interp,
|
||||
Tcl_Interp *dummy,
|
||||
ClientData original,
|
||||
ClientData *copyPtr)
|
||||
{
|
||||
(void)dummy;
|
||||
|
||||
Itcl_PreserveData((ItclMemberFunc *)original);
|
||||
*copyPtr = original;
|
||||
return TCL_OK;
|
||||
@@ -668,6 +670,7 @@ CallAfterCallMethod(
|
||||
int result)
|
||||
{
|
||||
ClientData clientData = data[0];
|
||||
|
||||
Tcl_ObjectContext context = (Tcl_ObjectContext)data[1];
|
||||
|
||||
return ItclAfterCallMethod(clientData, interp, context, NULL, result);
|
||||
@@ -706,6 +709,12 @@ ArgCallProc(
|
||||
int objc,
|
||||
Tcl_Obj *const *objv)
|
||||
{
|
||||
(void)clientData;
|
||||
(void)interp;
|
||||
(void)context;
|
||||
(void)objc;
|
||||
(void)objv;
|
||||
|
||||
return TCL_ERROR;
|
||||
}
|
||||
|
||||
@@ -2476,6 +2485,9 @@ Itcl_ClassMixinCmd(
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
{
|
||||
(void)clientData;
|
||||
(void)interp;
|
||||
|
||||
ItclShowArgs(0, "Itcl_ClassMixinCmd", objc, objv);
|
||||
return TCL_OK;
|
||||
}
|
||||
@@ -2594,6 +2606,7 @@ ItclParseOption(
|
||||
int result;
|
||||
int i;
|
||||
const char *cp;
|
||||
(void)infoPtr;
|
||||
|
||||
ItclShowArgs(1, "ItclParseOption", objc, objv);
|
||||
pLevel = Itcl_Protection(interp, 0);
|
||||
@@ -3050,7 +3063,7 @@ ItclHandleClassComponent(
|
||||
" Only these can have components", NULL);
|
||||
return TCL_ERROR;
|
||||
}
|
||||
if ((objc < 2) && (objc > 6)) {
|
||||
if ((objc < 2) || (objc > 6)) {
|
||||
Tcl_AppendResult(interp, "wrong # args should be: ", usage, NULL);
|
||||
return TCL_ERROR;
|
||||
}
|
||||
@@ -649,6 +649,7 @@ Itcl_ParseVarResolver(
|
||||
|
||||
Tcl_HashEntry *hPtr;
|
||||
ItclVarLookup *vlookup;
|
||||
(void)flags;
|
||||
|
||||
/*
|
||||
* See if the requested variable is a recognized "common" member.
|
||||
@@ -62,7 +62,7 @@ Itcl_IsStub(
|
||||
*/
|
||||
int
|
||||
Itcl_StubCreateCmd(
|
||||
ClientData clientData, /* not used */
|
||||
TCL_UNUSED(ClientData), /* not used */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -112,7 +112,7 @@ Itcl_StubCreateCmd(
|
||||
*/
|
||||
int
|
||||
Itcl_StubExistsCmd(
|
||||
ClientData clientData, /* not used */
|
||||
TCL_UNUSED(ClientData), /* not used */
|
||||
Tcl_Interp *interp, /* current interpreter */
|
||||
int objc, /* number of arguments */
|
||||
Tcl_Obj *const objv[]) /* argument objects */
|
||||
@@ -224,7 +224,7 @@ ItclHandleStubCmd(
|
||||
/* ARGSUSED */
|
||||
static void
|
||||
ItclDeleteStub(
|
||||
ClientData cdata) /* not used */
|
||||
TCL_UNUSED(ClientData)) /* not used */
|
||||
{
|
||||
/* do nothing */
|
||||
}
|
||||
@@ -126,7 +126,7 @@ Itcl_InitRewriteEnsemble(
|
||||
Tcl_Interp *interp,
|
||||
int numRemoved,
|
||||
int numInserted,
|
||||
int objc,
|
||||
TCL_UNUSED(int) /* objc */,
|
||||
Tcl_Obj *const *objv)
|
||||
{
|
||||
return TclInitRewriteEnsemble(interp, numRemoved, numInserted, objv);
|
||||
@@ -628,7 +628,7 @@ Itcl_ReleaseData(
|
||||
/* Free cdata now */
|
||||
freeProc = blk->freeProc;
|
||||
blk->freeProc = NULL;
|
||||
freeProc(cdata);
|
||||
freeProc((char *)cdata);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -674,7 +674,7 @@ void * Itcl_Alloc(
|
||||
*/
|
||||
void Itcl_Free(void *ptr) {
|
||||
PresMemoryPrefix *blk;
|
||||
|
||||
|
||||
if (ptr == NULL) {
|
||||
return;
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
# Tcl package index file, version 1.0
|
||||
#
|
||||
# Do NOT try this command
|
||||
#
|
||||
#
|
||||
# if {![package vsatisfies [package provide Tcl] 8.6-]} {return}
|
||||
#
|
||||
# as a way to accept working with all of Tcl 8.6, Tcl 8.X, X>6, and
|
||||
@@ -17,5 +17,5 @@
|
||||
|
||||
if {![package vsatisfies [package provide Tcl] 8.6]} {return}
|
||||
|
||||
package ifneeded itcl @PACKAGE_VERSION@ [list load [file join $dir "@PKG_LIB_FILE@"] itcl]
|
||||
package ifneeded Itcl @PACKAGE_VERSION@ [list load [file join $dir "@PKG_LIB_FILE@"] itcl]
|
||||
package ifneeded itcl @PACKAGE_VERSION@ [list load [file join $dir "@PKG_LIB_FILE@"] Itcl]
|
||||
package ifneeded Itcl @PACKAGE_VERSION@ [list load [file join $dir "@PKG_LIB_FILE@"] Itcl]
|
||||
@@ -3,10 +3,10 @@ Architecture (TEA) extension. For more information on TEA see:
|
||||
|
||||
http://www.tcl.tk/doc/tea/
|
||||
|
||||
This package is part of the Tcl project at SourceForge, and latest
|
||||
sources should be available there:
|
||||
This package is part of the Tcl project at SourceForge, but sources
|
||||
and bug/patch database are hosted on fossil here:
|
||||
|
||||
http://tcl.sourceforge.net/
|
||||
https://core.tcl-lang.org/tclconfig
|
||||
|
||||
This package is a freely available open source package. You can do
|
||||
virtually anything you like with it, such as modifying it, redistributing
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2011-04-20.01; # UTC
|
||||
scriptversion=2020-07-26.22; # UTC
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
@@ -35,25 +35,21 @@ scriptversion=2011-04-20.01; # UTC
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# 'make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
|
||||
tab=' '
|
||||
nl='
|
||||
'
|
||||
IFS=" "" $nl"
|
||||
IFS=" $tab$nl"
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
# Set DOITPROG to "echo" to test this script.
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit=${DOITPROG-}
|
||||
if test -z "$doit"; then
|
||||
doit_exec=exec
|
||||
else
|
||||
doit_exec=$doit
|
||||
fi
|
||||
doit_exec=${doit:-exec}
|
||||
|
||||
# Put in absolute file names if you don't have them in your path;
|
||||
# or use environment vars.
|
||||
@@ -68,22 +64,15 @@ mvprog=${MVPROG-mv}
|
||||
rmprog=${RMPROG-rm}
|
||||
stripprog=${STRIPPROG-strip}
|
||||
|
||||
posix_glob='?'
|
||||
initialize_posix_glob='
|
||||
test "$posix_glob" != "?" || {
|
||||
if (set -f) 2>/dev/null; then
|
||||
posix_glob=
|
||||
else
|
||||
posix_glob=:
|
||||
fi
|
||||
}
|
||||
'
|
||||
|
||||
posix_mkdir=
|
||||
|
||||
# Desired mode of installed file.
|
||||
mode=0755
|
||||
|
||||
# Create dirs (including intermediate dirs) using mode 755.
|
||||
# This is like GNU 'install' as of coreutils 8.32 (2020).
|
||||
mkdir_umask=22
|
||||
|
||||
chgrpcmd=
|
||||
chmodcmd=$chmodprog
|
||||
chowncmd=
|
||||
@@ -97,7 +86,7 @@ dir_arg=
|
||||
dst_arg=
|
||||
|
||||
copy_on_change=false
|
||||
no_target_directory=
|
||||
is_target_a_directory=possibly
|
||||
|
||||
usage="\
|
||||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
@@ -120,7 +109,7 @@ Options:
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-S $stripprog installed files.
|
||||
-S OPTION $stripprog installed files using OPTION.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
|
||||
@@ -138,45 +127,60 @@ while test $# -ne 0; do
|
||||
-d) dir_arg=true;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift;;
|
||||
shift;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) mode=$2
|
||||
case $mode in
|
||||
*' '* | *' '* | *'
|
||||
'* | *'*'* | *'?'* | *'['*)
|
||||
echo "$0: invalid mode: $mode" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
shift;;
|
||||
case $mode in
|
||||
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
|
||||
echo "$0: invalid mode: $mode" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift;;
|
||||
shift;;
|
||||
|
||||
-s) stripcmd=$stripprog;;
|
||||
|
||||
-S) stripcmd="$stripprog $2"
|
||||
shift;;
|
||||
shift;;
|
||||
|
||||
-t) dst_arg=$2
|
||||
shift;;
|
||||
-t)
|
||||
is_target_a_directory=always
|
||||
dst_arg=$2
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $dst_arg in
|
||||
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-T) no_target_directory=true;;
|
||||
-T) is_target_a_directory=never;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
--) shift
|
||||
break;;
|
||||
--) shift
|
||||
break;;
|
||||
|
||||
-*) echo "$0: invalid option: $1" >&2
|
||||
exit 1;;
|
||||
-*) echo "$0: invalid option: $1" >&2
|
||||
exit 1;;
|
||||
|
||||
*) break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# We allow the use of options -d and -T together, by making -d
|
||||
# take the precedence; this is for compatibility with GNU install.
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
if test -n "$dst_arg"; then
|
||||
echo "$0: target directory not allowed when installing a directory." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||
# When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
@@ -190,6 +194,10 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||
fi
|
||||
shift # arg
|
||||
dst_arg=$arg
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $dst_arg in
|
||||
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
@@ -198,11 +206,20 @@ if test $# -eq 0; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
# It's OK to call `install-sh -d' without argument.
|
||||
# It's OK to call 'install-sh -d' without argument.
|
||||
# This can happen when creating conditional directories.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
if test $# -gt 1 || test "$is_target_a_directory" = always; then
|
||||
if test ! -d "$dst_arg"; then
|
||||
echo "$0: $dst_arg: Is not a directory." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
do_exit='(exit $ret); exit $ret'
|
||||
trap "ret=129; $do_exit" 1
|
||||
@@ -219,16 +236,16 @@ if test -z "$dir_arg"; then
|
||||
|
||||
*[0-7])
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw='% 200'
|
||||
u_plus_rw='% 200'
|
||||
fi
|
||||
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||
*)
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw=,u+rw
|
||||
u_plus_rw=,u+rw
|
||||
fi
|
||||
cp_umask=$mode$u_plus_rw;;
|
||||
esac
|
||||
@@ -236,9 +253,9 @@ fi
|
||||
|
||||
for src
|
||||
do
|
||||
# Protect names starting with `-'.
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $src in
|
||||
-*) src=./$src;;
|
||||
-* | [=\(\)!]) src=./$src;;
|
||||
esac
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
@@ -260,185 +277,150 @@ do
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dst=$dst_arg
|
||||
# Protect names starting with `-'.
|
||||
case $dst in
|
||||
-*) dst=./$dst;;
|
||||
esac
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
# If destination is a directory, append the input filename.
|
||||
if test -d "$dst"; then
|
||||
if test -n "$no_target_directory"; then
|
||||
echo "$0: $dst_arg: Is a directory" >&2
|
||||
exit 1
|
||||
if test "$is_target_a_directory" = never; then
|
||||
echo "$0: $dst_arg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dstdir=$dst
|
||||
dst=$dstdir/`basename "$src"`
|
||||
dstbase=`basename "$src"`
|
||||
case $dst in
|
||||
*/) dst=$dst$dstbase;;
|
||||
*) dst=$dst/$dstbase;;
|
||||
esac
|
||||
dstdir_status=0
|
||||
else
|
||||
# Prefer dirname, but fall back on a substitute if dirname fails.
|
||||
dstdir=`
|
||||
(dirname "$dst") 2>/dev/null ||
|
||||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$dst" : 'X\(//\)[^/]' \| \
|
||||
X"$dst" : 'X\(//\)$' \| \
|
||||
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
echo X"$dst" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'
|
||||
`
|
||||
|
||||
dstdir=`dirname "$dst"`
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
fi
|
||||
fi
|
||||
|
||||
case $dstdir in
|
||||
*/) dstdirslash=$dstdir;;
|
||||
*) dstdirslash=$dstdir/;;
|
||||
esac
|
||||
|
||||
obsolete_mkdir_used=false
|
||||
|
||||
if test $dstdir_status != 0; then
|
||||
case $posix_mkdir in
|
||||
'')
|
||||
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||
umask=`umask`
|
||||
case $stripcmd.$umask in
|
||||
# Optimize common cases.
|
||||
*[2367][2367]) mkdir_umask=$umask;;
|
||||
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||
# With -d, create the new directory with the user-specified mode.
|
||||
# Otherwise, rely on $mkdir_umask.
|
||||
if test -n "$dir_arg"; then
|
||||
mkdir_mode=-m$mode
|
||||
else
|
||||
mkdir_mode=
|
||||
fi
|
||||
|
||||
*[0-7])
|
||||
mkdir_umask=`expr $umask + 22 \
|
||||
- $umask % 100 % 40 + $umask % 20 \
|
||||
- $umask % 10 % 4 + $umask % 2
|
||||
`;;
|
||||
*) mkdir_umask=$umask,go-w;;
|
||||
esac
|
||||
posix_mkdir=false
|
||||
# The $RANDOM variable is not portable (e.g., dash). Use it
|
||||
# here however when possible just to lower collision chance.
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
|
||||
# With -d, create the new directory with the user-specified mode.
|
||||
# Otherwise, rely on $mkdir_umask.
|
||||
if test -n "$dir_arg"; then
|
||||
mkdir_mode=-m$mode
|
||||
trap '
|
||||
ret=$?
|
||||
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null
|
||||
exit $ret
|
||||
' 0
|
||||
|
||||
# Because "mkdir -p" follows existing symlinks and we likely work
|
||||
# directly in world-writeable /tmp, make sure that the '$tmpdir'
|
||||
# directory is successfully created first before we actually test
|
||||
# 'mkdir -p'.
|
||||
if (umask $mkdir_umask &&
|
||||
$mkdirprog $mkdir_mode "$tmpdir" &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
|
||||
then
|
||||
if test -z "$dir_arg" || {
|
||||
# Check for POSIX incompatibilities with -m.
|
||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||
# other-writable bit of parent directory when it shouldn't.
|
||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||
test_tmpdir="$tmpdir/a"
|
||||
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
|
||||
case $ls_ld_tmpdir in
|
||||
d????-?r-*) different_mode=700;;
|
||||
d????-?--*) different_mode=755;;
|
||||
*) false;;
|
||||
esac &&
|
||||
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
|
||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||
}
|
||||
}
|
||||
then posix_mkdir=:
|
||||
fi
|
||||
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
|
||||
else
|
||||
mkdir_mode=
|
||||
# Remove any dirs left behind by ancient mkdir implementations.
|
||||
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
|
||||
fi
|
||||
|
||||
posix_mkdir=false
|
||||
case $umask in
|
||||
*[123567][0-7][0-7])
|
||||
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||
;;
|
||||
*)
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||
|
||||
if (umask $mkdir_umask &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||
then
|
||||
if test -z "$dir_arg" || {
|
||||
# Check for POSIX incompatibilities with -m.
|
||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||
# other-writeable bit of parent directory when it shouldn't.
|
||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||
case $ls_ld_tmpdir in
|
||||
d????-?r-*) different_mode=700;;
|
||||
d????-?--*) different_mode=755;;
|
||||
*) false;;
|
||||
esac &&
|
||||
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||
}
|
||||
}
|
||||
then posix_mkdir=:
|
||||
fi
|
||||
rmdir "$tmpdir/d" "$tmpdir"
|
||||
else
|
||||
# Remove any dirs left behind by ancient mkdir implementations.
|
||||
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||
fi
|
||||
trap '' 0;;
|
||||
esac;;
|
||||
trap '' 0;;
|
||||
esac
|
||||
|
||||
if
|
||||
$posix_mkdir && (
|
||||
umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||
umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||
)
|
||||
then :
|
||||
else
|
||||
|
||||
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
||||
# mkdir does not conform to POSIX,
|
||||
# or it failed possibly due to a race condition. Create the
|
||||
# directory the slow way, step by step, checking for races as we go.
|
||||
|
||||
case $dstdir in
|
||||
/*) prefix='/';;
|
||||
-*) prefix='./';;
|
||||
*) prefix='';;
|
||||
/*) prefix='/';;
|
||||
[-=\(\)!]*) prefix='./';;
|
||||
*) prefix='';;
|
||||
esac
|
||||
|
||||
eval "$initialize_posix_glob"
|
||||
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
$posix_glob set -f
|
||||
set -f
|
||||
set fnord $dstdir
|
||||
shift
|
||||
$posix_glob set +f
|
||||
set +f
|
||||
IFS=$oIFS
|
||||
|
||||
prefixes=
|
||||
|
||||
for d
|
||||
do
|
||||
test -z "$d" && continue
|
||||
test X"$d" = X && continue
|
||||
|
||||
prefix=$prefix$d
|
||||
if test -d "$prefix"; then
|
||||
prefixes=
|
||||
else
|
||||
if $posix_mkdir; then
|
||||
(umask=$mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||
# Don't fail if two instances are running concurrently.
|
||||
test -d "$prefix" || exit 1
|
||||
else
|
||||
case $prefix in
|
||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||
*) qprefix=$prefix;;
|
||||
esac
|
||||
prefixes="$prefixes '$qprefix'"
|
||||
fi
|
||||
fi
|
||||
prefix=$prefix/
|
||||
prefix=$prefix$d
|
||||
if test -d "$prefix"; then
|
||||
prefixes=
|
||||
else
|
||||
if $posix_mkdir; then
|
||||
(umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||
# Don't fail if two instances are running concurrently.
|
||||
test -d "$prefix" || exit 1
|
||||
else
|
||||
case $prefix in
|
||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||
*) qprefix=$prefix;;
|
||||
esac
|
||||
prefixes="$prefixes '$qprefix'"
|
||||
fi
|
||||
fi
|
||||
prefix=$prefix/
|
||||
done
|
||||
|
||||
if test -n "$prefixes"; then
|
||||
# Don't fail if two instances are running concurrently.
|
||||
(umask $mkdir_umask &&
|
||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||
test -d "$dstdir" || exit 1
|
||||
obsolete_mkdir_used=true
|
||||
# Don't fail if two instances are running concurrently.
|
||||
(umask $mkdir_umask &&
|
||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||
test -d "$dstdir" || exit 1
|
||||
obsolete_mkdir_used=true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -451,14 +433,25 @@ do
|
||||
else
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
dsttmp=${dstdirslash}_inst.$$_
|
||||
rmtmp=${dstdirslash}_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
||||
(umask $cp_umask &&
|
||||
{ test -z "$stripcmd" || {
|
||||
# Create $dsttmp read-write so that cp doesn't create it read-only,
|
||||
# which would cause strip to fail.
|
||||
if test -z "$doit"; then
|
||||
: >"$dsttmp" # No need to fork-exec 'touch'.
|
||||
else
|
||||
$doit touch "$dsttmp"
|
||||
fi
|
||||
}
|
||||
} &&
|
||||
$doit_exec $cpprog "$src" "$dsttmp") &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
@@ -473,15 +466,12 @@ do
|
||||
|
||||
# If -C, don't bother to copy if it wouldn't change the file.
|
||||
if $copy_on_change &&
|
||||
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||
|
||||
eval "$initialize_posix_glob" &&
|
||||
$posix_glob set -f &&
|
||||
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||
set -f &&
|
||||
set X $old && old=:$2:$4:$5:$6 &&
|
||||
set X $new && new=:$2:$4:$5:$6 &&
|
||||
$posix_glob set +f &&
|
||||
|
||||
set +f &&
|
||||
test "$old" = "$new" &&
|
||||
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||
then
|
||||
@@ -494,24 +484,24 @@ do
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
{
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
test ! -f "$dst" ||
|
||||
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
||||
} ||
|
||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
} &&
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
test ! -f "$dst" ||
|
||||
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
||||
} ||
|
||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dst"
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dst"
|
||||
}
|
||||
fi || exit 1
|
||||
|
||||
@@ -520,9 +510,9 @@ do
|
||||
done
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
# End:
|
||||
@@ -50,9 +50,9 @@ AC_DEFUN([TEA_PATH_TCLCONFIG], [
|
||||
# we reset no_tcl in case something fails here
|
||||
no_tcl=true
|
||||
AC_ARG_WITH(tcl,
|
||||
AC_HELP_STRING([--with-tcl],
|
||||
AS_HELP_STRING([--with-tcl],
|
||||
[directory containing tcl configuration (tclConfig.sh)]),
|
||||
with_tclconfig="${withval}")
|
||||
[with_tclconfig="${withval}"])
|
||||
AC_MSG_CHECKING([for Tcl configuration])
|
||||
AC_CACHE_VAL(ac_cv_c_tclconfig,[
|
||||
|
||||
@@ -212,9 +212,9 @@ AC_DEFUN([TEA_PATH_TKCONFIG], [
|
||||
# we reset no_tk in case something fails here
|
||||
no_tk=true
|
||||
AC_ARG_WITH(tk,
|
||||
AC_HELP_STRING([--with-tk],
|
||||
AS_HELP_STRING([--with-tk],
|
||||
[directory containing tk configuration (tkConfig.sh)]),
|
||||
with_tkconfig="${withval}")
|
||||
[with_tkconfig="${withval}"])
|
||||
AC_MSG_CHECKING([for Tk configuration])
|
||||
AC_CACHE_VAL(ac_cv_c_tkconfig,[
|
||||
|
||||
@@ -266,9 +266,6 @@ AC_DEFUN([TEA_PATH_TKCONFIG], [
|
||||
for i in `ls -d ~/Library/Frameworks 2>/dev/null` \
|
||||
`ls -d /Library/Frameworks 2>/dev/null` \
|
||||
`ls -d /Network/Library/Frameworks 2>/dev/null` \
|
||||
`ls -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/Library/Frameworks/Tcl.framework 2>/dev/null` \
|
||||
`ls -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/Network/Library/Frameworks/Tcl.framework 2>/dev/null` \
|
||||
`ls -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Tcl.framework 2>/dev/null` \
|
||||
; do
|
||||
if test -f "$i/Tk.framework/tkConfig.sh" ; then
|
||||
ac_cv_c_tkconfig="`(cd $i/Tk.framework; pwd)`"
|
||||
@@ -285,10 +282,10 @@ AC_DEFUN([TEA_PATH_TKCONFIG], [
|
||||
`ls -d /usr/local/lib 2>/dev/null` \
|
||||
`ls -d /usr/contrib/lib 2>/dev/null` \
|
||||
`ls -d /usr/pkg/lib 2>/dev/null` \
|
||||
`ls -d /usr/lib 2>/dev/null` \
|
||||
`ls -d /usr/lib64 2>/dev/null` \
|
||||
`ls -d /usr/lib/tk8.6 2>/dev/null` \
|
||||
`ls -d /usr/lib/tk8.5 2>/dev/null` \
|
||||
`ls -d /usr/lib 2>/dev/null` \
|
||||
`ls -d /usr/lib64 2>/dev/null` \
|
||||
`ls -d /usr/local/lib/tk8.6 2>/dev/null` \
|
||||
`ls -d /usr/local/lib/tk8.5 2>/dev/null` \
|
||||
`ls -d /usr/local/lib/tcl/tk8.6 2>/dev/null` \
|
||||
@@ -375,10 +372,6 @@ AC_DEFUN([TEA_LOAD_TCLCONFIG], [
|
||||
AC_MSG_RESULT([could not find ${TCL_BIN_DIR}/tclConfig.sh])
|
||||
fi
|
||||
|
||||
# eval is required to do the TCL_DBGX substitution
|
||||
eval "TCL_LIB_FILE=\"${TCL_LIB_FILE}\""
|
||||
eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\""
|
||||
|
||||
# If the TCL_BIN_DIR is the build directory (not the install directory),
|
||||
# then set the common variable name to the value of the build variables.
|
||||
# For example, the variable TCL_LIB_SPEC will be set to the value
|
||||
@@ -412,12 +405,6 @@ AC_DEFUN([TEA_LOAD_TCLCONFIG], [
|
||||
esac
|
||||
fi
|
||||
|
||||
# eval is required to do the TCL_DBGX substitution
|
||||
eval "TCL_LIB_FLAG=\"${TCL_LIB_FLAG}\""
|
||||
eval "TCL_LIB_SPEC=\"${TCL_LIB_SPEC}\""
|
||||
eval "TCL_STUB_LIB_FLAG=\"${TCL_STUB_LIB_FLAG}\""
|
||||
eval "TCL_STUB_LIB_SPEC=\"${TCL_STUB_LIB_SPEC}\""
|
||||
|
||||
AC_SUBST(TCL_VERSION)
|
||||
AC_SUBST(TCL_PATCH_LEVEL)
|
||||
AC_SUBST(TCL_BIN_DIR)
|
||||
@@ -493,10 +480,6 @@ AC_DEFUN([TEA_LOAD_TKCONFIG], [
|
||||
AC_MSG_RESULT([could not find ${TK_BIN_DIR}/tkConfig.sh])
|
||||
fi
|
||||
|
||||
# eval is required to do the TK_DBGX substitution
|
||||
eval "TK_LIB_FILE=\"${TK_LIB_FILE}\""
|
||||
eval "TK_STUB_LIB_FILE=\"${TK_STUB_LIB_FILE}\""
|
||||
|
||||
# If the TK_BIN_DIR is the build directory (not the install directory),
|
||||
# then set the common variable name to the value of the build variables.
|
||||
# For example, the variable TK_LIB_SPEC will be set to the value
|
||||
@@ -530,12 +513,6 @@ AC_DEFUN([TEA_LOAD_TKCONFIG], [
|
||||
esac
|
||||
fi
|
||||
|
||||
# eval is required to do the TK_DBGX substitution
|
||||
eval "TK_LIB_FLAG=\"${TK_LIB_FLAG}\""
|
||||
eval "TK_LIB_SPEC=\"${TK_LIB_SPEC}\""
|
||||
eval "TK_STUB_LIB_FLAG=\"${TK_STUB_LIB_FLAG}\""
|
||||
eval "TK_STUB_LIB_SPEC=\"${TK_STUB_LIB_SPEC}\""
|
||||
|
||||
# TEA specific: Ensure windowingsystem is defined
|
||||
if test "${TEA_PLATFORM}" = "unix" ; then
|
||||
case ${TK_DEFS} in
|
||||
@@ -592,14 +569,14 @@ AC_DEFUN([TEA_PROG_TCLSH], [
|
||||
if test -f "${TCL_BIN_DIR}/Makefile" ; then
|
||||
# tclConfig.sh is in Tcl build directory
|
||||
if test "${TEA_PLATFORM}" = "windows"; then
|
||||
if test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}" ; then
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}"
|
||||
elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}s${EXEEXT}" ; then
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}s${EXEEXT}"
|
||||
elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}t${EXEEXT}" ; then
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}t${EXEEXT}"
|
||||
elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}st${EXEEXT}" ; then
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}st${EXEEXT}"
|
||||
if test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${EXEEXT}" ; then
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${EXEEXT}"
|
||||
elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}s${EXEEXT}" ; then
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}s${EXEEXT}"
|
||||
elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}t${EXEEXT}" ; then
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}t${EXEEXT}"
|
||||
elif test -f "${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}st${EXEEXT}" ; then
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}st${EXEEXT}"
|
||||
fi
|
||||
else
|
||||
TCLSH_PROG="${TCL_BIN_DIR}/tclsh"
|
||||
@@ -607,9 +584,9 @@ AC_DEFUN([TEA_PROG_TCLSH], [
|
||||
else
|
||||
# tclConfig.sh is in install location
|
||||
if test "${TEA_PLATFORM}" = "windows"; then
|
||||
TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}"
|
||||
TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${EXEEXT}"
|
||||
else
|
||||
TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}${TCL_DBGX}"
|
||||
TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}"
|
||||
fi
|
||||
list="`ls -d ${TCL_BIN_DIR}/../bin 2>/dev/null` \
|
||||
`ls -d ${TCL_BIN_DIR}/.. 2>/dev/null` \
|
||||
@@ -650,14 +627,14 @@ AC_DEFUN([TEA_PROG_WISH], [
|
||||
if test -f "${TK_BIN_DIR}/Makefile" ; then
|
||||
# tkConfig.sh is in Tk build directory
|
||||
if test "${TEA_PLATFORM}" = "windows"; then
|
||||
if test -f "${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}${EXEEXT}" ; then
|
||||
WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}${EXEEXT}"
|
||||
elif test -f "${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}s${EXEEXT}" ; then
|
||||
WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}$s{EXEEXT}"
|
||||
elif test -f "${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}t${EXEEXT}" ; then
|
||||
WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}t${EXEEXT}"
|
||||
elif test -f "${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}st${EXEEXT}" ; then
|
||||
WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}st${EXEEXT}"
|
||||
if test -f "${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${EXEEXT}" ; then
|
||||
WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${EXEEXT}"
|
||||
elif test -f "${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}s${EXEEXT}" ; then
|
||||
WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}$s{EXEEXT}"
|
||||
elif test -f "${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}t${EXEEXT}" ; then
|
||||
WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}t${EXEEXT}"
|
||||
elif test -f "${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}st${EXEEXT}" ; then
|
||||
WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}st${EXEEXT}"
|
||||
fi
|
||||
else
|
||||
WISH_PROG="${TK_BIN_DIR}/wish"
|
||||
@@ -665,9 +642,9 @@ AC_DEFUN([TEA_PROG_WISH], [
|
||||
else
|
||||
# tkConfig.sh is in install location
|
||||
if test "${TEA_PLATFORM}" = "windows"; then
|
||||
WISH_PROG="wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}${EXEEXT}"
|
||||
WISH_PROG="wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${EXEEXT}"
|
||||
else
|
||||
WISH_PROG="wish${TK_MAJOR_VERSION}.${TK_MINOR_VERSION}${TK_DBGX}"
|
||||
WISH_PROG="wish${TK_MAJOR_VERSION}.${TK_MINOR_VERSION}"
|
||||
fi
|
||||
list="`ls -d ${TK_BIN_DIR}/../bin 2>/dev/null` \
|
||||
`ls -d ${TK_BIN_DIR}/.. 2>/dev/null` \
|
||||
@@ -713,7 +690,7 @@ AC_DEFUN([TEA_PROG_WISH], [
|
||||
AC_DEFUN([TEA_ENABLE_SHARED], [
|
||||
AC_MSG_CHECKING([how to build libraries])
|
||||
AC_ARG_ENABLE(shared,
|
||||
AC_HELP_STRING([--enable-shared],
|
||||
AS_HELP_STRING([--enable-shared],
|
||||
[build and link with shared libraries (default: on)]),
|
||||
[shared_ok=$enableval], [shared_ok=yes])
|
||||
|
||||
@@ -725,7 +702,7 @@ AC_DEFUN([TEA_ENABLE_SHARED], [
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(stubs,
|
||||
AC_HELP_STRING([--enable-stubs],
|
||||
AS_HELP_STRING([--enable-stubs],
|
||||
[build and link with stub libraries. Always true for shared builds (default: on)]),
|
||||
[stubs_ok=$enableval], [stubs_ok=yes])
|
||||
|
||||
@@ -797,7 +774,7 @@ AC_DEFUN([TEA_ENABLE_SHARED], [
|
||||
|
||||
AC_DEFUN([TEA_ENABLE_THREADS], [
|
||||
AC_ARG_ENABLE(threads,
|
||||
AC_HELP_STRING([--enable-threads],
|
||||
AS_HELP_STRING([--enable-threads],
|
||||
[build with threads (default: on)]),
|
||||
[tcl_ok=$enableval], [tcl_ok=yes])
|
||||
|
||||
@@ -911,8 +888,6 @@ AC_DEFUN([TEA_ENABLE_THREADS], [
|
||||
# Sets to "$(CFLAGS_OPTIMIZE) -DNDEBUG" if false
|
||||
# LDFLAGS_DEFAULT Sets to $(LDFLAGS_DEBUG) if true
|
||||
# Sets to $(LDFLAGS_OPTIMIZE) if false
|
||||
# DBGX Formerly used as debug library extension;
|
||||
# always blank now.
|
||||
#------------------------------------------------------------------------
|
||||
|
||||
AC_DEFUN([TEA_ENABLE_SYMBOLS], [
|
||||
@@ -920,10 +895,9 @@ AC_DEFUN([TEA_ENABLE_SYMBOLS], [
|
||||
AC_REQUIRE([TEA_CONFIG_CFLAGS])
|
||||
AC_MSG_CHECKING([for build with symbols])
|
||||
AC_ARG_ENABLE(symbols,
|
||||
AC_HELP_STRING([--enable-symbols],
|
||||
AS_HELP_STRING([--enable-symbols],
|
||||
[build with debugging symbols (default: off)]),
|
||||
[tcl_ok=$enableval], [tcl_ok=no])
|
||||
DBGX=""
|
||||
if test "$tcl_ok" = "no"; then
|
||||
CFLAGS_DEFAULT="${CFLAGS_OPTIMIZE} -DNDEBUG"
|
||||
LDFLAGS_DEFAULT="${LDFLAGS_OPTIMIZE}"
|
||||
@@ -935,13 +909,8 @@ AC_DEFUN([TEA_ENABLE_SYMBOLS], [
|
||||
AC_MSG_RESULT([yes (standard debugging)])
|
||||
fi
|
||||
fi
|
||||
# TEA specific:
|
||||
if test "${TEA_PLATFORM}" != "windows" ; then
|
||||
LDFLAGS_DEFAULT="${LDFLAGS}"
|
||||
fi
|
||||
AC_SUBST(CFLAGS_DEFAULT)
|
||||
AC_SUBST(LDFLAGS_DEFAULT)
|
||||
AC_SUBST(TCL_DBGX)
|
||||
|
||||
if test "$tcl_ok" = "mem" -o "$tcl_ok" = "all"; then
|
||||
AC_DEFINE(TCL_MEM_DEBUG, 1, [Is memory debugging enabled?])
|
||||
@@ -976,7 +945,7 @@ AC_DEFUN([TEA_ENABLE_SYMBOLS], [
|
||||
|
||||
AC_DEFUN([TEA_ENABLE_LANGINFO], [
|
||||
AC_ARG_ENABLE(langinfo,
|
||||
AC_HELP_STRING([--enable-langinfo],
|
||||
AS_HELP_STRING([--enable-langinfo],
|
||||
[use nl_langinfo if possible to determine encoding at startup, otherwise use old heuristic (default: on)]),
|
||||
[langinfo_ok=$enableval], [langinfo_ok=yes])
|
||||
|
||||
@@ -1108,7 +1077,7 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
|
||||
AC_MSG_CHECKING([if 64bit support is requested])
|
||||
AC_ARG_ENABLE(64bit,
|
||||
AC_HELP_STRING([--enable-64bit],
|
||||
AS_HELP_STRING([--enable-64bit],
|
||||
[enable 64bit support (default: off)]),
|
||||
[do64bit=$enableval], [do64bit=no])
|
||||
AC_MSG_RESULT([$do64bit])
|
||||
@@ -1117,7 +1086,7 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
|
||||
AC_MSG_CHECKING([if 64bit Sparc VIS support is requested])
|
||||
AC_ARG_ENABLE(64bit-vis,
|
||||
AC_HELP_STRING([--enable-64bit-vis],
|
||||
AS_HELP_STRING([--enable-64bit-vis],
|
||||
[enable 64bit Sparc VIS support (default: off)]),
|
||||
[do64bitVIS=$enableval], [do64bitVIS=no])
|
||||
AC_MSG_RESULT([$do64bitVIS])
|
||||
@@ -1146,7 +1115,7 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
|
||||
AC_MSG_CHECKING([if rpath support is requested])
|
||||
AC_ARG_ENABLE(rpath,
|
||||
AC_HELP_STRING([--disable-rpath],
|
||||
AS_HELP_STRING([--disable-rpath],
|
||||
[disable rpath support (default: on)]),
|
||||
[doRpath=$enableval], [doRpath=yes])
|
||||
AC_MSG_RESULT([$doRpath])
|
||||
@@ -1260,14 +1229,14 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
if test "$ac_cv_cross" = "yes"; then
|
||||
case "$do64bit" in
|
||||
amd64|x64|yes)
|
||||
CC="x86_64-w64-mingw32-gcc"
|
||||
CC="x86_64-w64-mingw32-${CC}"
|
||||
LD="x86_64-w64-mingw32-ld"
|
||||
AR="x86_64-w64-mingw32-ar"
|
||||
RANLIB="x86_64-w64-mingw32-ranlib"
|
||||
RC="x86_64-w64-mingw32-windres"
|
||||
;;
|
||||
*)
|
||||
CC="i686-w64-mingw32-gcc"
|
||||
CC="i686-w64-mingw32-${CC}"
|
||||
LD="i686-w64-mingw32-ld"
|
||||
AR="i686-w64-mingw32-ar"
|
||||
RANLIB="i686-w64-mingw32-ranlib"
|
||||
@@ -1336,11 +1305,11 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
# AIX-5 uses ELF style dynamic libraries on IA-64, but not PPC
|
||||
SHLIB_LD="/usr/ccs/bin/ld -G -z text"
|
||||
AS_IF([test "$GCC" = yes], [
|
||||
CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-R,${LIB_RUNTIME_DIR}"'
|
||||
], [
|
||||
CC_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-R${LIB_RUNTIME_DIR}"'
|
||||
])
|
||||
LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
|
||||
LD_SEARCH_FLAGS='-R "${LIB_RUNTIME_DIR}"'
|
||||
], [
|
||||
AS_IF([test "$GCC" = yes], [
|
||||
SHLIB_LD='${CC} -shared -Wl,-bexpall'
|
||||
@@ -1349,7 +1318,7 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
LDFLAGS="$LDFLAGS -brtl"
|
||||
])
|
||||
SHLIB_LD="${SHLIB_LD} ${SHLIB_LD_FLAGS}"
|
||||
CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-L${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
|
||||
])
|
||||
;;
|
||||
@@ -1385,19 +1354,6 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
SHLIB_LD='${CC} -shared'
|
||||
SHLIB_SUFFIX=".dll"
|
||||
SHLIB_LD_LIBS="${SHLIB_LD_LIBS} -Wl,--out-implib,\$[@].a"
|
||||
AC_CACHE_CHECK(for Cygwin version of gcc,
|
||||
ac_cv_cygwin,
|
||||
AC_TRY_COMPILE([
|
||||
#ifdef __CYGWIN__
|
||||
#error cygwin
|
||||
#endif
|
||||
], [],
|
||||
ac_cv_cygwin=no,
|
||||
ac_cv_cygwin=yes)
|
||||
)
|
||||
if test "$ac_cv_cygwin" = "no"; then
|
||||
AC_MSG_ERROR([${CC} is not a cygwin compiler.])
|
||||
fi
|
||||
EXEEXT=".exe"
|
||||
do64bit_ok=yes
|
||||
CC_SEARCH_FLAGS=""
|
||||
@@ -1435,8 +1391,8 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
SHLIB_CFLAGS="+z"
|
||||
SHLIB_LD="ld -b"
|
||||
LDFLAGS="$LDFLAGS -Wl,-E"
|
||||
CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
|
||||
LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.'
|
||||
CC_SEARCH_FLAGS='"-Wl,+s,+b,${LIB_RUNTIME_DIR}:."'
|
||||
LD_SEARCH_FLAGS='+s +b "${LIB_RUNTIME_DIR}:."'
|
||||
LD_LIBRARY_PATH_VAR="SHLIB_PATH"
|
||||
])
|
||||
AS_IF([test "$GCC" = yes], [
|
||||
@@ -1455,7 +1411,7 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
do64bit_ok=yes
|
||||
SHLIB_LD='${CC} -shared'
|
||||
AS_IF([test $doRpath = yes], [
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'])
|
||||
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
|
||||
;;
|
||||
*)
|
||||
@@ -1476,8 +1432,8 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
SHLIB_LD="ld -b"
|
||||
SHLIB_LD_LIBS=""
|
||||
LDFLAGS="$LDFLAGS -Wl,-E"
|
||||
CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
|
||||
LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.'
|
||||
CC_SEARCH_FLAGS='"-Wl,+s,+b,${LIB_RUNTIME_DIR}:."'
|
||||
LD_SEARCH_FLAGS='+s +b "${LIB_RUNTIME_DIR}:."'
|
||||
LD_LIBRARY_PATH_VAR="SHLIB_PATH"
|
||||
]) ;;
|
||||
IRIX-5.*)
|
||||
@@ -1486,16 +1442,16 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
SHLIB_SUFFIX=".so"
|
||||
AC_LIBOBJ(mkstemp)
|
||||
AS_IF([test $doRpath = yes], [
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS='-rpath "${LIB_RUNTIME_DIR}"'])
|
||||
;;
|
||||
IRIX-6.*)
|
||||
SHLIB_CFLAGS=""
|
||||
SHLIB_LD="ld -n32 -shared -rdata_shared"
|
||||
SHLIB_SUFFIX=".so"
|
||||
AS_IF([test $doRpath = yes], [
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS='-rpath "${LIB_RUNTIME_DIR}"'])
|
||||
AS_IF([test "$GCC" = yes], [
|
||||
CFLAGS="$CFLAGS -mabi=n32"
|
||||
LDFLAGS="$LDFLAGS -mabi=n32"
|
||||
@@ -1517,8 +1473,8 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
SHLIB_LD="ld -n32 -shared -rdata_shared"
|
||||
SHLIB_SUFFIX=".so"
|
||||
AS_IF([test $doRpath = yes], [
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS='-rpath "${LIB_RUNTIME_DIR}"'])
|
||||
|
||||
# Check to enable 64-bit flags for compiler/linker
|
||||
|
||||
@@ -1533,7 +1489,7 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
])
|
||||
])
|
||||
;;
|
||||
Linux*|GNU*|NetBSD-Debian)
|
||||
Linux*|GNU*|NetBSD-Debian|DragonFly-*|FreeBSD-*)
|
||||
SHLIB_CFLAGS="-fPIC"
|
||||
SHLIB_SUFFIX=".so"
|
||||
|
||||
@@ -1543,8 +1499,19 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
# TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS
|
||||
SHLIB_LD='${CC} ${CFLAGS} ${LDFLAGS_DEFAULT} -shared'
|
||||
LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
|
||||
|
||||
case $system in
|
||||
DragonFly-*|FreeBSD-*)
|
||||
AS_IF([test "${TCL_THREADS}" = "1"], [
|
||||
# The -pthread needs to go in the LDFLAGS, not LIBS
|
||||
LIBS=`echo $LIBS | sed s/-pthread//`
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
LDFLAGS="$LDFLAGS $PTHREAD_LIBS"])
|
||||
;;
|
||||
esac
|
||||
|
||||
AS_IF([test $doRpath = yes], [
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'])
|
||||
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
|
||||
AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"])
|
||||
AS_IF([test $do64bit = yes], [
|
||||
@@ -1574,8 +1541,8 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
SHLIB_LD='${CC} -shared'
|
||||
LD_FLAGS="-Wl,--export-dynamic"
|
||||
AS_IF([test $doRpath = yes], [
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'])
|
||||
;;
|
||||
OpenBSD-*)
|
||||
arch=`arch -s`
|
||||
@@ -1590,10 +1557,10 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared'
|
||||
SHLIB_SUFFIX=".so"
|
||||
AS_IF([test $doRpath = yes], [
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'])
|
||||
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
|
||||
SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so${SHLIB_VERSION}'
|
||||
LDFLAGS="-Wl,-export-dynamic"
|
||||
LDFLAGS="$LDFLAGS -Wl,-export-dynamic"
|
||||
CFLAGS_OPTIMIZE="-O2"
|
||||
# On OpenBSD: Compile with -pthread
|
||||
# Don't link with -lpthread
|
||||
@@ -1610,37 +1577,13 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
SHLIB_SUFFIX=".so"
|
||||
LDFLAGS="$LDFLAGS -export-dynamic"
|
||||
AS_IF([test $doRpath = yes], [
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'])
|
||||
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
|
||||
# The -pthread needs to go in the CFLAGS, not LIBS
|
||||
LIBS=`echo $LIBS | sed s/-pthread//`
|
||||
CFLAGS="$CFLAGS -pthread"
|
||||
LDFLAGS="$LDFLAGS -pthread"
|
||||
;;
|
||||
DragonFly-*|FreeBSD-*)
|
||||
# This configuration from FreeBSD Ports.
|
||||
SHLIB_CFLAGS="-fPIC"
|
||||
SHLIB_LD="${CC} -shared"
|
||||
SHLIB_LD_LIBS="${SHLIB_LD_LIBS} -Wl,-soname,\$[@]"
|
||||
SHLIB_SUFFIX=".so"
|
||||
LDFLAGS=""
|
||||
AS_IF([test $doRpath = yes], [
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
|
||||
# The -pthread needs to go in the LDFLAGS, not LIBS
|
||||
LIBS=`echo $LIBS | sed s/-pthread//`
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
LDFLAGS="$LDFLAGS $PTHREAD_LIBS"
|
||||
case $system in
|
||||
FreeBSD-3.*)
|
||||
# Version numbers are dot-stripped by system policy.
|
||||
TCL_TRIM_DOTS=`echo ${PACKAGE_VERSION} | tr -d .`
|
||||
UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
|
||||
SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1'
|
||||
TCL_LIB_VERSIONS_OK=nodots
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
Darwin-*)
|
||||
CFLAGS_OPTIMIZE="-Os"
|
||||
SHLIB_CFLAGS="-fno-common"
|
||||
@@ -1774,7 +1717,7 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
])
|
||||
SHLIB_SUFFIX=".so"
|
||||
AS_IF([test $doRpath = yes], [
|
||||
CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
|
||||
AS_IF([test "$GCC" = yes], [CFLAGS="$CFLAGS -mieee"], [
|
||||
CFLAGS="$CFLAGS -DHAVE_TZSET -std1 -ieee"])
|
||||
@@ -1827,11 +1770,11 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
SHLIB_SUFFIX=".so"
|
||||
AS_IF([test "$GCC" = yes], [
|
||||
SHLIB_LD='${CC} -shared'
|
||||
CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-R,${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
|
||||
], [
|
||||
SHLIB_LD="/usr/ccs/bin/ld -G -z text"
|
||||
CC_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='-R "${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
|
||||
])
|
||||
;;
|
||||
@@ -1897,7 +1840,7 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
SHLIB_SUFFIX=".so"
|
||||
AS_IF([test "$GCC" = yes], [
|
||||
SHLIB_LD='${CC} -shared'
|
||||
CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-R,${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
|
||||
AS_IF([test "$do64bit_ok" = yes], [
|
||||
AS_IF([test "$arch" = "sparcv9 sparc"], [
|
||||
@@ -1924,8 +1867,8 @@ AC_DEFUN([TEA_CONFIG_CFLAGS], [
|
||||
*)
|
||||
SHLIB_LD='/usr/ccs/bin/ld -G -z text';;
|
||||
esac
|
||||
CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
|
||||
LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
|
||||
CC_SEARCH_FLAGS='"-Wl,-R,${LIB_RUNTIME_DIR}"'
|
||||
LD_SEARCH_FLAGS='-R "${LIB_RUNTIME_DIR}"'
|
||||
])
|
||||
;;
|
||||
UNIX_SV* | UnixWare-5*)
|
||||
@@ -2091,6 +2034,8 @@ dnl # preprocessing tests use only CPPFLAGS.
|
||||
AC_SUBST(CFLAGS_DEBUG)
|
||||
AC_SUBST(CFLAGS_OPTIMIZE)
|
||||
AC_SUBST(CFLAGS_WARNING)
|
||||
AC_SUBST(LDFLAGS_DEBUG)
|
||||
AC_SUBST(LDFLAGS_OPTIMIZE)
|
||||
|
||||
AC_SUBST(STLIB_LD)
|
||||
AC_SUBST(SHLIB_LD)
|
||||
@@ -2374,6 +2319,7 @@ AC_DEFUN([TEA_BLOCKING_STYLE], [
|
||||
# HAVE_TM_GMTOFF
|
||||
# HAVE_TM_TZADJ
|
||||
# HAVE_TIMEZONE_VAR
|
||||
#
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
AC_DEFUN([TEA_TIME_HANDLER], [
|
||||
@@ -2381,7 +2327,7 @@ AC_DEFUN([TEA_TIME_HANDLER], [
|
||||
AC_HEADER_TIME
|
||||
AC_STRUCT_TIMEZONE
|
||||
|
||||
AC_CHECK_FUNCS(gmtime_r localtime_r)
|
||||
AC_CHECK_FUNCS(gmtime_r localtime_r mktime)
|
||||
|
||||
AC_CACHE_CHECK([tm_tzadj in struct tm], tcl_cv_member_tm_tzadj, [
|
||||
AC_TRY_COMPILE([#include <time.h>], [struct tm tm; tm.tm_tzadj;],
|
||||
@@ -2449,6 +2395,7 @@ AC_DEFUN([TEA_BUGGY_STRTOD], [
|
||||
if test "$tcl_strtod" = 1; then
|
||||
AC_CACHE_CHECK([for Solaris2.4/Tru64 strtod bugs], tcl_cv_strtod_buggy,[
|
||||
AC_TRY_RUN([
|
||||
#include <stdlib.h>
|
||||
extern double strtod();
|
||||
int main() {
|
||||
char *infString="Inf", *nanString="NaN", *spaceString=" ";
|
||||
@@ -2477,6 +2424,81 @@ AC_DEFUN([TEA_BUGGY_STRTOD], [
|
||||
fi
|
||||
])
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# TEA_TCL_LINK_LIBS
|
||||
#
|
||||
# Search for the libraries needed to link the Tcl shell.
|
||||
# Things like the math library (-lm), socket stuff (-lsocket vs.
|
||||
# -lnsl), zlib (-lz) and libtommath (-ltommath) are dealt with here.
|
||||
#
|
||||
# Arguments:
|
||||
# None.
|
||||
#
|
||||
# Results:
|
||||
#
|
||||
# Might append to the following vars:
|
||||
# LIBS
|
||||
# MATH_LIBS
|
||||
#
|
||||
# Might define the following vars:
|
||||
# HAVE_NET_ERRNO_H
|
||||
#
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
AC_DEFUN([TEA_TCL_LINK_LIBS], [
|
||||
#--------------------------------------------------------------------
|
||||
# On a few very rare systems, all of the libm.a stuff is
|
||||
# already in libc.a. Set compiler flags accordingly.
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
AC_CHECK_FUNC(sin, MATH_LIBS="", MATH_LIBS="-lm")
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Interactive UNIX requires -linet instead of -lsocket, plus it
|
||||
# needs net/errno.h to define the socket-related error codes.
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
AC_CHECK_LIB(inet, main, [LIBS="$LIBS -linet"])
|
||||
AC_CHECK_HEADER(net/errno.h, [
|
||||
AC_DEFINE(HAVE_NET_ERRNO_H, 1, [Do we have <net/errno.h>?])])
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Check for the existence of the -lsocket and -lnsl libraries.
|
||||
# The order here is important, so that they end up in the right
|
||||
# order in the command line generated by make. Here are some
|
||||
# special considerations:
|
||||
# 1. Use "connect" and "accept" to check for -lsocket, and
|
||||
# "gethostbyname" to check for -lnsl.
|
||||
# 2. Use each function name only once: can't redo a check because
|
||||
# autoconf caches the results of the last check and won't redo it.
|
||||
# 3. Use -lnsl and -lsocket only if they supply procedures that
|
||||
# aren't already present in the normal libraries. This is because
|
||||
# IRIX 5.2 has libraries, but they aren't needed and they're
|
||||
# bogus: they goof up name resolution if used.
|
||||
# 4. On some SVR4 systems, can't use -lsocket without -lnsl too.
|
||||
# To get around this problem, check for both libraries together
|
||||
# if -lsocket doesn't work by itself.
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
tcl_checkBoth=0
|
||||
AC_CHECK_FUNC(connect, tcl_checkSocket=0, tcl_checkSocket=1)
|
||||
if test "$tcl_checkSocket" = 1; then
|
||||
AC_CHECK_FUNC(setsockopt, , [AC_CHECK_LIB(socket, setsockopt,
|
||||
LIBS="$LIBS -lsocket", tcl_checkBoth=1)])
|
||||
fi
|
||||
if test "$tcl_checkBoth" = 1; then
|
||||
tk_oldLibs=$LIBS
|
||||
LIBS="$LIBS -lsocket -lnsl"
|
||||
AC_CHECK_FUNC(accept, tcl_checkNsl=0, [LIBS=$tk_oldLibs])
|
||||
fi
|
||||
AC_CHECK_FUNC(gethostbyname, , [AC_CHECK_LIB(nsl, gethostbyname,
|
||||
[LIBS="$LIBS -lnsl"])])
|
||||
AC_CHECK_FUNC(mp_log_u32, , [AC_CHECK_LIB(tommath, mp_log_u32,
|
||||
[LIBS="$LIBS -ltommath"])])
|
||||
AC_CHECK_FUNC(deflateSetHeader, , [AC_CHECK_LIB(z, deflateSetHeader,
|
||||
[LIBS="$LIBS -lz"])])
|
||||
])
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# TEA_TCL_EARLY_FLAGS
|
||||
#
|
||||
@@ -2492,6 +2514,7 @@ AC_DEFUN([TEA_BUGGY_STRTOD], [
|
||||
# _ISOC99_SOURCE
|
||||
# _LARGEFILE64_SOURCE
|
||||
# _LARGEFILE_SOURCE64
|
||||
#
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
AC_DEFUN([TEA_TCL_EARLY_FLAG],[
|
||||
@@ -2912,7 +2935,7 @@ AC_DEFUN([TEA_ADD_LIBS], [
|
||||
for i in $vars; do
|
||||
if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then
|
||||
# Convert foo.lib to -lfoo for GCC. No-op if not *.lib
|
||||
i=`echo "$i" | sed -e 's/^\([[^-]].*\)\.lib[$]/-l\1/i'`
|
||||
i=`echo "$i" | sed -e 's/^\([[^-]].*\)\.[[lL]][[iI]][[bB]][$]/-l\1/'`
|
||||
fi
|
||||
PKG_LIBS="$PKG_LIBS $i"
|
||||
done
|
||||
@@ -3099,7 +3122,7 @@ AC_DEFUN([TEA_SETUP_COMPILER], [
|
||||
AC_DEFUN([TEA_MAKE_LIB], [
|
||||
if test "${TEA_PLATFORM}" = "windows" -a "$GCC" != "yes"; then
|
||||
MAKE_STATIC_LIB="\${STLIB_LD} -out:\[$]@ \$(PKG_OBJECTS)"
|
||||
MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LD_LIBS} \${LDFLAGS_DEFAULT} -out:\[$]@ \$(PKG_OBJECTS)"
|
||||
MAKE_SHARED_LIB="\${SHLIB_LD} \${LDFLAGS} \${LDFLAGS_DEFAULT} -out:\[$]@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS}"
|
||||
AC_EGREP_CPP([manifest needed], [
|
||||
#if defined(_MSC_VER) && _MSC_VER >= 1400
|
||||
print("manifest needed")
|
||||
@@ -3114,7 +3137,7 @@ print("manifest needed")
|
||||
MAKE_STUB_LIB="\${STLIB_LD} -nodefaultlib -out:\[$]@ \$(PKG_STUB_OBJECTS)"
|
||||
else
|
||||
MAKE_STATIC_LIB="\${STLIB_LD} \[$]@ \$(PKG_OBJECTS)"
|
||||
MAKE_SHARED_LIB="\${SHLIB_LD} -o \[$]@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS}"
|
||||
MAKE_SHARED_LIB="\${SHLIB_LD} \${LDFLAGS} \${LDFLAGS_DEFAULT} -o \[$]@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS}"
|
||||
MAKE_STUB_LIB="\${STLIB_LD} \[$]@ \$(PKG_STUB_OBJECTS)"
|
||||
fi
|
||||
|
||||
@@ -3856,11 +3879,11 @@ AC_DEFUN([TEA_EXPORT_CONFIG], [
|
||||
# pkglibdir must be a fully qualified path and (not ${exec_prefix}/lib)
|
||||
eval pkglibdir="[$]{libdir}/$1${PACKAGE_VERSION}"
|
||||
if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
|
||||
eval $1_LIB_FLAG="-l$1${PACKAGE_VERSION}${DBGX}"
|
||||
eval $1_STUB_LIB_FLAG="-l$1stub${PACKAGE_VERSION}${DBGX}"
|
||||
eval $1_LIB_FLAG="-l$1${PACKAGE_VERSION}"
|
||||
eval $1_STUB_LIB_FLAG="-l$1stub${PACKAGE_VERSION}"
|
||||
else
|
||||
eval $1_LIB_FLAG="-l$1`echo ${PACKAGE_VERSION} | tr -d .`${DBGX}"
|
||||
eval $1_STUB_LIB_FLAG="-l$1stub`echo ${PACKAGE_VERSION} | tr -d .`${DBGX}"
|
||||
eval $1_LIB_FLAG="-l$1`echo ${PACKAGE_VERSION} | tr -d .`"
|
||||
eval $1_STUB_LIB_FLAG="-l$1stub`echo ${PACKAGE_VERSION} | tr -d .`"
|
||||
fi
|
||||
$1_BUILD_LIB_SPEC="-L`$CYGPATH $(pwd)` ${$1_LIB_FLAG}"
|
||||
$1_LIB_SPEC="-L`$CYGPATH ${pkglibdir}` ${$1_LIB_FLAG}"
|
||||
@@ -114,12 +114,12 @@ test basic-1.6 {objects have an access command
|
||||
namespace which -command x
|
||||
} -cleanup $cleanup2 -result ::x
|
||||
|
||||
test basic-1.7a {objects are added to the master list
|
||||
test basic-1.7a {objects are added to the global list
|
||||
} -setup $setup2 -body {
|
||||
itcl::find objects x
|
||||
} -cleanup $cleanup2 -result x
|
||||
|
||||
test basic-1.7b {objects are added to the master list
|
||||
test basic-1.7b {objects are added to the global list
|
||||
} -setup $setup2 -body {
|
||||
itcl::find objects -class Counter x
|
||||
} -cleanup $cleanup2 -result x
|
||||
@@ -14,7 +14,8 @@
|
||||
package require tcltest 2.2
|
||||
namespace import ::tcltest::test
|
||||
::tcltest::loadTestedCommands
|
||||
set ::itcllib [lindex [package ifneeded itcl [package require itcl]] 1]
|
||||
package require itcl
|
||||
set ::itcllib [lindex [lsearch -exact -index 1 -inline [info loaded] Itcl] 0]
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Test "itcl::import::stub" command
|
||||
@@ -45,7 +46,7 @@ test import-1.3 {"stub exists" requires one argument} {
|
||||
set interp [interp create]
|
||||
$interp eval {set ::tcl::inl_mem_test 0}
|
||||
$interp eval "
|
||||
[list ::load $::itcllib itcl]
|
||||
[list ::load $::itcllib Itcl]
|
||||
[::tcltest::configure -load]
|
||||
proc auto_load {cmd {namespace {}}} {
|
||||
global debug
|
||||
@@ -95,7 +96,7 @@ catch {interp delete $interp}
|
||||
set interp [interp create]
|
||||
$interp eval {set ::tcl::inl_mem_test 0}
|
||||
$interp eval "
|
||||
[list ::load $::itcllib itcl]
|
||||
[list ::load $::itcllib Itcl]
|
||||
[::tcltest::configure -load]
|
||||
proc auto_load {cmd {namespace {}}} {
|
||||
proc \$cmd {args} \[format {return \"%s: \$args\"} \$cmd\]
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Tests for using [incr Tcl] in slave interpreters
|
||||
# Tests for using [incr Tcl] in child interpreters
|
||||
# ----------------------------------------------------------------------
|
||||
# AUTHOR: Michael J. McLennan
|
||||
# Bell Labs Innovations for Lucent Technologies
|
||||
@@ -17,26 +17,26 @@ namespace import ::tcltest::test
|
||||
package require itcl
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Make sure that slave interpreters can be created and loaded
|
||||
# Make sure that child interpreters can be created and loaded
|
||||
# with [incr Tcl]...
|
||||
# ----------------------------------------------------------------------
|
||||
test interp-1.1 {create a slave interp with [incr Tcl]} {
|
||||
interp create slave
|
||||
load "" Itcl slave
|
||||
list [slave eval "namespace children :: itcl"] [interp delete slave]
|
||||
test interp-1.1 {create a child interp with [incr Tcl]} {
|
||||
interp create child
|
||||
load "" Itcl child
|
||||
list [child eval "namespace children :: itcl"] [interp delete child]
|
||||
} {::itcl {}}
|
||||
|
||||
test interp-1.2 {create a safe slave interp with [incr Tcl]} {
|
||||
interp create -safe slave
|
||||
load "" Itcl slave
|
||||
list [slave eval "namespace children :: itcl"] [interp delete slave]
|
||||
test interp-1.2 {create a safe child interp with [incr Tcl]} {
|
||||
interp create -safe child
|
||||
load "" Itcl child
|
||||
list [child eval "namespace children :: itcl"] [interp delete child]
|
||||
} {::itcl {}}
|
||||
|
||||
test interp-1.3 {errors are okay when slave interp is deleted} {
|
||||
catch {interp delete slave}
|
||||
interp create slave
|
||||
load "" Itcl slave
|
||||
slave eval {
|
||||
test interp-1.3 {errors are okay when child interp is deleted} {
|
||||
catch {interp delete child}
|
||||
interp create child
|
||||
load "" Itcl child
|
||||
child eval {
|
||||
itcl::class Troublemaker {
|
||||
destructor { error "cannot delete this object" }
|
||||
}
|
||||
@@ -51,13 +51,13 @@ catch {interp delete slave}
|
||||
}
|
||||
Foo f
|
||||
}
|
||||
interp delete slave
|
||||
interp delete child
|
||||
} {}
|
||||
|
||||
test interp-1.4 {one namespace can cause another to be destroyed} {
|
||||
interp create slave
|
||||
load "" Itcl slave
|
||||
slave eval {
|
||||
interp create child
|
||||
load "" Itcl child
|
||||
child eval {
|
||||
namespace eval group {
|
||||
itcl::class base1 {}
|
||||
itcl::class base2 {}
|
||||
@@ -66,14 +66,14 @@ test interp-1.4 {one namespace can cause another to be destroyed} {
|
||||
inherit group::base1 group::base2
|
||||
}
|
||||
}
|
||||
interp delete slave
|
||||
interp delete child
|
||||
} {}
|
||||
|
||||
test interp-1.5 {cleanup interp object list, this should not
|
||||
include an object that deletes itself in ctor} {
|
||||
interp create slave
|
||||
load "" Itcl slave
|
||||
slave eval {
|
||||
interp create child
|
||||
load "" Itcl child
|
||||
child eval {
|
||||
itcl::class DeleteSelf {
|
||||
constructor {} {
|
||||
itcl::delete object $this
|
||||
@@ -81,7 +81,7 @@ test interp-1.5 {cleanup interp object list, this should not
|
||||
}
|
||||
DeleteSelf ds
|
||||
}
|
||||
interp delete slave
|
||||
interp delete child
|
||||
} {}
|
||||
|
||||
::tcltest::cleanupTests
|
||||
@@ -153,6 +153,49 @@ test methods-2.1 {covers leak condition test for compiled locals, no args} {
|
||||
}
|
||||
list 0
|
||||
} 0
|
||||
test methods-2.2 {covers leak condition test for nested methods calls within eval, bug [8e632ce049]} -setup {
|
||||
itcl::class C1 {
|
||||
proc factory {} {
|
||||
set obj [C1 #auto]
|
||||
$obj myeval [list $obj read]
|
||||
itcl::delete object $obj
|
||||
}
|
||||
method myeval {script} { eval $script }
|
||||
method read {} { myeval {} }
|
||||
}
|
||||
} -body {
|
||||
time { C1::factory } 50
|
||||
list 0
|
||||
} -result 0 -cleanup {
|
||||
itcl::delete class C1
|
||||
}
|
||||
test methods-2.3 {call of method after object is destroyed inside other methods, SF-bug [c1289b1c32]} -setup {
|
||||
proc c1test {} {
|
||||
return c1test
|
||||
}
|
||||
itcl::class C1 {
|
||||
public method m1 {} {
|
||||
itcl::delete object $this
|
||||
c1test
|
||||
}
|
||||
public method m2 {} {
|
||||
rename $this {}
|
||||
c1test
|
||||
}
|
||||
public method c1test {} {
|
||||
return C1::c1test
|
||||
}
|
||||
}
|
||||
} -body {
|
||||
set result {}
|
||||
set obj [C1 #auto]
|
||||
lappend result [catch {$obj m1} v] $v [namespace which -command $obj]
|
||||
set obj [C1 #auto]
|
||||
lappend result [catch {$obj m2} v] $v [namespace which -command $obj]
|
||||
} -match glob -result {1 * {} 1 * {}} -cleanup {
|
||||
itcl::delete class C1
|
||||
rename c1test {}
|
||||
}
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Clean up
|
||||
@@ -457,12 +457,12 @@ test sfbug-257 { SF bug #257
|
||||
-cleanup {interp delete $interp}
|
||||
|
||||
test sfbug-259 { SF bug #257 } -setup {
|
||||
interp create slave
|
||||
load {} Itcl slave
|
||||
interp create child
|
||||
load {} Itcl child
|
||||
} -cleanup {
|
||||
interp delete slave
|
||||
interp delete child
|
||||
} -body {
|
||||
slave eval {
|
||||
child eval {
|
||||
proc do_uplevel { body } {
|
||||
uplevel 1 $body
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user