Index: xotcl/ChangeLog =================================================================== diff -u -r8378485a74867cfbd1bbc4d6d0fd1b2919f205c3 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/ChangeLog (.../ChangeLog) (revision 8378485a74867cfbd1bbc4d6d0fd1b2919f205c3) +++ xotcl/ChangeLog (.../ChangeLog) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,11 +1,141 @@ -2005-01-15 Gustaf.Neumann@wu-wien.ac.at, Uwe Zdun +2005-09-09 + * fixing various namespace issues in library files to make + regression test working again. + +2005-09-08 + * documentation and regressiontest for "self isnextcall" added + * added further regression tests, documentation improvements + * Httpd: changed classes + AccessControl BasicAccessControl + DigestAccessControl Responder + to Httpd::AccessControl ... Httpd::Responder + in order to reduce namespace pollution; applications + refering to these must use now these names + +2005-09-07 + * fixed callstack information for expr; old code could + believe (in connection with forward) to be in an uplevel when + a forward to expr was called. This could result in a wrong + result for [self].... + + * merged first bunch of files from Andreas Kupries to + make libraries more namespace clean. fixed a few namespace iusses + in the libraries. + + * fixed refrence resolving in istype; the following works now the same + way: + C create c1 + c1 istype ::C + c1 istype C + +2005-09-02 + * code cleanup: removed ifdefs for TCLCMD + +2005-08-04 + * fixed instvar implementation when variable names + are empty strings (many thanks to Zoran for reporting this) + +2005-07-13 Uwe.Zdun@wu-wien.ac.at> + * new subcommand for self: [self isnextcall] + is true, if the current method was called via next. + This fixes the abstact method. + +2005-05-04 + * prevent new from overwriting an existing object + (increment further until unused name is found) + +2005-07-04 Jeff Hobbs + * + +2005-04-04 + * allow xotcl to be used in safe safe interpreters + + ~rlwrap /usr/bin/tclsh + % package req XOTcl + 1.3.7 + % interp create -safe slave + slave + % load "" xotcl slave + % slave eval ::xotcl::Object o1 + ::o1 + +2005-03-24 + * implemented resolving for references to classnames not + in the current namespace such that the following works + namespace eval foo { + Class M -superclass Class + } + without the need of specifying "-superclass ::Class" + + * implemented resolving for references to imported class names + such that the following works + namespace eval foo { + namespace import ::bar::A + Class M -superclass A + } + +2005-03-17 , Uwe Zdun + * release of distribution XOTcl 1.3.6 + +2005-03-16 + * extended semantics of meta class definitions: + old: + a meta class is either ::xotcl::Class or one of its + direct subclasses + new: + a meta class is either ::xotcl::Class or a class + inheriting from ::xotcl::Class + The subtle difference is that with the new definition + every class can be made to a superclass by adding an instmixin + of Class (or one of its subtypes) to it. Before this change + it was necessary to alter the Class hierary explicitely. + In order to define that every class should be a metaclass, + one can use now + Object instmixin Class + instead of the rather complicated solution i posted on the + xotcl mailing list not long ago. + + * new info subcommand: info precedence + * fixed possible crashes of objects are called with class methods + (e.g. due to instmixins) + * fixed bug when instmixins are defined recursively + (e.g. Class instmixin Class) + * code refactoring, fixed erroneous documentation of c code + * improved documentation in tutorial, als syntactically + such that htmldoc 1.8.24 works with it + * extended regression test, reduced dependency on tests + +2005-03-11 + * fixed bug noted by Kristoffer Lawson: + - Don't allow an object to be changed to a class via "o class Class" + - Don't allow an object to be recreated (without alloc) to a Class + * fixing the following command + namespace eval foo { + Class m + Object o -mixin m + } + such that m is resolved from the foo namespace. + The ::xotcl:: namespace is now skipped, since a + helper method that calles the primitive setting command + is defined there + +2005-03-01 + * improved documentation of next in langRef + +2005-02-23 + * fixed passing of error code from init methods + (thanks to Fabrice Pardo for noting it) + * returning PACKAGE_VERSION after a package require + (e.g. 'package req XOTcl' returns now 1.3.6) + +2005-01-15 , Uwe Zdun * release of distribution XOTcl 1.3.5 -2005-01-10 Gustaf.Neumann@wu-wien.ac.at +2005-01-10 * added instproc for ::xotcl::Class allinstances to return all instances for the actual class -2005-01-07 Gustaf.Neumann@wu-wien.ac.at +2005-01-07 * code cleanup for nonpos args * new methods for Serialzer: - Serializer methodSerialize (to serialize methods) @@ -16,7 +146,7 @@ * fix for serializer, when xotcl is not imported globally * aolserver: support for namespaced objects in xotcl.tcl -2005-01-06 Gustaf.Neumann@wu-wien.ac.at +2005-01-06 * made introspection options for methods with nonpos args compatible with Tcl * adding functionality to allow nonpos args and positional args @@ -28,23 +158,23 @@ default, instargs, instdefault * fixed bug: Check Boolean in non-pos args crashed with 2 args -2004-12-15 Gustaf.Neumann@wu-wien.ac.at +2004-12-15 * fixed crash for empty arguments (thanks to Gerald Stermsek for reporting this bug) -2004-12-02 Gustaf.Neumann@wu-wien.ac.at, Uwe Zdun +2004-12-02 , Uwe Zdun * release of distribution XOTcl 1.3.4 -2004-12-02 Gustaf.Neumann@wu-wien.ac.at +2004-12-02 * changed metadata analyser from recursive to iterative 2004-11-30 * various fixes to improve portability -2004-11-27 Gustaf.Neumann@wu-wien.ac.at, Uwe Zdun +2004-11-27 , Uwe Zdun * release of distribution XOTcl 1.3.3 -2004-11-20 Gustaf.Neumann@wu-wien.ac.at +2004-11-20 * fixed [self callinglevel] in nested uplevel loops in the presence of filters, extended regression test @@ -53,23 +183,23 @@ Thanks to Bryan Schofield for reporting this bug. Added tests. -2004-11-18 Gustaf.Neumann@wu-wien.ac.at +2004-11-18 * changed internal communication between end-of-filterchanin and "unknown" to flag instead of return code XOTCL_UNKNOWN * fixed [self callinglevel] in nested uplevel loops (many thanks to MichaelL@frogware.com for reporting the problem) -2004-11-14 Gustaf.Neumann@wu-wien.ac.at +2004-11-14 * fixed yet another free memory read (many thanks for Zoran for help with purify) -2004-11-13 Gustaf.Neumann@wu-wien.ac.at +2004-11-13 * fixed entries for aolserver in configure.in (many thanks for Zoran reporting this problem) * fixed --enable symbols (many thanks for Zoran reporting this problem) * fixed free memory read in namespace deletes -2004-10-30 Gustaf.Neumann@wu-wien.ac.at +2004-10-30 * added error message when someone tries to delete a non-existing proc/instproc * using less memory for objects and classes with procs/instprocs, @@ -78,17 +208,17 @@ * documented deletions of object procs and instproc through proc/instproc with empty args and empty body -2004-10-13 Gustaf.Neumann@wu-wien.ac.at +2004-10-13 * make namespace handling code more orthogonal * using resolver for exists method (might be used in future for other methods as well) * cleanup of dead code -2004-10-09 Gustaf.Neumann@wu-wien.ac.at +2004-10-09 * fixed recreation bug in connection with namespace eval * fixed exists for objects with own namespaces -2004-09-20 Gustaf.Neumann@wu-wien.ac.at +2004-09-20 * Fixed bin-tar target to include sdbm+gdbm+expat * Improved documentation (tutorial and langref) for forwarding options * using $prefix in install-aol, provided a README.aol file @@ -116,15 +246,15 @@ by user, thanks to michael.heca@email.cz for reporting the bug. Added a test for this change. -2004-08-26 Gustaf.Neumann@wu-wien.ac.at, Uwe Zdun +2004-08-26 , Uwe Zdun * release of distribution XOTcl 1.3.1 -2004-08-26 Gustaf.Neumann@wu-wien.ac.at +2004-08-26 * removed dependencies on TclGetInterpProc(), added define USE_INTERP_PROC if someone needs this. If nobody complains, we will remove this in the future -2004-08-22 Gustaf.Neumann@wu-wien.ac.at +2004-08-22 * fixed nonposargs, when used with checker procs and spaces in arguments * auto-generating docs in build tree (instead in @@ -134,78 +264,78 @@ XOTclObject) * make tar makes distclean first -2004-08-19 Gustaf.Neumann@wu-wien.ac.at +2004-08-19 * if configure is run outside the src tree the directory structure is now built on the fly. All binary output files are now placed in the built-tree. -2004-08-18 Gustaf.Neumann@wu-wien.ac.at +2004-08-18 * added a regresion test for serialzer * fixed a "last minute" bug in serializer * configure changes: made subdirs relative to $srcdir, set XOTCL_SRC_DIR to $srcdir to make build succeed from outside dir -2004-08-17 Gustaf.Neumann@wu-wien.ac.at, Uwe Zdun +2004-08-17 , Uwe Zdun * release of distribution XOTcl 1.3.0 -2004-08-17 Gustaf.Neumann@wu-wien.ac.at +2004-08-17 * fixing make for rpm * tweaking configures stuff to work with rpm -2004-08-16 Gustaf.Neumann@wu-wien.ac.at +2004-08-16 * adding two sections to tutorial, updated langref.xotcl -2004-08-15 Gustaf.Neumann@wu-wien.ac.at +2004-08-15 * Adding non positional arguments to serializer -2004-08-12 Gustaf.Neumann@wu-wien.ac.at +2004-08-12 * fixed a possible core dump when 'my' was called without args (many thanks to Bryan Schofield for noting) * some code generalization and cleanup -2004-08-01 Gustaf.Neumann@wu-wien.ac.at +2004-08-01 * changes to forward and instforward: providing positional arguments for the forwarder. It is now possible to prefix the arguments with "%@POS ", where POS can be a positive or negative number or "end". A negative offset can be used to address relative to the end -2004-08-01 Gustaf.Neumann@wu-wien.ac.at +2004-08-01 * xotcl.c: calling __unknown when an object with an unknown parent namespace is called (for handling nested object classes in Zoran's ttrace package) -2004-08-01 Gustaf.Neumann@wu-wien.ac.at +2004-08-01 * yet another fixed access to freed memory (when the configure method returned a non numerical value, which was tried to be converted into a number; setting refcounts properly helped. (thanks to Zoran for his help with Purify ) * minor code cleanup * test with tcl 8.4.7 -2004-07-29 Gustaf.Neumann@wu-wien.ac.at +2004-07-29 * changes to forward and instforward: + %some-command executes some-command at invocation time and substitutes result + substitution extended to all arguments (also on callee) -2004-07-28 Gustaf.Neumann@wu-wien.ac.at +2004-07-28 * yet another fixed access to freed memory (thanks to Zoran for his help with Purify ) -2004-07-26 Gustaf.Neumann@wu-wien.ac.at +2004-07-26 * fixed bug in filters in connection with instmixin; inactive tcl callstack frame was dereferenced. This fixed as well a potential uplevel bug * fixed access to freed memory (thanks to Zoran for his help with Purify ) -2004-07-23 Gustaf.Neumann@wu-wien.ac.at +2004-07-23 * implemented experimental next method for delegating same-named procs to different objects -2004-07-20 Gustaf.Neumann@wu-wien.ac.at +2004-07-20 * fixed a potential crash when a instmixin was registered on itself 2004-07-19 Uwe Zdun @@ -216,7 +346,7 @@ * Added file autogen.sh, to generate all configure files * Added file autoclean.sh, to clean whole source tree, incl. configure -2004-07-18 Gustaf.Neumann@wu-wien.ac.at +2004-07-18 * added removal of autom4te.cache to distclean * make doc added to "all" target * auto-generated html docs are removed in a make clean @@ -235,7 +365,7 @@ docs should be built during make, installed during make install and removed from the build dir during make clean. -2004-07-03 Gustaf.Neumann@wu-wien.ac.at +2004-07-03 * extended commands filter, mixin, instfilter, instmixin: These commands are changed in a backward compatible manner. They can be used as follows @@ -262,7 +392,7 @@ * integrated support for non-positional arguments for procs and instprocs -2004-07-02 Gustaf.Neumann@wu-wien.ac.at +2004-07-02 * rename forward option -inscope to -objscope * xotcl.c: added current namespace prefix, when a forwarder is defined with -objscope and no namespace prefix was specified @@ -272,7 +402,7 @@ * added tests for forward to regression test suite * applied and fixed the config improvements by Jim Lynch -2004-07-01 Gustaf.Neumann@wu-wien.ac.at +2004-07-01 * xotcl.c: allow literal %self, %proc, %1 etc. as arguments of the forwarder: arguments in the definition of a forwarder proc starting with two %-characters are changed into arguments starting @@ -285,7 +415,7 @@ * Serializer.xotcl; Added handling of the forwarders to the serializer. Therefore forwarders are kept in the serialized state. -2004-06-29 Gustaf.Neumann@wu-wien.ac.at +2004-06-29 * changed name of delegator methods to forward/instforward * removed most of the switches of the forwarder. We have now @@ -301,11 +431,11 @@ -default list-of-methods: to be used in connection with %1, when there are not enough arguments in the actual call. -2004-06-24 Gustaf.Neumann@wu-wien.ac.at +2004-06-24 * fixed coredump for delegation to object without method specified (many thanks for Bryan Schofield for the bug report) -2004-06-20 Gustaf.Neumann@wu-wien.ac.at +2004-06-20 * removed inclusion of * second version of delegator methods cmd and instcmd @@ -347,7 +477,7 @@ (e.g. [$obj info] be mapped to COMMAND showInfoOptions) -2004-06-18 Gustaf.Neumann@wu-wien.ac.at +2004-06-18 * added *.a to CLEANFILES in configure.in to rm stublibfile on a "make clean" * added subdir traversal for distclean @@ -368,7 +498,7 @@ * computing default prefixes in insttclcmd/tcllcmd for not fully qualified commands -2004-05-29 Gustaf.Neumann@wu-wien.ac.at +2004-05-29 * first version of instdelegatecommand * defined metaclass ::xotcl:.SelfApplicableClass to allow @@ -379,27 +509,27 @@ (for relations between objects and classes and for inter-class-relations) -2004-05-22 Gustaf.Neumann@wu-wien.ac.at +2004-05-22 * fixed path for installing files in Makefile.in (many thanks to Jeffrey Hobbs) * fixed path searching in xotcl.m4 -2004-05-07 Gustaf.Neumann@wu-wien.ac.at +2004-05-07 * fixed compile problems under HPUX (with the help of Attila Dona') * fixed some compiler warnings in tcl-expat showing up (some are still missing) with -Wall -Wconversion -Wno-implicit-int -2004-04-30 Gustaf.Neumann@wu-wien.ac.at +2004-04-30 * removed duplicates from results from [obj info methods] * fixed GENERIC_HDRS in configure.in and Makefile.in * fixed documentation bugs for "info children" and "info classchildren" * fixed an incorrect error message, when method called from a mixin was not found. -2004-04-25 Gustaf.Neumann@wu-wien.ac.at +2004-04-25 * alloc returns name of created object * On an "Object create ::o1 -noinit" the noinit option deactivates the search for default values @@ -410,41 +540,41 @@ - fixed variable contents in xotclConfig.sh file - passing of include and spec file for gdbm -2004-04-10 Gustaf.Neumann@wu-wien.ac.at +2004-04-10 * start to move to TEA3 * moved tcl scripts xotclsh and xowish into apps/utils * made minimal build independent from tclsh; new target libraries-pkgindex, fulldoc, doc removed from default targets * at least for the time being, no static shells -2004-03-23 Gustaf.Neumann@wu-wien.ac.at +2004-03-23 * added a flag --with-aolserver3 to configure and removed the checking of the current directory to determine whether or not to compile an AOLserver 3.* module. Thanks to Jim Lynch to suggestion it. -2004-03-03 Gustaf.Neumann@wu-wien.ac.at +2004-03-03 * fixed a potential crash in procSearch method (Thanks to Artur Trzewik for the good error report) -2004-02-29 Gustaf.Neumann@wu-wien.ac.at +2004-02-29 * callMethod* calls DoDispatch instead of ObjDispatch * adding a callStackPush() for XOTclOEvalMethod() such that 'o eval self' returns '::o' -2004-02-21 Gustaf.Neumann@wu-wien.ac.at +2004-02-21 * added link to XOTcl wiki to xotcl homepage. -2004-02-20 Gustaf.Neumann@wu-wien.ac.at, Uwe Zdun +2004-02-20 , Uwe Zdun * release of distribution XOTcl 1.2.0 2004-02-17 Uwe Zdun * fixed a Tcl_Obj ref count free that was called too early. * fixed support for Visual CC debugger * fixed Win version info -2004-02-16 Gustaf.Neumann@wu-wien.ac.at +2004-02-16 * fixed a reference to a structure of a destroyed object 2004-02-16 Uwe Zdun @@ -455,15 +585,15 @@ * rewritten the tutorial text for mixin/filter guards completely * added new files to Win makefile.vc -2004-02-14 Gustaf.Neumann@wu-wien.ac.at +2004-02-14 * experimental new command "self guardedlevel" as replacement for getGuardedScope * added documentation for self callinglevel, self activelevel and the methods upvar and uplevel * used a bold font for predefined Tcl and XOTcl words in the HTML version of the tutorial -2004-02-13 Gustaf.Neumann@wu-wien.ac.at +2004-02-13 * xotcl.c more code cleanup: - some minor performance improvement - used the same idiom for iterating over a class @@ -488,25 +618,25 @@ simplified XOTcl_RenameObjCmd * corrected mistakes in tutorial code for filterguards. -2004-01-31 Gustaf.Neumann@wu-wien.ac.at +2004-01-31 * performed coverage analysis of regression test * changed unsuccessful branches into asserts * extended testx.xotcl for better coverage -2004-01-28 Gustaf.Neumann@wu-wien.ac.at +2004-01-28 * Streamlined code; removed mixinChainOn from mixinStack and filterChainOn from filterStack and use callstack frameTypes instead. * some performance improvements -2004-01-27 Gustaf.Neumann@wu-wien.ac.at +2004-01-27 * implemented uplevel method (uses [self callinglevel] when no level specified) * fixed a bug in next, when methods on the same object are called from within a mixin class and filters are defined * some performance improvements -2004-01-19 Gustaf.Neumann@wu-wien.ac.at +2004-01-19 * added more test cases, * upvar method fully functional * simplified CallFrame management on XOTcl stack @@ -517,18 +647,18 @@ treated there) * included a fix from Zoran for thread exit handlers. -2004-01-16 Gustaf.Neumann@wu-wien.ac.at +2004-01-16 * defined upvar method (uses [self callinglevel] when no level specified) * simplified stringIncrement method and added a couple of assert(). -2004-01-15 Gustaf.Neumann@wu-wien.ac.at +2004-01-15 * allow volatile to be called from toplevel * decrementing refcount of global objects as needed (some had a high increment) -2004-01-14 Gustaf.Neumann@wu-wien.ac.at +2004-01-14 * method 'new' now uses stringIncrement, which replaces the name generation based on numbers by a name generation based on strings. The strings are constructed by small and capital @@ -551,35 +681,35 @@ * moved resetting of shadowed tcl commands after the deletion of object (as suggested by Zoran) -2004-01-11 Gustaf.Neumann@wu-wien.ac.at +2004-01-11 * all occurrences of uplevel/upvar equipped with [self callinglevel] such that library works with standard uplevel/upvar * faster version of 'new' method (more than 20% faster, using c-variable, faster long to ascii conversion) * objinst (of oo-bench) about 17% faster -2004-01-10 Gustaf.Neumann@wu-wien.ac.at +2004-01-10 * polished macros XOTcl_FrameDecls, XOTcl_PushFrame, XOTcl_PopFrame (2 versions, slower version with less dependencies on tclInt.h) * removed mixinCalls and filterCalls from interpreter state. * removed unneeded macros -2004-01-08 Gustaf.Neumann@wu-wien.ac.at +2004-01-08 * fixed bug on exit, when no threads are enabled (different cleanup strategy in threads) * fixed crash on deleted Tcl_Cmd, when xotcl debugging output is turned on * some more code cleanup -2004-01-07 Gustaf.Neumann@wu-wien.ac.at +2004-01-07 * removed varFramePtr from xotcl callstack * removed unneeded variables from runtime state * resetting of csc->callsNext after a next call * added "methods" to info info -2004-01-06 Gustaf.Neumann@wu-wien.ac.at +2004-01-06 * cutting of callframes removed completely * 2 new subcommands for self: - self callinglevel: returns the tcl stack level to address @@ -601,7 +731,7 @@ "Tcl_CallFrame *" and defined macros Tcl_CallFrame_XXXX to access component XXXX -2004-01-04 Gustaf.Neumann@wu-wien.ac.at +2004-01-04 * callstack manipulation reduced significantly * speedup on xoRDF.test about 7% * self callingobject/callingclass/.... refers always to @@ -613,7 +743,7 @@ * possible extension "self level ?n?" similar to "info level ?n?" to obtain information about call stack -2004-01-02 Gustaf.Neumann@wu-wien.ac.at +2004-01-02 * Changed all variables of type "Namespace *" to "Tcl_Namespace *" and defined macros Tcl_Namespace_XXXX to access component XXXX @@ -622,7 +752,7 @@ * overall code cleanup * extended test suite with tclmd and insttclcmd -2004-01-01 Gustaf.Neumann@wu-wien.ac.at +2004-01-01 * fixed loop on invocation of methods registered by the tclcmd method * allowed to register fully qualified commands via @@ -631,7 +761,7 @@ * renamed "next" method to "__next" * restored old behavior of defaultmethod -2003-12-31 Gustaf.Neumann@wu-wien.ac.at +2003-12-31 * Changed all variables of type "Command *" to "Tcl_Command" and defined macros Tcl_Command_XXXX to access component XXXX * new predefined method self: [ self] returns fully @@ -648,30 +778,30 @@ * The new defaultmethod calls next on parent object to prohibit shadowing of methods through sub-objects -2003-12-28 Gustaf.Neumann@wu-wien.ac.at +2003-12-28 * new functions: CallStackUseActiveFrames()/CallStackRestoreSavedFrames() to to avoid walking through and modifying the whole stack when locating an active frame to set variables (using in -volatile, instvar, info defaults) callstackcutframes still used in info level, uplevel, upvar, info callingproc, callingclass, callingobject -2003-12-25 Gustaf.Neumann@wu-wien.ac.at +2003-12-25 * update of various library functions (such as Httpd) to use sub-objects as methods (avoids calls of [self]::objname) -2003-12-19 Gustaf.Neumann@wu-wien.ac.at +2003-12-19 * xotcl.c: allow to call sub-objects as methods via "my" -2003-12-16 Gustaf.Neumann@wu-wien.ac.at +2003-12-16 * added logdir as parameter for Place (HttpPlace) * fixed handling of content-length == 0 in Httpd.xotcl to avoid Problem with microsoft explorer's WebDav queries -2003-11-13 Gustaf.Neumann@wu-wien.ac.at, Uwe Zdun +2003-11-13 , Uwe Zdun * release of distribution XOTcl 1.1.1 -2003-12-13 Gustaf.Neumann@wu-wien.ac.at +2003-12-13 * Removed dependency that certain variable references in tclConfig.sh (such as TCL_SHARED_LIB_SUFFIX='${VERSION}${DBGX}.so'); There was a @@ -686,16 +816,16 @@ and pass it through xtoclConfig.sh to the c based c-components (sdbm, gdbm, expat) -2003-12-08 Gustaf.Neumann@wu-wien.ac.at +2003-12-08 * Some cleanup in tclexpat.c to make it compile on freebsd * configure: made --with_gdbm configurable such that include path and library path can be configured * Httpd.xotcl: added simple redirects, can be used like e.g. Httpd h2 -port 9086 -root /tmp \ -redirect {^(mailman|pipermail|cgi-bin) - http://alice.wu-wien.ac.at:80} + http://alice.wu-wien.ac.at>:80} -2003-12-07 Gustaf.Neumann@wu-wien.ac.at +2003-12-07 * incorporated more fixes for build system suggested by Daniel Steffen * changed version number to 1.1.1 @@ -704,7 +834,7 @@ * used everywhere for SHLIB_LD_LIBS XOTCL_BUILD_STUB_LIB_SPEC instead of XOTCL_STUB_LIB_SPEC -2003-12-06 Gustaf.Neumann@wu-wien.ac.at +2003-12-06 * httpd.xotcl: fixed return format in HTTP reply header parameters Allow: and Public: for HTTP OPTIONS method * library/store/XOTclGdbm/: fixed initialization of @@ -722,22 +852,22 @@ % make test % make install DESTDIR=/tmp -2003-12-05 Gustaf.Neumann@wu-wien.ac.at +2003-12-05 * incorporated changes as suggested by Daniel Steffen - using consequently DESTDIR for all directory references - made procs in predefined.xotcl independent from namespace import ::xotcl::* - make references relative to $(srcdir) in all Makefile.in -2003-12-02 Gustaf.Neumann@wu-wien.ac.at +2003-12-02 * added "--with-tkinclude" * fixed "--with-tclinclude" to set TCL_INCLUDES (for all subdirs) -2003-11-29 Gustaf.Neumann@wu-wien.ac.at, Uwe Zdun +2003-11-29 , Uwe Zdun * release of distribution XOTcl 1.1.0 -2003-11-29 Gustaf.Neumann@wu-wien.ac.at +2003-11-29 * moved tcl command hooks into thread local storage to fix a bug, when xotcl is loaded into a thread * fixed various documentation bugs, added style files for @@ -748,7 +878,7 @@ documentation on each run of make) * Fixed compilation issues of expat with tcl 8.3 or younger -2003-11-28 Gustaf.Neumann@wu-wien.ac.at +2003-11-28 * fixed include path for actiweb components (sdbm and expat) * extended transparent mixins for upvar, uplevel * extended regression test @@ -759,21 +889,21 @@ * installed XOTcl library into lib directory under windows instead of bin -2003-11-26 Gustaf.Neumann@wu-wien.ac.at +2003-11-26 * removed ::xotcl::lib from predefined variables and from man page * added namespace require to xotclsh * added transparent mixins for instvar -2003-11-25 Gustaf.Neumann@wu-wien.ac.at +2003-11-25 * xotcl.c: further generalization of call stack entry skipping; cutFrames can skip now over filters and/or mixins * "Class new -volatile" works now through filters and mixins * regression test updated * reduced size of xotcl distro * fixed various typos in language reference -2003-11-22 Gustaf.Neumann@wu-wien.ac.at +2003-11-22 * xotcl.c: generalized cutting of call stack entries to skip either filters or mixins * "Class new -volatile" works now through mixins for create @@ -787,7 +917,7 @@ (such as TK)" to the tutorial - updated tutorial, readme, compile, compile.win -2003-11-16 Gustaf.Neumann@wu-wien.ac.at +2003-11-16 * Httpd.xotcl: forced HTTP/1.1 requests over SSL to use HTTP/1.0 due to a problem between OpenSSL and certain incarnations of IE. @@ -802,7 +932,7 @@ configure timeout for persistent connections * eliminated a few compiler warnings from xotcl.c -2003-11-12 Gustaf.Neumann@wu-wien.ac.at +2003-11-12 * removed namespace import/forget in predefined.xotcl * Makefile cleanup (fixed duplicate dependencies, quoting in loops) @@ -811,17 +941,17 @@ * building expat, when actiweb is enabled * removed needless files from xotcl-distribution. -2003-11-09 Gustaf.Neumann@wu-wien.ac.at +2003-11-09 * xotcl.c: fixed calling exit-handler twice for threads -2003-11-06 Gustaf.Neumann@wu-wien.ac.at +2003-11-06 * xotcl.c: simplified handling of command substitutions; starts to work with Zoran's nstrace.tcl for AOLserver 2003-11-02 MichaelL@frogware.com * XOTcl Stub lib configure files for C-based extensions. -2003-11-02 Gustaf.Neumann@wu-wien.ac.at +2003-11-02 * XOTcl intercepts a few commands (info, rename, uplevel and upvar) and assumed that these commands are defined in C. Command intercepting was fixed such that intercepting @@ -831,12 +961,12 @@ % proc ::info args {uplevel ::tcl::info $args} % package req XOTcl -2003-10-31 Gustaf.Neumann@wu-wien.ac.at +2003-10-31 * Substituted config/config.sub and config/config.guess (many thanks to Zoran) * unix/Makefile.in fixed target install-aol -2003-10-23 Gustaf.Neumann@wu-wien.ac.at +2003-10-23 * xotcl.c: new proc "__unknown" for Class; whenever XOTcl references a class, which is not defined yet, "Class __unknown" is called; this mechanism can be @@ -887,7 +1017,7 @@ dir on the auto_path * added locale support to xotclAppInit -2003-08-27 Gustaf.Neumann@wu-wien.ac.at +2003-08-27 * went with spell checker over tutorial and fixed a hundred of typos * fixed install of shells @@ -899,7 +1029,7 @@ * doc for precedence order and transitive instmixins in tutorial -2003-08-25 Gustaf.Neumann@wu-wien.ac.at +2003-08-25 * Generate library/pkgIndex.tcl from configure (contains version numbers) * Fixed script for changing version numbers in xotcl @@ -910,24 +1040,24 @@ added test for transitive instmixins * Various fixes for new build stuff on Windows -2003-08-20 Gustaf.Neumann@wu-wien.ac.at +2003-08-20 * Fixed configure problem with autoconf coming with RH 9.0 * Allow for the definition of parameters as objects. It is now possible to have parameters with properties (See tutorial, section "Objects as Parameter") * fixed various bugs in the documentation. MAKE TODO: make rpm, bin-tar, version-change, install-aol -2003-07-13 Gustaf.Neumann@wu-wien.ac.at +2003-07-13 * Fixed potential crash with shared objects in configure * First version of object tree creation via parameter -2003-07-11 Gustaf.Neumann@wu-wien.ac.at +2003-07-11 * extended parameter handling code to support the creation of parameter objects * fixed a few documentation bugs -2003-07-05 Gustaf.Neumann@wu-wien.ac.at +2003-07-05 * xotcl.c: if object is called without method and arguments, xotcl calls now a method named 'defaultmethod'; the default behavior (defined as an instproc on @@ -937,7 +1067,7 @@ puts <[o]> ;# outputs <::o> puts <[o defaultmethod]> ;# outputs <::o> -2003-06-28 Gustaf.Neumann@wu-wien.ac.at +2003-06-28 * added --with-xotclsh and --with-xowish to create shell optionally @@ -952,15 +1082,15 @@ * add -guard modifier into filter, mixin definitions and infos * updated tests -2003-05-23 Gustaf.Neumann@wu-wien.ac.at +2003-05-23 * removed toplevel configure and Makefile for better TEA compliance (configure should be called from xotcl*/unix) * added --with-actiweb to configure; (use --with-actiweb=yes to enable it) * standarized tests (using the same Test classes) -2003-05-16 Gustaf.Neumann@wu-wien.ac.at +2003-05-16 * removed binary shells and XOTcl's context depending auto_path setting; consequences: - in order to invoke xotcl before installation, use @@ -1001,11 +1131,11 @@ removed ::xotcl::Object from mixin full list computation * added new tests for mixinguards to testx.xotcl -2003-05-03 Gustaf.Neumann@wu-wien.ac.at +2003-05-03 * xotcl.c: Changed mixinlist creation from quadratic to linear (both, in XOTclAddClass and CmdListAdd) -2003-04-29 Gustaf.Neumann@wu-wien.ac.at +2003-04-29 * xotcl.c: cleanup to avoid potential crashes on error messages (varargs not terminated by NULL) * introspection for mixin guards (o|cl info instmixin|mixin @@ -1014,7 +1144,7 @@ the guard holds in the current context (info methods -incontext) -2003-04-25 Gustaf.Neumann@wu-wien.ac.at +2003-04-25 * fixed various typos in examples in tutorial * first implementation of guarded mixins @@ -1023,7 +1153,7 @@ * corrected a problem with move: it did not prevail the subclass relationships; also added a regression test -2003-04-22 Gustaf.Neumann@wu-wien.ac.at +2003-04-22 * xotcl.c: calling the "create" method from the "new" method through the dispatcher (previous version used a direct call, now create can be overloaded) @@ -1032,21 +1162,21 @@ * Unified ListObjChildren and ListClassChildren into one method ListListChildren -2003-04-16 Gustaf.Neumann@wu-wien.ac.at +2003-04-16 * xotcl.c: fixed segfault from classchildren (many thanks to Michael Cleverly for pointing this out) -2003-04-16 Gustaf.Neumann@wu-wien.ac.at +2003-04-16 * xotcl.c: Fixed passing of error codes from constructors (instproc init). In previous releases, errors were ignored * xotcl.c: Passing correctly error messages from "set" to the XOTcl set method. -2003-03-19 Gustaf.Neumann@wu-wien.ac.at, Uwe Zdun +2003-03-19 , Uwe Zdun * release of full distribution XOTcl 1.0.2 -2003-03-19 Gustaf.Neumann@wu-wien.ac.at, Uwe Zdun +2003-03-19 , Uwe Zdun * release of full distribution XOTcl 1.0.2 2003-03-19 Uwe Zdun @@ -1059,12 +1189,12 @@ ### -> a::o survives * some minor issues to everything work with tcl/tk 8.4.2 -2003-03-08 Gustaf.Neumann@wu-wien.ac.at, Zoran Vasiljevic +2003-03-08 , Zoran Vasiljevic * some more code cleanup (do not abort when my is called outside the scope of an object) * Makefile less verbose -2003-03-07 Gustaf.Neumann@wu-wien.ac.at +2003-03-07 * Made output of the serializer more compact (omitting unnecessary references to ::xotcl::Object @@ -1073,7 +1203,7 @@ both methods so that the objects stay untouched when copied or moved to self. Added test in testx.xotcl. -2003-03-04 Gustaf.Neumann@wu-wien.ac.at, Zoran Vasiljevic +2003-03-04 , Zoran Vasiljevic * Made xotcl capable to be loaded via "package require" into aolserver-4 * To build and install XOTcl for the aolserver-4 @@ -1092,21 +1222,21 @@ contains a "package require XOTcl" and "... serializer" and sources the files aolserver/modules/tcl/*.xotcl -2003-03-04 Gustaf.Neumann@wu-wien.ac.at +2003-03-04 * xotcl.c: abort, when a non-threaded xotcl version is loaded into a threaded environment (e.g. aol-server) -2003-02-28 Gustaf.Neumann@wu-wien.ac.at +2003-02-28 * xotcl.c: fixed a bug the lead to a crash in "self x" -2003-02-20 Gustaf.Neumann@wu-wien.ac.at +2003-02-20 * fixes to compile xotcl as a module for aolserver-4 -2003-02-06 Gustaf.Neumann@wu-wien.ac.at +2003-02-06 * made -volatile a method rather than an option of the new method -2003-01-18 Gustaf.Neumann@wu-wien.ac.at +2003-01-18 * aol-server adjustments (fix the documentation for new directory structure, update serializer code, testing) * provided simple replacements for xotclsh and xowish scripts @@ -1124,12 +1254,12 @@ istype and ismixin. * documented and tested new methods. -2003-01-12 Gustaf.Neumann@wu-wien.ac.at +2003-01-12 * Changed calls in the form of "[self] method" to "my method" in 59 files in the xotcl distribution * changed Serializer to use [list] in configure where necessary -2003-01-09 Gustaf.Neumann@wu-wien.ac.at +2003-01-09 * configure methods can be placed into a list to avoid ambiguity of "-". This character is used as a meta-char to denote method names, but it has to be used in values as well. @@ -1141,30 +1271,30 @@ Note, that XOTcl allows us to provide multiple arguments to methods called via configure -2003-01-05 Gustaf.Neumann@wu-wien.ac.at +2003-01-05 * configure returns now the number of preceding elements without a "-" in its first place. This is needed for convenient processing of argument lists with trailing options from tcl. * avoid processing configure list twice in c code. -2002-12-29 Gustaf.Neumann@wu-wien.ac.at +2002-12-29 * some cleanup in c-code (to make -Wall slient) * fixed a bug in the "all" method of the Serializer, changed package name to "xotcl::serializer" -2002-12-27 Gustaf.Neumann@wu-wien.ac.at +2002-12-27 * removed deprecated methods "parameters", "applymethods", "newChild", "newChildOf" -2002-12-23 Gustaf.Neumann@wu-wien.ac.at +2002-12-23 * release of full distribution XoTcl 1.0.1 -2002-12-22 Gustaf.Neumann@wu-wien.ac.at +2002-12-22 * xotcl.c: some cleanup * aol-server: improved namespace.tcl (using Serializer) -2002-12-19 Gustaf.Neumann@wu-wien.ac.at +2002-12-19 * New Serialzer: - up to 30% faster recreation of objects - more control of objects or variables to be omitted @@ -1176,7 +1306,7 @@ - to cache objects in the aol-server For details, see doc. -2002-12-18 Gustaf.Neumann@wu-wien.ac.at +2002-12-18 * xotcl.c: new predefined method 'noinit' can be used to create an object without calling its constructor (used in the serializer to recreate objects @@ -1186,7 +1316,7 @@ * installWin.tcl: correction for patchlevel * changed version to 1.0.1 -2002-12-14 Gustaf.Neumann@wu-wien.ac.at +2002-12-14 * xotcl.c fixed a bug in "info default arg var" and "info instdefault arg var" in connection with filters. The output variable was created in the filter frame. @@ -1203,19 +1333,19 @@ * tutorial: added example of structure preserving recreate and updated langRef.xotcl accordingly -2002-11-22 Gustaf.Neumann@wu-wien.ac.at +2002-11-22 * fixes in documentation * automatic generation of pdf files and make target for the tutorial and the language reference -2002-11-19 Gustaf.Neumann@wu-wien.ac.at +2002-11-19 * fixes for configure for aolserver 3.5.* 2002-11-13 Uwe Zdun * correct check for XOTcl lib on auto_path in predefined.xotcl; it was checked for xotcl$VERSION, should be xotcl$VERSION -2002-11-08 Gustaf.Neumann@wu-wien.ac.at +2002-11-08 2002-11-08 Uwe Zdun * Win makefile.vc: let nmake install call the install script * removed "class" hook from recreate ... @@ -1235,7 +1365,7 @@ * eliminated a mem leak in FilterFindReg as indicated by Zoran. -2002-10-26 Gustaf.Neumann@wu-wien.ac.at +2002-10-26 * xotcl.c: fixed problem with external symbol for cmdType and reactivated KEEP_TCL_CMD_TYPE for all tcl versions @@ -1255,15 +1385,15 @@ 2002-10-21 Uwe Zdun * corrected "abstract" next handling in predefined.xotcl -2002-09-19 Gustaf.Neumann@wu-wien.ac.at +2002-09-19 * xotcl.c: prevent duplicate destroy calls during cleanup * xotcl.c: error in exit handler does not panic anymore, but writes to stderr (panic can't be used when exit handler is called by a thread) * Serializer.xotcl: {Serializer all] return exit handler as well. -2002-09-14 Gustaf.Neumann@wu-wien.ac.at +2002-09-14 * Trace.xotcl: fixed typos in documentation code, changes for "my". @@ -1275,24 +1405,24 @@ 2002-08-27 Uwe Zdun * disabled KEEP_TCL_CMD_TYPE for 8.4, as it did not compile for 8.4b1 -2002-08-04 Gustaf.Neumann@wu-wien.ac.at +2002-08-04 * Httpd.xotcl: order directories before files in directory listings -2002-07-18 Gustaf.Neumann@wu-wien.ac.at +2002-07-18 * Httpd.xotcl: fix for handling broken links 2002-07-12 Uwe Zdun * Win fixes for compilation with Tcl 8.4b1 * fixed mem leak of filter search -2002-07-10 Gustaf.Neumann@wu-wien.ac.at +2002-07-10 * fixes for compilation with Tcl 8.4b1 -2002-07-06 Gustaf.Neumann@wu-wien.ac.at +2002-07-06 * Fixed a compilation bug concerning Tcl 8.2 and younger -2002-05-30 Gustaf.Neumann@wu-wien.ac.at +2002-05-30 * xotcl.c: fixed destroy bug, when object was destroyed during init * xotcl.c: minor cleanup @@ -1318,14 +1448,14 @@ * xotcl.c: changed fatal abort to error, when self is called without an active object -2002-05-05 Gustaf.Neumann@wu-wien.ac.at +2002-05-05 * fixed UTF-8 conversion for filenames -2002-04-30 Gustaf.Neumann@wu-wien.ac.at +2002-04-30 * Httpd.xotcl: minor cleanup (removed superfluous instvars) * xotcl.c: removed incr/decr refcount on cl-names in DoDispatch -2002-04-21 Gustaf.Neumann@wu-wien.ac.at +2002-04-21 * fixed a bug in path settings: when xotclsh was called from an xotcl source directory where no libxotcl*.so was located (e.g. before a compile) an error @@ -1335,33 +1465,33 @@ 2002-04-20 Uwe Zdun * fixed a bug in filter code (recursion blocking) -2002-04-20 Gustaf.Neumann@wu-wien.ac.at +2002-04-20 * Http client code: fixed several small bugs: - url composition - error handling - redirects to different ports 2002-04-09 Uwe Zdun -2002-04-09 Gustaf.Neumann@wu-wien.ac.at +2002-04-09 * finshing rpm and bin-tar generation * patch release of full distribution (0.9.4) -2002-04-08 Gustaf.Neumann@wu-wien.ac.at +2002-04-08 * fixed a bug in copy/move (the constructor was called during copying without instvars etc.; now the construcor is not called here) Many thanks for Artur Trzewik for noting this. 2002-04-08 Uwe Zdun * fixed .add files for Windows -2002-04-07 Gustaf.Neumann@wu-wien.ac.at +2002-04-07 * removed persistence dir in actiweb regression test to achieve same behavior on each run of the test * Storage.xotcl: fixed a bug when new persistence directories are created * fixed a small memory leak in autonames -2002-04-05 Gustaf.Neumann@wu-wien.ac.at +2002-04-05 * defined the following policies for excplicit freeing in the exit handler: @@ -1378,16 +1508,16 @@ has memory leaks; all global procs and vars are deleted as well. -2002-04-04 Gustaf.Neumann@wu-wien.ac.at +2002-04-04 * fixed a bug with duplicated tcl_objs of XOTclObjectType that could cause double frees. -2002-04-02 Gustaf.Neumann@wu-wien.ac.at +2002-04-02 * Less agressive converison to tcl_objs of XOTclObjectType. It will try to keep objects of type tclCmdType when KEEP_TCL_CMD_TYPE is activated during compilation (default). -2002-03-28 Gustaf.Neumann@wu-wien.ac.at +2002-03-28 * horrible bug fixed, when USE_ALLOCA or USE_MALLOC was defined (macro substitution lead to wrong arithmetic). These macros were defined for c-compilers that do not @@ -1399,11 +1529,11 @@ 2002-03-27 Zoran Vasiljevic * more code for volatile objects moved to C -2002-03-26 Gustaf.Neumann@wu-wien.ac.at +2002-03-26 * Fixed a few more places, where recounted xotcl-objects can cause troubles (mem-leaks + invalid pointers) -2002-03-24 Gustaf.Neumann@wu-wien.ac.at +2002-03-24 * auto-deletion of global vars and proc to get rid of references to xotcl-objects for deletion @@ -1416,30 +1546,30 @@ * xotcl.c: fixed XOTclReplaceCommand for AOL-Server (multi threading bug) -2002-03-11 Gustaf.Neumann@wu-wien.ac.at +2002-03-11 * Httpd.xotcl: fixed relative pathname-bug for basic authentification -2002-03-02 Gustaf.Neumann@wu-wien.ac.at +2002-03-02 * marked newChild as deprecated (use new -childof) -2002-03-02 Gustaf.Neumann@wu-wien.ac.at +2002-03-02 * Changed name of selfdispatch to "my" -2002-03-01 Gustaf.Neumann@wu-wien.ac.at +2002-03-01 * Httpd.xotcl: allow encoded characters in path and resource names * Httpd.xotcl: use dictionary oder for directory listings * Mime.xotcl: added some more default mime times -2002-02-24 Gustaf.Neumann@wu-wien.ac.at +2002-02-24 * Httpd.xotcl: added functionality to provide directory listings * Httpd.xotcl: create specified root directory if it does not exist -2002-02-13 Gustaf.Neumann@wu-wien.ac.at +2002-02-13 * Makefile.in: fixed a bug in make install ("package require package" did not work) -2002-02-12 Gustaf.Neumann@wu-wien.ac.at +2002-02-12 * HttpPlace: added Pragma no-cache for dynamic contents * overworked persistence manager to separate storage specific concerns (like directory checking) from generic ones @@ -1450,7 +1580,7 @@ * removed duplicated system library in library/system. The correct one is in xotcl-XXX/library!! -2002-01-09 Gustaf.Neumann@wu-wien.ac.at +2002-01-09 * fixed path determination code during startup to avoid "cant read 'pf'" messages @@ -1463,28 +1593,28 @@ with no unknown defined has looped (not for class -> unknown). corrected it and added it to testx.xotcl -2002-01-06 Gustaf.Neumann@wu-wien.ac.at +2002-01-06 * further improvement of bytecode compilation * new bytecode instruction SELFDISPATCH * methcall benchmar now more than 40% faster than in 0.9.3 * some cleanup in xotcl dispatch code * fixing external references for symbols not starting with xotcl -2002-01-02 Gustaf.Neumann@wu-wien.ac.at +2002-01-02 * new xotcl byte codes for XOTcl primitives next, self, and initProcNS. Speedup for the oo-shootout + methcall 30% + objinst 9% some tests are now twice as fast than before, self is now 10 times faster (about 1 microsecond on a 600 MHz PIII) -2001-12-28 Gustaf.Neumann@wu-wien.ac.at +2001-12-28 * fixed changeXOTclVersion, made more generic * fixed Agent migration, made all migrations synchronous (for the time being) 2001-12-17 Uwe Zdun -2001-12-17 Gustaf.Neumann@wu-wien.ac.at +2001-12-17 * finshing rpm and bin-tar generation * patch release of full distribution (0.9.3) @@ -1493,7 +1623,7 @@ * added make bin-tar target * removed all compiler warnings on windows -2001-12-09 Gustaf.Neumann@wu-wien.ac.at +2001-12-09 * revived configure-code for aolserver, added patchlevel to log message, updated aolserver README file * renamed directory "script-creation" to "serialize" @@ -1503,7 +1633,7 @@ 2001-12-07 Uwe Zdun * documented recent changes in XOTcl for release -2001-12-05 Gustaf.Neumann@wu-wien.ac.at +2001-12-05 * fixed call to unknown in copy method 2001-12-01 Uwe Zdun @@ -1515,18 +1645,18 @@ only shallow wrappers that load the XOTcl package on demand -2001-10-23 Gustaf.Neumann@wu-wien.ac.at +2001-10-23 * removed code for calling variable command -2001-10-22 Gustaf.Neumann@wu-wien.ac.at +2001-10-22 * xotcl.c: fixed bug for empty superclass list * fixed stub-install under 8.0.5 -2001-10-20 Gustaf.Neumann@wu-wien.ac.at +2001-10-20 2001-10-20 Uwe Zdun * patch release of source distribution (0.9.1) -2001-10-20 Gustaf.Neumann@wu-wien.ac.at +2001-10-20 * reimplemented method 'new' of Class in C * various cleanups for stub handling * added regression test for stub library @@ -1541,17 +1671,17 @@ * removed "can't instvar to link" problem during aliasing to a link var -2001-10-15 Gustaf.Neumann@wu-wien.ac.at +2001-10-15 2001-05-15 Uwe Zdun * XOTcl 0.9 Release -2001-10-14 Gustaf.Neumann@wu-wien.ac.at +2001-10-14 * new method of Object: parametercmd: a convenient way to define a new getter/setter for individual objects (similar to parameters for classes) * polishing docu -2001-10-11 Gustaf.Neumann@wu-wien.ac.at +2001-10-11 * improved make clean * fixed incompatibilities in various scripts distributed with xotcl @@ -1568,7 +1698,7 @@ requires it for looking up arrays with only part1 given. -2001-10-10 Gustaf.Neumann@wu-wien.ac.at +2001-10-10 * fixed autoname method for Tcl 8.0.5 2001-10-10 Uwe Zdun @@ -1577,7 +1707,7 @@ * Gdbm,Sdbm,Expat: corrected Makefile.in to rely on -L$(TCLLIBDIR) (thanks to J�rg Rudnik for the hint) -2001-10-08 Gustaf.Neumann@wu-wien.ac.at +2001-10-08 * configure.in: fixes for AOLSERVER to ease configuration * aolstub.c: fixes for namespace handling (XOTcl is now a "well behaved" Tcl extension) @@ -1629,7 +1759,7 @@ syntax " proc/instproc " for mixins just a class list -2001-09-26 Gustaf.Neumann@wu-wien.ac.at +2001-09-26 * cleanup, removed a few bugs * new instproc for Class: insttclcmd creates an instmethod with the given name @@ -1646,9 +1776,9 @@ * configure.in: made -Wall conditional for gcc 2001-09-25 Uwe Zdun - * merge with Gustaf's version + * merge with * xotcl.c: new XOTclObject member "flags", which is a bitmap for various object states (isClass, isDestroyed, etc.). Defined several @@ -1795,7 +1925,7 @@ - bug corrected: added cmdEpoch check on computation of full filter/mixin lists -2001-09-03 Gustaf.Neumann@wu-wien.ac.at +2001-09-03 * various cleanup and fixes due to new features 2001-09-03 Uwe Zdun @@ -1887,33 +2017,33 @@ * xotcl.c: integrated complete rewrite of filter code with per-object filters -2001-08-13 Gustaf.Neumann@wu-wien.ac.at +2001-08-13 * patch release of source distribution (0.85.3) * following naming conventions of Tcl for minor changes -2001-08-11 Gustaf.Neumann@wu-wien.ac.at +2001-08-11 * xotcl.c. predefined.xotcl: fast parameter inst-commands * xotcl.c: new instcommand for Object: parameteradd (to register the instcommand for parameters) * xotcl.c: applymethods renamed to configure * xotcl.c: small speedup for assertion checking * xotcl.c: simplified set methods -2001-08-09 Gustaf.Neumann@wu-wien.ac.at +2001-08-09 * fixes for actiweb (agent migration was broken) * comm/Access.xotcl: a response to an HTTP-PUTS request should not contain a body. If it does, Httpd complains shortly and accepts it. * mos/Agent.xotcl: fixed obsolete code (callcoder) * mos/AgentManagement.xotcl: fixed broken RDF-interface -2001-08-04 Gustaf.Neumann@wu-wien.ac.at +2001-08-04 * xotcl.c reduced size of XOTclObject structure from 172 bytes to 68 bytes by allocating assertion structures on demand and by deactivating per default the old metadata structures -2001-08-02 Gustaf.Neumann@wu-wien.ac.at +2001-08-02 * integrating AOL-server-changes from Zoran, solution for threads, stublib and older tcl-versions * improved stubs support @@ -1924,7 +2054,7 @@ * configure.in: using exec_prefix for platform dependent files * new target: make libs (for AOL-server) -2001-07-23 Gustaf.Neumann@wu-wien.ac.at +2001-07-23 * improved parameter support (see apps/scripts/parameter.xotcl) * custom setter/getter methods * xotcl.h: make it usable from C++ @@ -1936,14 +2066,14 @@ persistence (mem store persists object destroy) * Persistence.test: new test LotsOfObjects -2001-07-13 Gustaf.Neumann@wu-wien.ac.at +2001-07-13 * patch release of source distribution (0.85-p2) -2001-07-10 Gustaf.Neumann@wu-wien.ac.at +2001-07-10 * xotcl.c: first draft of new implementation of parameter see apps/scripts/parameter.xotcl for a list of features -2001-07-06 Gustaf.Neumann@wu-wien.ac.at +2001-07-06 * xotcl.c: fix for propagating special return codes through next calls (e.g. ... return -code continue). This is needed for Tk integration; @@ -1954,18 +2084,18 @@ 2001-06-21 Uwe Zdun * fix for tclexpat in Tcl 8.2 versions -2001-06-21 Gustaf.Neumann@wu-wien.ac.at +2001-06-21 * xotcl.c: more fixes for bug in copy/move for object names with spaces * predefined.h: fixes for xotcl methods for spaces in object names (eval) -2001-06-20 Gustaf.Neumann@wu-wien.ac.at +2001-06-20 * xotcl.c: fixes for bug in copy/move for object names with spaces * xotcl.c: reporting error codes when copy move does not work -2001-06-13 Gustaf.Neumann@wu-wien.ac.at +2001-06-13 * AIX compatibility fixes (thanks to Adrian Wallaschek) * improved portability * easier export from bk @@ -1975,13 +2105,13 @@ 2001-06-12 Uwe Zdun * xotcl.c: fixed reference counting for volatile objects -2001-05-01 Gustaf.Neumann@wu-wien.ac.at +2001-05-01 * patch release of source distribution (0.85p1) -2001-05-30 Gustaf.Neumann@wu-wien.ac.at +2001-05-30 * new predefined method: newChildOf -2001-05-28 Gustaf.Neumann@wu-wien.ac.at +2001-05-28 * HttpPlace.xotcl: added call to replyCode in front of replyErrorMsg * Httpd.xotcl: made httpd more robust in error cases @@ -1990,7 +2120,7 @@ * xotclgdbm.c: faster exists test * lib/xml/TclExpat-1.1/Makefile.in: better make clean -2001-05-22 Gustaf.Neumann@wu-wien.ac.at +2001-05-22 2001-05-22 Uwe Zdun * XOTcl 0.85 Release @@ -2001,29 +2131,29 @@ obj/class mixins * win-files: adapted to new src directory tree -2001-05-15 Gustaf.Neumann@wu-wien.ac.at +2001-05-15 * xotcl.c: fix for colon checking to determine parent namespace * xotcl.c: Object and Class create returns absolute name (with leading ::) 2001-05-15 Uwe Zdun * xotcl.c: fix for checking in parent namespace -2001-05-10 Gustaf.Neumann@wu-wien.ac.at +2001-05-10 * doc update (formatting, info instproc, ismetaclass and isclass) * xotcl.c: argument for ismetaclass and isclass is now optional * xotcl.c: checking for namespace parent in object creation to avoid crash * Httpd.xotcl: fix for ie 5.5 under win98, POST has not always contentlength set -2001-04-14 Gustaf.Neumann@wu-wien.ac.at +2001-04-14 * xotcl.c: don't call unknown for dash-commands on class objects to avoid errors like "Class C -superClass Object" that lead to object creation in earlier versions * first version of xoman * Httpd.xotcl: new method replyErrorMsg; replyCode does not produce HTML messages by itself -2001-04-07 Gustaf.Neumann@wu-wien.ac.at +2001-04-07 * Access.xotcl: added :: in front of global objects, more robust * using namespace for soap, implifying interface @@ -2032,15 +2162,15 @@ errorReply hook in replyCode added to be able to prevent HTML error response. -2001-04-03 Gustaf.Neumann@wu-wien.ac.at +2001-04-03 * xotcl::comm::httpAccess: user-agent string more generic 2001-03-27 Uwe Zdun * xotcl.c: added inheritance feature for instinvars * xotcl.c: standard cleanup now destroy aggregated children * testx.xotcl: tests for both new features in xotcl.c -2001-03-26 Gustaf.Neumann@wu-wien.ac.at +2001-03-26 * version number in xotcl references to allow multiple xotcl-versions to coexist * various changes to accommodate bitkeeper @@ -2053,23 +2183,23 @@ * xotcl.c: "cleanup" does not receive args anymore * xoXML.xotcl: used [self class] for parser autoname -2001-03-19 Gustaf.Neumann@wu-wien.ac.at +2001-03-19 * removed dependencies form wafecompat * Sccs support added to makefiles * documentation for mixins updated * decode POST moved before "respond" to ease overloading ----------------------------------------------------------------------------- -2001-03-09 Gustaf.Neumann@wu-wien.ac.at +2001-03-09 2001-03-09 Uwe Zdun * release of Version 0.84 -2001-03-09 Gustaf.Neumann@wu-wien.ac.at +2001-03-09 * removed "exec date" from tests to ensure win compatibility * fixed regression tests under win: don't use dependencies on time-zones, fixed ordering problems and HTML bugs -2001-03-08 Gustaf.Neumann@wu-wien.ac.at +2001-03-08 * fixed a few bugs in xodoc * documentation for apps/utils/* * package name xotcl::store::storage changed to xotcl::store @@ -2115,7 +2245,7 @@ * Expat xotcl version running on Windows * xotclsh.1, xowish.1 man pages added -2001-02-27 Gustaf.Neumann@wu-wien.ac.at +2001-02-27 * new global variables for configuration and logging ::xotcl::confdir ~/.xotcl ::xotcl::logdir $::xotcl::confdir/log @@ -2127,7 +2257,7 @@ handling for "abstract" methods, and corrected bugs in html appearance -2001-02-22 Gustaf.Neumann@wu-wien.ac.at +2001-02-22 * xotkAppInit.c: added static package Tk 2001-02-22 Uwe Zdun @@ -2137,7 +2267,7 @@ * htmllib.xotcl: incorporated fishpool's html lib for use in xodoc; thanks to Antti Salonen. -2001-02-17 Gustaf.Neumann@wu-wien.ac.at +2001-02-17 * Serializer.xotcl: new package for serialization of workspace contents (Classes and Objects). Serialization of full workspace: @@ -2148,7 +2278,7 @@ * bugfix in mixins * xotcl.c: tidying up -2001-02-10 Gustaf.Neumann@wu-wien.ac.at +2001-02-10 * xotcl.c: some speed improvements (next without args more than twice as fast due to moving arguments to the stack, caching of stack pointers) @@ -2163,7 +2293,7 @@ 2001-02-06 Uwe Zdun * xotcl.c, testx.xotcl, ...: tests for new destroy logic -2001-02-04 Gustaf.Neumann@wu-wien.ac.at +2001-02-04 * xotcl.c: cleanup and various simplifications ! using xotcl namespace for: version, lib, check_library_path, @@ -2189,7 +2319,7 @@ 2001-01-24 Uwe Zdun * xotcl.c: fixed alias bug identified by Kristoffer Lawson. -2001-01-22 Gustaf.Neumann@wu-wien.ac.at +2001-01-22 * fixed regression test for new path settings * removed Unix dependencies from regression test (sleep) @@ -2209,7 +2339,7 @@ * xotcl.c: alloc now handled as a Class instproc, like create. Thanks to Kristoffer Lawson for the hint. -2001-01-15 Gustaf.Neumann@wu-wien.ac.at +2001-01-15 * new Interface for persistent storage Class Storage @@ -2228,7 +2358,7 @@ style of XOTcl's Makefile + fed by toplevel configure * packages/store/XOTclSdbm: sdbm wrapper for XOTcl -2001-01-08 Gustaf.Neumann@wu-wien.ac.at +2001-01-08 * The search for the XOTcl library is performed according to the following rules: @@ -2256,31 +2386,31 @@ directory is added automatically to the ::auto_path if necessary. -2000-12-15 Gustaf.Neumann@wu-wien.ac.at +2000-12-15 * packages/make.xotcl: passing target to avoid grep through Makefile -2000-12-15 Gustaf.Neumann@wu-wien.ac.at +2000-12-15 * packages/make.xotcl: less verbose * new environment variable XOTCL, points to directory where the XOTcl library lives -2000-12-13 Gustaf.Neumann@wu-wien.ac.at +2000-12-13 * packages...Httpd.xotcl: close connection after errors * packages...Httpd.xotcl: elementary support for HTTP method OPTIONS -2000-12-04 Gustaf.Neumann@wu-wien.ac.at +2000-12-04 * xoXML: fix info vars instvar method creates variable that is not accessible and should not be listed in info vars -2000-12-04 Gustaf.Neumann@wu-wien.ac.at +2000-12-04 * version changed to 0.84 * xoXML: fix for multiple PCDATA calls after one element ----------------------------------------------------------------------------- -2000-11-30 Gustaf.Neumann@wu-wien.ac.at +2000-11-30 2000-11-30 Uwe Zdun * release of Version 0.83 @@ -2297,11 +2427,11 @@ assertion in the error handler (& documented this stuff in the tutorial). -2000-11-29 Gustaf.Neumann@wu-wien.ac.at +2000-11-29 * tried to improve documentation tool * work on xotcl homepage, manual section added -2000-11-28 Gustaf.Neumann@wu-wien.ac.at +2000-11-28 * apps/actiweb-apps/univ/ added (example for RDF) * packages/make.xotcl extended for test in apps directory * HtmlPlace.xotcl: allowExit method added for HtmlPlace to allow an @@ -2319,12 +2449,12 @@ Vasiljevic for helping us out with purify) * tutorial.html: added documentation for @ -2000-11-27 Gustaf.Neumann@wu-wien.ac.at +2000-11-27 * src/Makefile.in: changed logic for building and installing xowish * xotcl.c: fixed bug in "info mixins" -2000-11-24 Gustaf.Neumann@wu-wien.ac.at +2000-11-24 * Access.xotcl: overhaul, uses now exits method instead of 'info exists' * packages/xml/xml.xotcl: overhaul of the introductory XML-parser @@ -2342,11 +2472,11 @@ * testx.xotcl, testo.xotcl: used @ instead of metadata * tutorial.html: reworked the tutorial, added instmixins -2000-11-22 Gustaf.Neumann@wu-wien.ac.at +2000-11-22 * dmalloc defines added to Makefile.in * xotcl.c: removed some mem leaks -2000-11-22 Gustaf.Neumann@wu-wien.ac.at +2000-11-22 * documented various sample applications * fixed problems with pipes for xocomm.test (should work now under windows as well) @@ -2372,7 +2502,7 @@ * xotcl.c correctes mem leak in "mixin" method (thanks to Zoran Vasiljevic for the hint) -2000-11-03 Gustaf.Neumann@wu-wien.ac.at +2000-11-03 * MimeTypes can be specified for certain filenames via Mime set nameTable(ChangeLog$) text/plain where the index is treated as a regular expression @@ -2385,7 +2515,7 @@ child destructor is called before parent's destructor * Makefile.in: removed "-full-" from filename -2000-11-03 Gustaf.Neumann@wu-wien.ac.at +2000-11-03 Various changes to HttpPlace.xotcl and Httpd.xotcl * access control for HttpPlaces * new instance variable "user" in Worker for authenticated requests @@ -2399,7 +2529,7 @@ 2000-10-26 Uwe Zdun * xotcl.c: added instmixins -2000-10-13 Gustaf.Neumann@wu-wien.ac.at +2000-10-13 * new global variable xotcl_version in analogy to tcl_version * fixed parameter passing to init for multiple arguments (not starting with a "-") @@ -2436,13 +2566,13 @@ classes removed. * new documentation tool -2000-09-22 Gustaf.Neumann@wu-wien.ac.at +2000-09-22 * new configure flags: --with-gdbm=INCDIR,LIBDIR --with-tk=INCDIR,LIBDIR --with-tcl=INCDIR,LIBDIR -2000-09-19 Gustaf.Neumann@wu-wien.ac.at +2000-09-19 * apps/actiweb-apps/FormsWithState.xotcl: new example script for implementing a multi-page form which keeps the state in a context object, which @@ -2459,7 +2589,7 @@ * rdf/xoRDF.test, rdf/RDFTriple.xotcl: used new autonames here in order to make triples sort-able with lsort -2000-09-12 Gustaf.Neumann@wu-wien.ac.at +2000-09-12 * Httpd.xotcl: Fixed a bug for IE5.5 with persistent connections: (Server blocked); cause: the Tcl command "fcopy" alters the blocking state of a socket when it finishes (bug in fcopy @@ -2490,7 +2620,7 @@ - hard coded "rdf:" removed (now rdfNSPrefix is stored on each node, the parser has a rdfNamespace parameter) -2000-09-06 Gustaf.Neumann@wu-wien.ac.at +2000-09-06 * packages/store/Persistence.xotcl: lazy open for persistence database added (to avoid creation of not needed files, when no persistent variables are used, and to reduce @@ -2501,7 +2631,7 @@ VC 6.0 preprocessor from Makefile.vc (thanks to David LeBlanc for the fix) -2000-09-04 Gustaf.Neumann@wu-wien.ac.at +2000-09-04 * xoRDF: trivial fix for make numbering of anonymous resources easier to comprehend * predefined.xotcl: methods "append" and "lappend" added @@ -2517,14 +2647,14 @@ * xotcl.c: fixed xotcltrace * trace.xotcl: "deprecated messages" show* fixed -2000-08-19 Gustaf.Neumann@wu-wien.ac.at +2000-08-19 * toplevel Makefile: target "make test" added -2000-08-16 Gustaf.Neumann@wu-wien.ac.at +2000-08-16 * RDFTriple got a new method "prettyTriples" which uses indentation to show connections between triples (used in xoRDF.test) -2000-08-11 Gustaf.Neumann@wu-wien.ac.at +2000-08-11 * apps/xocomm/webserver.xotcl listens on port 9086 as well to test basic access control * packages/make.xotcl -test added @@ -2534,15 +2664,15 @@ * Ftp fixed for now Access methods * "Class instproc newChild" and "Class instproc new" added -2000-08-09 Gustaf.Neumann@wu-wien.ac.at +2000-08-09 * untested C-API placed between #ifdef * dead code removed * all internal calls to destroy handled by a single function "callDestroyMethod" * target "xref" added to xotc/src/Makefile (needs free program xref to be installed) -2000-08-08 Gustaf.Neumann@wu-wien.ac.at +2000-08-08 * new instcommand "exists" to check whether a variable exists (no need to use namespaces or instvar to check for the existence of variables) @@ -2558,14 +2688,14 @@ * regression and speed test xotcl/src/lib/speedtest.xotcl added -2000-08-07 Gustaf.Neumann@wu-wien.ac.at +2000-08-07 * HTML Form interface changed, form arguments are not longer appended to call * new methods for WebObj: getWorker and getFormData to access worker internals and form data * some minor speed improvements -2000-08-01 Gustaf.Neumann@wu-wien.ac.at +2000-08-01 !! more thorough checks for object names (no ":", no "::", no ":[^:].+", no ".+:", no ".*NAME::[:]+NAME") * copy and move methods create no invalid names that must be fixed @@ -2574,7 +2704,7 @@ * Object creation 10% faster * apps/actiweb-apps/MC.xotcl uses POST instead of GET -2000-07-27 Gustaf.Neumann@wu-wien.ac.at +2000-07-27 !!! info children returns fully qualified object names !!! info classchildren returns fully qualified object names !!! info filter returns function names without class paths @@ -2585,7 +2715,7 @@ * Mime component added * multipart-form data code added to Httpd -2000-06-26 Gustaf.Neumann@wu-wien.ac.at +2000-06-26 * version number increased to 0.82 * automated version number management * test client and server for tls added Index: xotcl/Makefile =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/Makefile (.../Makefile) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/Makefile (.../Makefile) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -12,7 +12,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: Makefile,v 1.36 2005/09/09 21:07:22 neumann Exp $ +# RCS: @(#) $Id: Makefile,v 1.37 2005/09/09 21:09:01 neumann Exp $ #======================================================================== # Add additional lines to handle any additional AC_SUBST cases that Index: xotcl/Makefile.in =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/Makefile.in (.../Makefile.in) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/Makefile.in (.../Makefile.in) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -12,7 +12,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: Makefile.in,v 1.15 2005/09/09 21:07:22 neumann Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.16 2005/09/09 21:09:01 neumann Exp $ #======================================================================== # Add additional lines to handle any additional AC_SUBST cases that Index: xotcl/apps/actiweb/Counter2.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/apps/actiweb/Counter2.xotcl (.../Counter2.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/apps/actiweb/Counter2.xotcl (.../Counter2.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,5 +1,5 @@ #!../../src/xotclsh -# $Id: Counter2.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: Counter2.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ array set opts {-pkgdir .}; array set opts $argv lappend auto_path $opts(-pkgdir) Index: xotcl/apps/actiweb/univ/UNIVERSAL.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/apps/actiweb/univ/UNIVERSAL.xotcl (.../UNIVERSAL.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/apps/actiweb/univ/UNIVERSAL.xotcl (.../UNIVERSAL.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,5 +1,5 @@ #!/usr/local/bin/xotclsh -#$Id: UNIVERSAL.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +#$Id: UNIVERSAL.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package require XOTcl; namespace import -force xotcl::* array set opts { -ssl 0 -instanceFile UNIVERSAL.rdf -cssFile UNIVERSAL.css -root . -pkgdir .} Index: xotcl/apps/comm/webserver.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/apps/comm/webserver.xotcl (.../webserver.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/apps/comm/webserver.xotcl (.../webserver.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,5 +1,5 @@ #!../../src/xotclsh -# $Id: webserver.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: webserver.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ array set opts {-root ../../doc -port 8086 -protected-port 9096 -pkgdir .} array set opts $argv lappend auto_path $opts(-pkgdir) Index: xotcl/apps/utils/xotclsh =================================================================== diff -u -r55764ef8921abb0e4f506e0ae6b0caf3f842276d -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/apps/utils/xotclsh (.../xotclsh) (revision 55764ef8921abb0e4f506e0ae6b0caf3f842276d) +++ xotcl/apps/utils/xotclsh (.../xotclsh) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,7 +1,7 @@ -#!/home/neumann/tcl8.4.9/unix/tclsh +#!/usr/bin/tclsh8.4.4 if {$argc == 0} { puts "Don't use [info script] as interactive shell! Use instead:" - puts " /home/neumann/tcl8.4.9/unix/tclsh" + puts " /usr/bin/tclsh8.4.4" puts " package require XOTcl; namespace import ::xotcl::*" } else { package require XOTcl Index: xotcl/apps/utils/xowish =================================================================== diff -u -r55764ef8921abb0e4f506e0ae6b0caf3f842276d -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/apps/utils/xowish (.../xowish) (revision 55764ef8921abb0e4f506e0ae6b0caf3f842276d) +++ xotcl/apps/utils/xowish (.../xowish) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,5 +1,5 @@ #!@WISH_PROG@ -###!/home/neumann/tcl8.4.9/unix/tclsh +###!/usr/bin/tclsh8.4.4 ###package require Tk if {$argc == 0} { puts "Don't use [info script] as interactive shell! Use instead:" @@ -14,4 +14,4 @@ incr argc -1 source $argv0 } -###catch {vwait forever} \ No newline at end of file +###catch {vwait forever} Index: xotcl/config/config.guess =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/config/config.guess (.../config.guess) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/config/config.guess (.../config.guess) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,9 +1,9 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. -timestamp='2001-09-04' +timestamp='2003-10-07' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -24,8 +24,9 @@ # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. -# Written by Per Bothner . -# Please send patches to . +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and @@ -87,30 +88,42 @@ exit 1 fi +trap 'exit 1' 1 2 15 -dummy=dummy-$$ -trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. -# CC_FOR_BUILD -- compiler used by this script. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. -set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int dummy(){}" > $dummy.c ; - for c in cc gcc c89 ; do - ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; - if test $? = 0 ; then +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; - rm -f $dummy.c $dummy.o $dummy.rel ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac' +esac ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) @@ -127,29 +140,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) - # Netbsd (nbsd) targets should (where applicable) match one or + # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. - # Determine the machine/vendor (is the vendor relevant). - case "${UNAME_MACHINE}" in - amiga) machine=m68k-unknown ;; - arm32) machine=arm-unknown ;; - atari*) machine=m68k-atari ;; - sun3*) machine=m68k-sun ;; - mac68k) machine=m68k-apple ;; - macppc) machine=powerpc-apple ;; - hp3[0-9][05]) machine=m68k-hp ;; - ibmrt|romp-ibm) machine=romp-ibm ;; - *) machine=${UNAME_MACHINE}-unknown ;; + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. - case "${UNAME_MACHINE}" in - i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null @@ -166,75 +180,112 @@ ;; esac # The OS release - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit 0 ;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + macppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvmeppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + pmax:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sgi:OpenBSD:*:*) + echo mipseb-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sun3:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + wgrisc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:OpenBSD:*:*) + echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` fi + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - cat <$dummy.s - .data -\$Lformat: - .byte 37,100,45,37,120,10,0 # "%d-%x\n" - - .text - .globl main - .align 4 - .ent main -main: - .frame \$30,16,\$26,0 - ldgp \$29,0(\$27) - .prologue 1 - .long 0x47e03d80 # implver \$0 - lda \$2,-1 - .long 0x47e20c21 # amask \$2,\$1 - lda \$16,\$Lformat - mov \$0,\$17 - not \$1,\$18 - jsr \$26,printf - ldgp \$29,0(\$26) - mov 0,\$16 - jsr \$26,exit - .end main -EOF - eval $set_cc_for_build - $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null - if test "$?" = 0 ; then - case `./$dummy` in - 0-0) - UNAME_MACHINE="alpha" - ;; - 1-0) - UNAME_MACHINE="alphaev5" - ;; - 1-1) - UNAME_MACHINE="alphaev56" - ;; - 1-101) - UNAME_MACHINE="alphapca56" - ;; - 2-303) - UNAME_MACHINE="alphaev6" - ;; - 2-307) - UNAME_MACHINE="alphaev67" - ;; - 2-1307) - UNAME_MACHINE="alphaev68" - ;; - esac - fi - rm -f $dummy.s $dummy echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; + Alpha*:OpenVMS:*:*) + echo alpha-hp-vms + exit 0 ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead @@ -247,30 +298,12 @@ Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit 0;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit 0 ;; - arc64:OpenBSD:*:*) - echo mips64el-unknown-openbsd${UNAME_RELEASE} + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hkmips:OpenBSD:*:*) - echo mips-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mips-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; *:OS/390:*:*) echo i370-ibm-openedition exit 0 ;; @@ -291,6 +324,13 @@ NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit 0 ;; + DRS?6000:UNIX_SV:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7 && exit 0 ;; + esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; @@ -319,7 +359,7 @@ echo m68k-sun-sunos${UNAME_RELEASE} exit 0 ;; sun*:*:4.2BSD:*) - UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) @@ -333,12 +373,6 @@ aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit 0 ;; - sparc*:NetBSD:*) - echo `uname -p`-unknown-netbsd${UNAME_RELEASE} - exit 0 ;; - atari*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -365,18 +399,6 @@ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit 0 ;; - sun3*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; @@ -415,15 +437,20 @@ exit (-1); } EOF - $CC_FOR_BUILD $dummy.c -o $dummy \ - && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy + $CC_FOR_BUILD -o $dummy $dummy.c \ + && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && exit 0 echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit 0 ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit 0 ;; @@ -496,8 +523,7 @@ exit(0); } EOF - $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 @@ -506,7 +532,7 @@ fi exit 0 ;; *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else @@ -546,10 +572,8 @@ 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) - case "${HPUX_REV}" in - 11.[0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 @@ -558,13 +582,13 @@ case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac - fi ;; - esac - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include @@ -597,11 +621,21 @@ exit (0); } EOF - (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` - if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi - rm -f $dummy.c $dummy - fi ;; + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + # avoid double evaluation of $set_cc_for_build + test -n "$CC_FOR_BUILD" || eval $set_cc_for_build + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; ia64:HP-UX:*:*) @@ -635,8 +669,7 @@ exit (0); } EOF - $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) @@ -664,9 +697,6 @@ parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; - hppa*:OpenBSD:*:*) - echo hppa-unknown-openbsd - exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; @@ -685,9 +715,6 @@ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit 0 ;; - CRAY*X-MP:*:*:*) - echo xmp-cray-unicos - exit 0 ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; @@ -700,27 +727,21 @@ CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; - CRAY*T3D:*:*:*) - echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; - CRAY-2:*:*:*) - echo cray2-cray-unicos - exit 0 ;; + *:UNICOS/mp:*:*) + echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; @@ -731,11 +752,22 @@ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + # Determine whether the default compiler uses glibc. + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #if __GLIBC__ >= 2 + LIBC=gnu + #else + LIBC= + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + # GNU/KFreeBSD systems have a "k" prefix to indicate we are using + # FreeBSD's kernel, but not the complete OS. + case ${LIBC} in gnu) kernel_only='k' ;; esac + echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} exit 0 ;; - *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit 0 ;; @@ -745,11 +777,17 @@ i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; + x86:Interix*:[34]*) + echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' + exit 0 ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? - echo i386-pc-interix + echo i586-pc-interix exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin @@ -761,26 +799,66 @@ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; *:GNU:*:*) + # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit 0 ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit 0 ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit 0 ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit 0 ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux + echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; mips:Linux:*:*) - case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in - big) echo mips-unknown-linux-gnu && exit 0 ;; - little) echo mipsel-unknown-linux-gnu && exit 0 ;; - esac + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit 0 ;; @@ -815,6 +893,9 @@ s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit 0 ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; @@ -828,7 +909,8 @@ # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. - ld_supported_targets=`cd /; ld --help 2>&1 \ + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// @@ -840,7 +922,7 @@ ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 ;; + exit 0 ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit 0 ;; @@ -852,32 +934,31 @@ esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build - cat >$dummy.c < -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif -#ifdef __ELF__ -# ifdef __GLIBC__ -# if __GLIBC__ >= 2 - printf ("%s-pc-linux-gnu\n", argv[1]); -# else - printf ("%s-pc-linux-gnulibc1\n", argv[1]); -# endif -# else - printf ("%s-pc-linux-gnulibc1\n", argv[1]); -# endif -#else - printf ("%s-pc-linux-gnuaout\n", argv[1]); -#endif - return 0; -} + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #ifdef __INTEL_COMPILER + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif EOF - $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; i*86:DYNIX/ptx:4*:*) @@ -894,6 +975,23 @@ # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit 0 ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit 0 ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit 0 ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit 0 ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit 0 ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then @@ -915,22 +1013,19 @@ UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` - (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 - (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 - (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit 0 ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit 0 ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about @@ -954,9 +1049,15 @@ # "miniframe" echo m68010-convergent-sysv exit 0 ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit 0 ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` @@ -973,9 +1074,6 @@ mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; @@ -1047,25 +1145,34 @@ SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit 0 ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit 0 ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) - echo `uname -p`-apple-darwin${UNAME_RELEASE} + case `uname -p` in + *86) UNAME_PROCESSOR=i686 ;; + powerpc) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) - if test "${UNAME_MACHINE}" = "x86pc"; then + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo `uname -p`-${UNAME_MACHINE}-nto-qnx + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit 0 ;; *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; - NSR-[KW]:NONSTOP_KERNEL:*:*) + NSR-[DGKLNPTVWY]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) @@ -1088,11 +1195,6 @@ fi echo ${UNAME_MACHINE}-unknown-plan9 exit 0 ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit 0 ;; @@ -1111,12 +1213,9 @@ *:ITS:*:*) echo pdp10-unknown-its exit 0 ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} exit 0 ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 @@ -1237,8 +1336,7 @@ } EOF -$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 -rm -f $dummy.c $dummy +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 # Apollos put the system type in the environment. Index: xotcl/config/config.sub =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/config/config.sub (.../config.sub) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/config/config.sub (.../config.sub) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,9 +1,9 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. -timestamp='2001-09-07' +timestamp='2003-10-07' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -29,7 +29,8 @@ # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. -# Please send patches to . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -117,7 +118,7 @@ # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*) + nto-qnx* | linux-gnu* | linux-dietlibc | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; @@ -226,32 +227,46 @@ 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | c4x | clipper \ - | d10v | d30v | dsp16xx \ - | fr30 \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ | m32r | m68000 | m68k | m88k | mcore \ - | mips16 | mips64 | mips64el | mips64orion | mips64orionel \ - | mips64vr4100 | mips64vr4100el | mips64vr4300 \ - | mips64vr4300el | mips64vr5000 | mips64vr5000el \ - | mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \ - | mipsisa32 \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ + | msp430 \ | ns16k | ns32k \ - | openrisc \ + | openrisc | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ - | s390 | s390x \ - | sh | sh[34] | sh[34]eb | shbe | shle \ - | sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \ - | stormy16 | strongarm \ - | tahoe | thumb | tic80 | tron \ - | v850 \ + | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ + | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ | we32k \ - | x86 | xscale \ + | x86 | xscale | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; @@ -278,38 +293,56 @@ 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alphapca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armv*-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* \ | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c54x-* \ - | clipper-* | cray2-* | cydra-* \ - | d10v-* | d30v-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | fx80-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ | m32r-* \ - | m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | mcore-* \ - | mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \ - | mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipseb-* \ - | mipsle-* | mipsel-* | mipstx39-* | mipstx39el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | msp430-* \ + | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | s390-* | s390x-* \ - | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \ - | sparc-* | sparc64-* | sparc86x-* | sparclite-* \ - | sparcv9-* | sparcv9b-* | stormy16-* | strongarm-* | sv1-* \ - | t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \ - | v850-* | vax-* \ + | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ + | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xmp-* | xps100-* | xscale-* \ + | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ + | xtensa-* \ | ymp-* \ | z8k-*) ;; @@ -343,6 +376,9 @@ basic_machine=a29k-none os=-bsd ;; + amd64) + basic_machine=x86_64-pc + ;; amdahl) basic_machine=580-amdahl os=-sysv @@ -374,6 +410,10 @@ basic_machine=ns32k-sequent os=-dynix ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; convex-c1) basic_machine=c1-convex os=-bsd @@ -394,18 +434,10 @@ basic_machine=c38-convex os=-bsd ;; - cray | ymp) - basic_machine=ymp-cray + cray | j90) + basic_machine=j90-cray os=-unicos ;; - cray2) - basic_machine=cray2-cray - os=-unicos - ;; - [cjt]90) - basic_machine=${basic_machine}-cray - os=-unicos - ;; crds | unos) basic_machine=m68k-crds ;; @@ -418,6 +450,14 @@ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola @@ -598,14 +638,6 @@ basic_machine=m68k-atari os=-mint ;; - mipsel*-linux*) - basic_machine=mipsel-unknown - os=-linux-gnu - ;; - mips*-linux*) - basic_machine=mips-unknown - os=-linux-gnu - ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; @@ -620,6 +652,10 @@ basic_machine=m68k-rom68k os=-coff ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; msdos) basic_machine=i386-pc os=-msdos @@ -692,13 +728,21 @@ np1) basic_machine=np1-gould ;; + nv1) + basic_machine=nv1-cray + os=-unicosmp + ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; + or32 | or32-*) + basic_machine=or32-unknown + os=-coff + ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose @@ -721,49 +765,55 @@ pbb) basic_machine=m68k-tti ;; - pc532 | pc532-*) + pc532 | pc532-*) basic_machine=ns32k-pc532 ;; - pentium | p5 | k5 | k6 | nexgen) + pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; - pentiumpro | p6 | 6x86 | athlon) + pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; - pentiumii | pentium2) + pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-*) + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - pentiumii-* | pentium2-*) + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown - ;; + ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown - ;; + ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown - ;; + ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown - ;; + ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; @@ -784,18 +834,37 @@ rtpc | rtpc-*) basic_machine=romp-ibm ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; sa29200) basic_machine=a29k-amd os=-udi ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; - sparclite-wrs) + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; @@ -862,19 +931,35 @@ os=-dynix ;; t3e) - basic_machine=t3e-cray + basic_machine=alphaev5-cray os=-unicos ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; tower | tower-32) basic_machine=m68k-ncr ;; @@ -899,8 +984,8 @@ os=-vms ;; vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; + basic_machine=f301-fujitsu + ;; vxworks960) basic_machine=i960-wrs os=-vxworks @@ -921,17 +1006,13 @@ basic_machine=hppa1.1-winbond os=-proelf ;; - windows32) - basic_machine=i386-pc - os=-windows32-msvcrt + xps | xps100) + basic_machine=xps100-honeywell ;; - xmp) - basic_machine=xmp-cray + ymp) + basic_machine=ymp-cray os=-unicos ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim @@ -952,13 +1033,6 @@ op60c) basic_machine=hppa1.1-oki ;; - mips) - if [ x$os = x-linux-gnu ]; then - basic_machine=mips-unknown - else - basic_machine=mips-mips - fi - ;; romp) basic_machine=romp-ibm ;; @@ -978,13 +1052,16 @@ we32k) basic_machine=we32k-att ;; - sh3 | sh4 | sh3eb | sh4eb) + sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; + sh64) + basic_machine=sh64-unknown + ;; sparc | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; - cydra) + cydra) basic_machine=cydra-cydrome ;; orion) @@ -999,10 +1076,6 @@ pmac | pmac-mpw) basic_machine=powerpc-apple ;; - c4x*) - basic_machine=c4x-none - os=-coff - ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; @@ -1058,17 +1131,19 @@ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ + | -hiux* | -386bsd* | -knetbsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos*) + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1080,8 +1155,10 @@ ;; esac ;; + -nto-qnx*) + ;; -nto*) - os=-nto-qnx + os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ @@ -1090,6 +1167,9 @@ -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; @@ -1120,14 +1200,20 @@ -acis*) os=-aos ;; + -atheos*) + os=-atheos + ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; + -nova*) + os=-rtmk-nova + ;; -ns2 ) - os=-nextstep2 + os=-nextstep2 ;; -nsk*) os=-nsk @@ -1166,9 +1252,15 @@ -xenix) os=-xenix ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; -none) ;; *) @@ -1200,10 +1292,14 @@ arm*-semi) os=-aout ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; - pdp11-*) + pdp11-*) os=-none ;; *-dec | vax-*) @@ -1230,6 +1326,9 @@ mips*-*) os=-elf ;; + or32-*) + os=-coff + ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; @@ -1293,19 +1392,19 @@ *-next) os=-nextstep3 ;; - *-gould) + *-gould) os=-sysv ;; - *-highlevel) + *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; - *-sgi) + *-sgi) os=-irix ;; - *-siemens) + *-siemens) os=-sysv4 ;; *-masscomp) @@ -1377,7 +1476,7 @@ -ptx*) vendor=sequent ;; - -vxsim* | -vxworks*) + -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) Index: xotcl/config/install-sh =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/config/install-sh (.../install-sh) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/config/install-sh (.../install-sh) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -33,7 +33,7 @@ chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" -mvcmd="$mvprog -f" +mvcmd="$mvprog" src="" dst="" Index: xotcl/configure =================================================================== diff -u -r0896d4deb00780e48b5b03269bf9c4ecca948919 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/configure (.../configure) (revision 0896d4deb00780e48b5b03269bf9c4ecca948919) +++ xotcl/configure (.../configure) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for xotcl 1.3.5. +# Generated by GNU Autoconf 2.59 for xotcl 1.3.7. # # Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation @@ -267,8 +267,8 @@ # Identity of this package. PACKAGE_NAME='xotcl' PACKAGE_TARNAME='xotcl' -PACKAGE_VERSION='1.3.5' -PACKAGE_STRING='xotcl 1.3.5' +PACKAGE_VERSION='1.3.7' +PACKAGE_STRING='xotcl 1.3.7' PACKAGE_BUGREPORT='' # Factoring default headers for most tests. @@ -308,7 +308,7 @@ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CYGPATH EXEEXT PKG_LIB_FILE PKG_STUB_LIB_FILE PKG_STUB_SOURCES PKG_STUB_OBJECTS PKG_TCL_SOURCES PKG_HEADERS PKG_INCLUDES PKG_LIBS PKG_CFLAGS subdirs XOTCL_VERSION XOTCL_MAJOR_VERSION XOTCL_MINOR_VERSION XOTCL_RELEASE_LEVEL TCL_VERSION TCL_BIN_DIR TCL_SRC_DIR TCL_LIB_FILE TCL_LIB_FLAG TCL_LIB_SPEC TCL_STUB_LIB_FILE TCL_STUB_LIB_FLAG TCL_STUB_LIB_SPEC TCL_LIBS TCL_DEFS TCL_EXTRA_CFLAGS TCL_LD_FLAGS TCL_SHLIB_LD_LIBS TK_VERSION TK_BIN_DIR TK_SRC_DIR TK_LIB_FILE TK_LIB_FLAG TK_LIB_SPEC TK_STUB_LIB_FILE TK_STUB_LIB_FLAG TK_STUB_LIB_SPEC TK_LIBS TK_XINCLUDES CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT CPP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA SET_MAKE RANLIB ac_ct_RANLIB EGREP MATH_LIBS aol_prefix PKG_SOURCES PKG_OBJECTS TCL_TOP_DIR_NATIVE TCL_GENERIC_DIR_NATIVE TCL_UNIX_DIR_NATIVE TCL_WIN_DIR_NATIVE TCL_BMAP_DIR_NATIVE TCL_TOOL_DIR_NATIVE TCL_PLATFORM_DIR_NATIVE TCL_INCLUDES CLEANFILES TCL_THREADS SHARED_BUILD AR LIBOBJS DL_LIBS CFLAGS_DEBUG CFLAGS_OPTIMIZE CFLAGS_WARNING EXTRA_CFLAGS STLIB_LD SHLIB_LD SHLIB_CFLAGS SHLIB_LD_FLAGS SHLIB_LD_LIBS LDFLAGS_DEBUG LDFLAGS_OPTIMIZE LD_LIBRARY_PATH_VAR TCL_DBGX CFLAGS_DEFAULT LDFLAGS_DEFAULT MAKE_LIB MAKE_SHARED_LIB MAKE_STATIC_LIB MAKE_STUB_LIB RANLIB_STUB TCLSH_PROG XOTCL_COMPATIBLE_TCLSH PKG_DIR pkgdatadir pkglibdir pkgincludedir SHARED_LIB_SUFFIX UNSHARED_LIB_SUFFIX XOTCL_BUILD_LIB_SPEC XOTCL_LIB_SPEC XOTCL_BUILD_STUB_LIB_SPEC XOTCL_STUB_LIB_SPEC XOTCL_BUILD_STUB_LIB_PATH XOTCL_STUB_LIB_PATH XOTCL_SRC_DIR XOTCLSH XOWISH XOTCL_BUILD_INCLUDE_DIR XOTCL_BUILD_INCLUDE_SPEC test_actiweb libdirs_actiweb apps_actiweb TEA_PLATFORM CONFIG_CLEAN_FILES LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CYGPATH EXEEXT PKG_LIB_FILE PKG_STUB_LIB_FILE PKG_STUB_SOURCES PKG_STUB_OBJECTS PKG_TCL_SOURCES PKG_HEADERS PKG_INCLUDES PKG_LIBS PKG_CFLAGS subdirs XOTCL_VERSION XOTCL_MAJOR_VERSION XOTCL_MINOR_VERSION XOTCL_RELEASE_LEVEL TCL_VERSION TCL_BIN_DIR TCL_SRC_DIR TCL_LIB_FILE TCL_LIB_FLAG TCL_LIB_SPEC TCL_STUB_LIB_FILE TCL_STUB_LIB_FLAG TCL_STUB_LIB_SPEC TCL_LIBS TCL_DEFS TCL_EXTRA_CFLAGS TCL_LD_FLAGS TCL_SHLIB_LD_LIBS TK_VERSION TK_BIN_DIR TK_SRC_DIR TK_LIB_FILE TK_LIB_FLAG TK_LIB_SPEC TK_STUB_LIB_FILE TK_STUB_LIB_FLAG TK_STUB_LIB_SPEC TK_LIBS TK_XINCLUDES CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT CPP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA SET_MAKE RANLIB ac_ct_RANLIB EGREP MATH_LIBS aol_prefix PKG_SOURCES PKG_OBJECTS TCL_TOP_DIR_NATIVE TCL_GENERIC_DIR_NATIVE TCL_UNIX_DIR_NATIVE TCL_WIN_DIR_NATIVE TCL_BMAP_DIR_NATIVE TCL_TOOL_DIR_NATIVE TCL_PLATFORM_DIR_NATIVE TCL_INCLUDES CLEANFILES TCL_THREADS SHARED_BUILD AR TCLSH_PROG CELIB_DIR LIBOBJS DL_LIBS CFLAGS_DEBUG CFLAGS_OPTIMIZE CFLAGS_WARNING STLIB_LD SHLIB_LD SHLIB_CFLAGS SHLIB_LD_LIBS LDFLAGS_DEBUG LDFLAGS_OPTIMIZE LD_LIBRARY_PATH_VAR TCL_DBGX CFLAGS_DEFAULT LDFLAGS_DEFAULT MAKE_LIB MAKE_SHARED_LIB MAKE_STATIC_LIB MAKE_STUB_LIB RANLIB_STUB XOTCL_COMPATIBLE_TCLSH PKG_DIR pkgdatadir pkglibdir pkgincludedir SHARED_LIB_SUFFIX UNSHARED_LIB_SUFFIX XOTCL_BUILD_LIB_SPEC XOTCL_LIB_SPEC XOTCL_BUILD_STUB_LIB_SPEC XOTCL_STUB_LIB_SPEC XOTCL_BUILD_STUB_LIB_PATH XOTCL_STUB_LIB_PATH XOTCL_SRC_DIR XOTCLSH XOWISH XOTCL_BUILD_INCLUDE_DIR XOTCL_BUILD_INCLUDE_SPEC test_actiweb libdirs_actiweb apps_actiweb TEA_PLATFORM CONFIG_CLEAN_FILES LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -777,7 +777,7 @@ # 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 xotcl 1.3.5 to adapt to many kinds of systems. +\`configure' configures xotcl 1.3.7 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -834,7 +834,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xotcl 1.3.5:";; + short | recursive ) echo "Configuration of xotcl 1.3.7:";; esac cat <<\_ACEOF @@ -977,7 +977,7 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -xotcl configure 1.3.5 +xotcl configure 1.3.7 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -991,7 +991,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by xotcl $as_me 1.3.5, which was +It was created by xotcl $as_me 1.3.7, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1334,7 +1334,9 @@ #-------------------------------------------------------------------- - TEA_VERSION="3.0" + # TEA extensions pass this us the version of TEA they think they + # are compatible with. + TEA_VERSION="3.2" echo "$as_me:$LINENO: checking for correct TEA configuration" >&5 echo $ECHO_N "checking for correct TEA configuration... $ECHO_C" >&6 @@ -1345,18 +1347,18 @@ The PACKAGE_NAME variable must be defined by your TEA configure.in" >&2;} { (exit 1); exit 1; }; } fi - if test x"3.0" = x ; then + if test x"3.2" = x ; then { { echo "$as_me:$LINENO: error: TEA version not specified." >&5 echo "$as_me: error: TEA version not specified." >&2;} { (exit 1); exit 1; }; } - elif test "3.0" != "${TEA_VERSION}" ; then - echo "$as_me:$LINENO: result: warning: TEA version \"3.0\" != ${TEA_VERSION}" >&5 -echo "${ECHO_T}warning: TEA version \"3.0\" != ${TEA_VERSION}" >&6 + elif test "3.2" != "${TEA_VERSION}" ; then + echo "$as_me:$LINENO: result: warning: requested TEA version \"3.2\", have \"${TEA_VERSION}\"" >&5 +echo "${ECHO_T}warning: requested TEA version \"3.2\", have \"${TEA_VERSION}\"" >&6 else - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 + echo "$as_me:$LINENO: result: ok (TEA ${TEA_VERSION})" >&5 +echo "${ECHO_T}ok (TEA ${TEA_VERSION})" >&6 fi case "`uname -s`" in *win32*|*WIN32*|*CYGWIN_NT*|*CYGWIN_9*|*CYGWIN_ME*|*MINGW32_*) @@ -1406,8 +1408,14 @@ ;; esac - # Check if exec_prefix is set. If not use fall back to prefix - if test x$exec_prefix = xNONE ; then exec_prefix=$prefix ; fi + # Check if exec_prefix is set. If not use fall back to prefix. + # Note when adjusted, so that TEA_PREFIX can correct for this. + # This is needed for recursive configures, since autoconf propagates + # $prefix, but not $exec_prefix (doh!). + if test x$exec_prefix = xNONE ; then + exec_prefix_default=yes + exec_prefix=$prefix + fi @@ -1562,7 +1570,7 @@ # do not modify the following lines manually, they are generated with changeXOTclVersion XOTCL_MAJOR_VERSION=1 XOTCL_MINOR_VERSION=3 -XOTCL_RELEASE_LEVEL=.5 +XOTCL_RELEASE_LEVEL=.7 XOTCL_VERSION=${XOTCL_MAJOR_VERSION}.${XOTCL_MINOR_VERSION} NODOT_VERSION=${XOTCL_MAJOR_VERSION}${XOTCL_MINOR_VERSION} @@ -1604,6 +1612,14 @@ # First check to see if --with-tcl was specified. if test x"${with_tclconfig}" != x ; then + case ${with_tclconfig} in + */tclConfig.sh ) + if test -f ${with_tclconfig}; then + { echo "$as_me:$LINENO: WARNING: --with-tcl argument should refer to directory containing tclConfig.sh, not to tclConfig.sh itself" >&5 +echo "$as_me: WARNING: --with-tcl argument should refer to directory containing tclConfig.sh, not to tclConfig.sh itself" >&2;} + with_tclconfig=`echo ${with_tclconfig} | sed 's!/tclConfig\.sh$!!'` + fi ;; + esac if test -f "${with_tclconfig}/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)` else @@ -1617,10 +1633,16 @@ if test x"${ac_cv_c_tclconfig}" = x ; then for i in \ ../tcl \ + `ls -dr ../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \ + `ls -dr ../tcl[8-9].[0-9] 2>/dev/null` \ `ls -dr ../tcl[8-9].[0-9]* 2>/dev/null` \ ../../tcl \ + `ls -dr ../../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \ + `ls -dr ../../tcl[8-9].[0-9] 2>/dev/null` \ `ls -dr ../../tcl[8-9].[0-9]* 2>/dev/null` \ ../../../tcl \ + `ls -dr ../../../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \ + `ls -dr ../../../tcl[8-9].[0-9] 2>/dev/null` \ `ls -dr ../../../tcl[8-9].[0-9]* 2>/dev/null` ; do if test -f "$i/unix/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd $i/unix; pwd)` @@ -1648,6 +1670,8 @@ if test x"${ac_cv_c_tclconfig}" = x ; then for i in \ ${srcdir}/../tcl \ + `ls -dr ${srcdir}/../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \ + `ls -dr ${srcdir}/../tcl[8-9].[0-9] 2>/dev/null` \ `ls -dr ${srcdir}/../tcl[8-9].[0-9]* 2>/dev/null` ; do if test -f "$i/unix/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd $i/unix; pwd)` @@ -1724,7 +1748,6 @@ - #AC_SUBST(TCL_DBGX) @@ -1764,6 +1787,14 @@ # First check to see if --with-tkconfig was specified. if test x"${with_tkconfig}" != x ; then + case ${with_tkconfig} in + */tkConfig.sh ) + if test -f ${with_tkconfig}; then + { echo "$as_me:$LINENO: WARNING: --with-tk argument should refer to directory containing tkConfig.sh, not to tkConfig.sh itself" >&5 +echo "$as_me: WARNING: --with-tk argument should refer to directory containing tkConfig.sh, not to tkConfig.sh itself" >&2;} + with_tkconfig=`echo ${with_tkconfig} | sed 's!/tkConfig\.sh$!!'` + fi ;; + esac if test -f "${with_tkconfig}/tkConfig.sh" ; then ac_cv_c_tkconfig=`(cd ${with_tkconfig}; pwd)` else @@ -1777,10 +1808,16 @@ if test x"${ac_cv_c_tkconfig}" = x ; then for i in \ ../tk \ + `ls -dr ../tk[8-9].[0-9].[0-9]* 2>/dev/null` \ + `ls -dr ../tk[8-9].[0-9] 2>/dev/null` \ `ls -dr ../tk[8-9].[0-9]* 2>/dev/null` \ ../../tk \ + `ls -dr ../../tk[8-9].[0-9].[0-9]* 2>/dev/null` \ + `ls -dr ../../tk[8-9].[0-9] 2>/dev/null` \ `ls -dr ../../tk[8-9].[0-9]* 2>/dev/null` \ ../../../tk \ + `ls -dr ../../../tk[8-9].[0-9].[0-9]* 2>/dev/null` \ + `ls -dr ../../../tk[8-9].[0-9] 2>/dev/null` \ `ls -dr ../../../tk[8-9].[0-9]* 2>/dev/null` ; do if test -f "$i/unix/tkConfig.sh" ; then ac_cv_c_tkconfig=`(cd $i/unix; pwd)` @@ -1806,6 +1843,8 @@ if test x"${ac_cv_c_tkconfig}" = x ; then for i in \ ${srcdir}/../tk \ + `ls -dr ${srcdir}/../tk[8-9].[0-9].[0-9]* 2>/dev/null` \ + `ls -dr ${srcdir}/../tk[8-9].[0-9] 2>/dev/null` \ `ls -dr ${srcdir}/../tk[8-9].[0-9]* 2>/dev/null` ; do if test -f "$i/unix/tkConfig.sh" ; then ac_cv_c_tkconfig=`(cd $i/unix; pwd)` @@ -1895,23 +1934,27 @@ #----------------------------------------------------------------------- - # Should be AC_MSG_NOTICE, but that requires autoconf 2.50 if test "${prefix}" = "NONE"; then prefix_default=yes if test x"${TCL_PREFIX}" != x; then - { echo "$as_me:$LINENO: WARNING: --prefix defaulting to TCL_PREFIX ${TCL_PREFIX}" >&5 -echo "$as_me: WARNING: --prefix defaulting to TCL_PREFIX ${TCL_PREFIX}" >&2;} + { echo "$as_me:$LINENO: --prefix defaulting to TCL_PREFIX ${TCL_PREFIX}" >&5 +echo "$as_me: --prefix defaulting to TCL_PREFIX ${TCL_PREFIX}" >&6;} prefix=${TCL_PREFIX} else + { echo "$as_me:$LINENO: --prefix defaulting to /usr/local" >&5 +echo "$as_me: --prefix defaulting to /usr/local" >&6;} prefix=/usr/local fi fi - if test "${exec_prefix}" = "NONE" -a x"${prefix_default}" = x"yes" ; then + if test "${exec_prefix}" = "NONE" -a x"${prefix_default}" = x"yes" \ + -o x"${exec_prefix_default}" = x"yes" ; then if test x"${TCL_EXEC_PREFIX}" != x; then - { echo "$as_me:$LINENO: WARNING: --exec-prefix defaulting to TCL_EXEC_PREFIX ${TCL_EXEC_PREFIX}" >&5 -echo "$as_me: WARNING: --exec-prefix defaulting to TCL_EXEC_PREFIX ${TCL_EXEC_PREFIX}" >&2;} + { echo "$as_me:$LINENO: --exec-prefix defaulting to TCL_EXEC_PREFIX ${TCL_EXEC_PREFIX}" >&5 +echo "$as_me: --exec-prefix defaulting to TCL_EXEC_PREFIX ${TCL_EXEC_PREFIX}" >&6;} exec_prefix=${TCL_EXEC_PREFIX} else + { echo "$as_me:$LINENO: --exec-prefix defaulting to ${prefix}" >&5 +echo "$as_me: --exec-prefix defaulting to ${prefix}" >&6;} exec_prefix=$prefix fi fi @@ -3628,524 +3671,6 @@ # Common compiler flag setup #-------------------------------------------------------------------- - - echo "$as_me:$LINENO: checking for required early compiler flags" >&5 -echo $ECHO_N "checking for required early compiler flags... $ECHO_C" >&6 - tcl_flags="" - - if test "${tcl_cv_flag__isoc99_source+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -char *p = (char *)strtoll; char *q = (char *)strtoull; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - tcl_cv_flag__isoc99_source=no -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _ISOC99_SOURCE 1 -#include -int -main () -{ -char *p = (char *)strtoll; char *q = (char *)strtoull; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - tcl_cv_flag__isoc99_source=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -tcl_cv_flag__isoc99_source=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi - - if test "x${tcl_cv_flag__isoc99_source}" = "xyes" ; then - cat >>confdefs.h <<\_ACEOF -#define _ISOC99_SOURCE 1 -_ACEOF - - tcl_flags="$tcl_flags _ISOC99_SOURCE" - fi - - - if test "${tcl_cv_flag__largefile64_source+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -struct stat64 buf; int i = stat64("/", &buf); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - tcl_cv_flag__largefile64_source=no -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _LARGEFILE64_SOURCE 1 -#include -int -main () -{ -struct stat64 buf; int i = stat64("/", &buf); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - tcl_cv_flag__largefile64_source=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -tcl_cv_flag__largefile64_source=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi - - if test "x${tcl_cv_flag__largefile64_source}" = "xyes" ; then - cat >>confdefs.h <<\_ACEOF -#define _LARGEFILE64_SOURCE 1 -_ACEOF - - tcl_flags="$tcl_flags _LARGEFILE64_SOURCE" - fi - - if test "x${tcl_flags}" = "x" ; then - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 - else - echo "$as_me:$LINENO: result: ${tcl_flags}" >&5 -echo "${ECHO_T}${tcl_flags}" >&6 - fi - - - echo "$as_me:$LINENO: checking for 64-bit integer type" >&5 -echo $ECHO_N "checking for 64-bit integer type... $ECHO_C" >&6 - if test "${tcl_cv_type_64bit+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -__int64 value = (__int64) 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - tcl_cv_type_64bit=__int64 -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -tcl_cv_type_64bit=none - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - int main() {exit(!(sizeof(long long) > sizeof(long)));} - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - tcl_cv_type_64bit="long long" -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi - - if test "${tcl_cv_type_64bit}" = none ; then - echo "$as_me:$LINENO: result: using long" >&5 -echo "${ECHO_T}using long" >&6 - elif test "${tcl_cv_type_64bit}" = "__int64" ; then - # We actually want to use the default tcl.h checks in this - # case to handle both TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER* - echo "$as_me:$LINENO: result: using Tcl header defaults" >&5 -echo "${ECHO_T}using Tcl header defaults" >&6 - else - cat >>confdefs.h <<_ACEOF -#define TCL_WIDE_INT_TYPE ${tcl_cv_type_64bit} -_ACEOF - - echo "$as_me:$LINENO: result: ${tcl_cv_type_64bit}" >&5 -echo "${ECHO_T}${tcl_cv_type_64bit}" >&6 - - # Now check for auxiliary declarations - echo "$as_me:$LINENO: checking for struct dirent64" >&5 -echo $ECHO_N "checking for struct dirent64... $ECHO_C" >&6 - if test "${tcl_cv_struct_dirent64+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -int -main () -{ -struct dirent64 p; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - tcl_cv_struct_dirent64=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -tcl_cv_struct_dirent64=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi - - if test "x${tcl_cv_struct_dirent64}" = "xyes" ; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_STRUCT_DIRENT64 1 -_ACEOF - - fi - echo "$as_me:$LINENO: result: ${tcl_cv_struct_dirent64}" >&5 -echo "${ECHO_T}${tcl_cv_struct_dirent64}" >&6 - - echo "$as_me:$LINENO: checking for struct stat64" >&5 -echo $ECHO_N "checking for struct stat64... $ECHO_C" >&6 - if test "${tcl_cv_struct_stat64+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -struct stat64 p; - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - tcl_cv_struct_stat64=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -tcl_cv_struct_stat64=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi - - if test "x${tcl_cv_struct_stat64}" = "xyes" ; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_STRUCT_STAT64 1 -_ACEOF - - fi - echo "$as_me:$LINENO: result: ${tcl_cv_struct_stat64}" >&5 -echo "${ECHO_T}${tcl_cv_struct_stat64}" >&6 - - echo "$as_me:$LINENO: checking for off64_t" >&5 -echo $ECHO_N "checking for off64_t... $ECHO_C" >&6 - if test "${tcl_cv_type_off64_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -off64_t offset; - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - tcl_cv_type_off64_t=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -tcl_cv_type_off64_t=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi - - if test "x${tcl_cv_type_off64_t}" = "xyes" ; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_TYPE_OFF64_T 1 -_ACEOF - - fi - echo "$as_me:$LINENO: result: ${tcl_cv_type_off64_t}" >&5 -echo "${ECHO_T}${tcl_cv_type_off64_t}" >&6 - fi - echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 if test "${ac_cv_c_bigendian+set}" = set; then @@ -5967,7 +5492,10 @@ fi if test $ac_cv_header_limits_h = yes; then - : + cat >>confdefs.h <<\_ACEOF +#define HAVE_LIMITS_H 1 +_ACEOF + else cat >>confdefs.h <<\_ACEOF #define NO_LIMITS_H 1 @@ -6662,13 +6190,8 @@ # OS/390 lacks sys/param.h (and doesn't need it, by chance). - # tkUnixPort.h checks for HAVE_LIMITS_H, so do both HAVE and - # CHECK on limits.h - - - -for ac_header in limits.h unistd.h sys/param.h +for ac_header in sys/param.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then @@ -6920,6 +6443,10 @@ vars="" 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'` + fi PKG_LIBS="$PKG_LIBS $i" done @@ -7089,7 +6616,7 @@ tcl_ok= fi; - if test "$tcl_ok" = "yes"; then + if test "$tcl_ok" = "yes" -o "${TCL_THREADS}" = 1; then TCL_THREADS=1 if test "${TEA_PLATFORM}" != "windows" ; then @@ -7708,6 +7235,7 @@ #define TCL_THREADS 1 _ACEOF + #LIBS="$LIBS $THREADS_LIBS" echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 else @@ -7787,8 +7315,52 @@ #-------------------------------------------------------------------- + # Allow the user to provide this setting in the env + if test "x${TCLSH_PROG}" = "x" ; then + echo "$as_me:$LINENO: checking for tclsh" >&5 +echo $ECHO_N "checking for tclsh... $ECHO_C" >&6 + if test "${ac_cv_path_tclsh+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + search_path=`echo ${PATH} | sed -e 's/:/ /g'` + if test "${TEA_PLATFORM}" != "windows" -o \ + \( "$do64bit_ok" = "no" -a "$doWince" = "no" \) ; then + # Do not allow target tclsh in known cross-compile builds, + # as we need one we can run on this system + search_path="${TCL_BIN_DIR} ${TCL_BIN_DIR}/../bin ${exec_prefix}/bin ${prefix}/bin ${search_path}" + fi + for dir in $search_path ; do + for j in `ls -r $dir/tclsh[8-9]*${EXEEXT} 2> /dev/null` \ + `ls -r $dir/tclsh*${EXEEXT} 2> /dev/null` ; do + if test x"$ac_cv_path_tclsh" = x ; then + if test -f "$j" ; then + ac_cv_path_tclsh=$j + break + fi + fi + done + done + +fi + + + if test -f "$ac_cv_path_tclsh" ; then + TCLSH_PROG=$ac_cv_path_tclsh + echo "$as_me:$LINENO: result: $TCLSH_PROG" >&5 +echo "${ECHO_T}$TCLSH_PROG" >&6 + else + { { echo "$as_me:$LINENO: error: No tclsh found in PATH: $search_path" >&5 +echo "$as_me: error: No tclsh found in PATH: $search_path" >&2;} + { (exit 1); exit 1; }; } + fi + fi + + + + + # Step 0: Enable 64 bit support? echo "$as_me:$LINENO: checking if 64bit support is enabled" >&5 @@ -7945,19 +7517,23 @@ # Step 3: set configuration options based on system name and version. + # This is similar to Tcl's unix/tcl.m4 except that we've added a + # "windows" case and CC_SEARCH_FLAGS becomes LD_SEARCH_FLAGS for us + # (and we have no CC_SEARCH_FLAGS). do64bit_ok=no - EXTRA_CFLAGS="" + LDFLAGS_ORIG="$LDFLAGS" TCL_EXPORT_FILE_SUFFIX="" UNSHARED_LIB_SUFFIX="" TCL_TRIM_DOTS='`echo ${PACKAGE_VERSION} | tr -d .`' ECHO_VERSION='`echo ${PACKAGE_VERSION}`' TCL_LIB_VERSIONS_OK=ok CFLAGS_DEBUG=-g - CFLAGS_OPTIMIZE=-O if test "$GCC" = "yes" ; then - CFLAGS_WARNING="-Wall -Wconversion -Wno-implicit-int" + CFLAGS_OPTIMIZE=-O2 + CFLAGS_WARNING="-Wall -Wno-implicit-int" else + CFLAGS_OPTIMIZE=-O CFLAGS_WARNING="" fi TCL_NEEDS_EXP_FILE=0 @@ -8008,12 +7584,35 @@ if test "x${MSSDK}x" = "xx" ; then MSSDK="C:/Progra~1/Microsoft SDK" fi - # In order to work in the tortured autoconf environment, - # we need to ensure that this path has no spaces - MSSDK=`cygpath -w -s "$MSSDK" | sed -e 's!\\\!/!g'` + # Ensure that this path has no spaces to work in autoconf + + if test "${TEA_PLATFORM}" = "windows" ; then + # we need TCLSH_PROG defined to get Windows short pathnames + + + echo "$as_me:$LINENO: checking short pathname for MSSDK (${MSSDK})" >&5 +echo $ECHO_N "checking short pathname for MSSDK (${MSSDK})... $ECHO_C" >&6 + + shortpath= + case "${MSSDK}" in + *\ *) + # Only do this if we need to. + shortpath=`echo "puts [file attributes {${MSSDK}} -shortname] ; exit" | ${TCLSH_PROG} 2>/dev/null` + ;; + esac + if test "x${shortpath}" = "x" ; then + echo "$as_me:$LINENO: result: not changed" >&5 +echo "${ECHO_T}not changed" >&6 + else + MSSDK=$shortpath + echo "$as_me:$LINENO: result: ${MSSDK}" >&5 +echo "${ECHO_T}${MSSDK}" >&6 + fi + fi + if test ! -d "${MSSDK}/bin/win64" ; then - { echo "$as_me:$LINENO: WARNING: \"could not find 64-bit SDK to enable 64bit mode\"" >&5 -echo "$as_me: WARNING: \"could not find 64-bit SDK to enable 64bit mode\"" >&2;} + { echo "$as_me:$LINENO: WARNING: could not find 64-bit SDK to enable 64bit mode" >&5 +echo "$as_me: WARNING: could not find 64-bit SDK to enable 64bit mode" >&2;} do64bit="no" else do64bit_ok="yes" @@ -8083,7 +7682,6 @@ fi if test x"${ac_cv_c_celibconfig}" = x ; then - CELIB_DIR="# no Celib configs found" { { echo "$as_me:$LINENO: error: Cannot find celib support library directory" >&5 echo "$as_me: error: Cannot find celib support library directory" >&2;} { (exit 1); exit 1; }; } @@ -8092,47 +7690,133 @@ CELIB_DIR=${ac_cv_c_celibconfig} echo "$as_me:$LINENO: result: found $CELIB_DIR" >&5 echo "${ECHO_T}found $CELIB_DIR" >&6 + + if test "${TEA_PLATFORM}" = "windows" ; then + # we need TCLSH_PROG defined to get Windows short pathnames + + + echo "$as_me:$LINENO: checking short pathname for CELIB_DIR (${ac_cv_c_celibconfig})" >&5 +echo $ECHO_N "checking short pathname for CELIB_DIR (${ac_cv_c_celibconfig})... $ECHO_C" >&6 + + shortpath= + case "${ac_cv_c_celibconfig}" in + *\ *) + # Only do this if we need to. + shortpath=`echo "puts [file attributes {${ac_cv_c_celibconfig}} -shortname] ; exit" | ${TCLSH_PROG} 2>/dev/null` + ;; + esac + if test "x${shortpath}" = "x" ; then + echo "$as_me:$LINENO: result: not changed" >&5 +echo "${ECHO_T}not changed" >&6 + else + CELIB_DIR=$shortpath + echo "$as_me:$LINENO: result: ${CELIB_DIR}" >&5 +echo "${ECHO_T}${CELIB_DIR}" >&6 fi fi - # set defaults - # Currently Tcl requires 300+ - CEVERSION=300; # could be 211 300 301 ... - TARGETCPU=ARM; # could be ARM MIPS SH3 X86 ... - PLATFORM="Pocket PC 2002" - if test "$doWince" = "yes"; then - doWince="300,ARM,ARM,Pocket PC 2002" - fi - eval `echo $doWince | awk -F "," '{ \ - if (length($1)) { printf "CEVERSION=%s\n", $1 }; \ - if (length($2)) { printf "TARGETCPU=%s\n", toupper($2) }; \ - if (length($3)) { printf "ARCH=%s\n", toupper($3) }; \ - if (length($4)) { printf "PLATFORM=%s\n", $4 }; \ + fi + fi + + # Set defaults for common evc4/PPC2003 setup + # Currently Tcl requires 300+, possibly 420+ for sockets + CEVERSION=420; # could be 211 300 301 400 420 ... + TARGETCPU=ARMV4; # could be ARMV4 ARM MIPS SH3 X86 ... + ARCH=ARM; # could be ARM MIPS X86EM ... + PLATFORM="Pocket PC 2003"; # or "Pocket PC 2002" + if test "$doWince" != "yes"; then + # If !yes then the user specified something + # Reset ARCH to allow user to skip specifying it + ARCH= + eval `echo $doWince | awk -F, '{ \ + if (length($1)) { printf "CEVERSION=\"%s\"\n", $1; \ + if ($1 < 400) { printf "PLATFORM=\"Pocket PC 2002\"\n" } }; \ + if (length($2)) { printf "TARGETCPU=\"%s\"\n", toupper($2) }; \ + if (length($3)) { printf "ARCH=\"%s\"\n", toupper($3) }; \ + if (length($4)) { printf "PLATFORM=\"%s\"\n", $4 }; \ }'` + if test "x${ARCH}" = "x" ; then + ARCH=$TARGETCPU; + fi + fi OSVERSION=WCE$CEVERSION; - if test "x${ARCH}" = "x" ; then - ARCH=$TARGETCPU; # could be ARM MIPS SH3 X86 X86EM ... + if test "x${WCEROOT}" = "x" ; then + WCEROOT="C:/Program Files/Microsoft eMbedded C++ 4.0" + if test ! -d "${WCEROOT}" ; then + WCEROOT="C:/Program Files/Microsoft eMbedded Tools" + fi fi - if test "x${WCEROOT}" = "x" ; then - WCEROOT="C:/Program Files/Microsoft eMbedded Tools" - fi if test "x${SDKROOT}" = "x" ; then - SDKROOT="C:/Windows CE Tools" + SDKROOT="C:/Program Files/Windows CE Tools" + if test ! -d "${SDKROOT}" ; then + SDKROOT="C:/Windows CE Tools" + fi fi - # In order to work in the tortured autoconf environment, - # we need to ensure that this path has no spaces - WCEROOT=`cygpath -w -s "$WCEROOT" | sed -e 's!\\\!/!g'` - SDKROOT=`cygpath -w -s "$SDKROOT" | sed -e 's!\\\!/!g'` - CELIB_DIR=`cygpath -w -s "$CELIB_DIR" | sed -e 's!\\\!/!g'` + # Ensure that this path has no spaces to work in autoconf + + if test "${TEA_PLATFORM}" = "windows" ; then + # we need TCLSH_PROG defined to get Windows short pathnames + + + echo "$as_me:$LINENO: checking short pathname for WCEROOT (${WCEROOT})" >&5 +echo $ECHO_N "checking short pathname for WCEROOT (${WCEROOT})... $ECHO_C" >&6 + + shortpath= + case "${WCEROOT}" in + *\ *) + # Only do this if we need to. + shortpath=`echo "puts [file attributes {${WCEROOT}} -shortname] ; exit" | ${TCLSH_PROG} 2>/dev/null` + ;; + esac + if test "x${shortpath}" = "x" ; then + echo "$as_me:$LINENO: result: not changed" >&5 +echo "${ECHO_T}not changed" >&6 + else + WCEROOT=$shortpath + echo "$as_me:$LINENO: result: ${WCEROOT}" >&5 +echo "${ECHO_T}${WCEROOT}" >&6 + fi + fi + + + if test "${TEA_PLATFORM}" = "windows" ; then + # we need TCLSH_PROG defined to get Windows short pathnames + + + echo "$as_me:$LINENO: checking short pathname for SDKROOT (${SDKROOT})" >&5 +echo $ECHO_N "checking short pathname for SDKROOT (${SDKROOT})... $ECHO_C" >&6 + + shortpath= + case "${SDKROOT}" in + *\ *) + # Only do this if we need to. + shortpath=`echo "puts [file attributes {${SDKROOT}} -shortname] ; exit" | ${TCLSH_PROG} 2>/dev/null` + ;; + esac + if test "x${shortpath}" = "x" ; then + echo "$as_me:$LINENO: result: not changed" >&5 +echo "${ECHO_T}not changed" >&6 + else + SDKROOT=$shortpath + echo "$as_me:$LINENO: result: ${SDKROOT}" >&5 +echo "${ECHO_T}${SDKROOT}" >&6 + fi + fi + if test ! -d "${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}" \ -o ! -d "${WCEROOT}/EVC/${OSVERSION}/bin"; then { { echo "$as_me:$LINENO: error: could not find PocketPC SDK or target compiler to enable WinCE mode $CEVERSION,$TARGETCPU,$ARCH,$PLATFORM" >&5 echo "$as_me: error: could not find PocketPC SDK or target compiler to enable WinCE mode $CEVERSION,$TARGETCPU,$ARCH,$PLATFORM" >&2;} { (exit 1); exit 1; }; } doWince="no" else - CEINCLUDE=`cygpath -w -s "${SDKROOT}/${OSVERSION}/${PLATFORM}/include" | sed -e 's!\\\!/!g'` - CELIBPATH=`cygpath -w -s "${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}" | sed -e 's!\\\!/!g'` + # We could PATH_NOSPACE these, but that's not important, + # as long as we quote them when used. + CEINCLUDE="${SDKROOT}/${OSVERSION}/${PLATFORM}/include" + if test -d "${CEINCLUDE}/${TARGETCPU}" ; then + CEINCLUDE="${CEINCLUDE}/${TARGETCPU}" + fi + CELIBPATH="${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}" fi fi @@ -8145,26 +7829,31 @@ if test "$do64bit" = "yes" ; then # All this magic is necessary for the Win64 SDK RC1 - hobbs - export CC="${MSSDK}/Bin/Win64/cl.exe \ - -I${MSSDK}/Include/prerelease \ - -I${MSSDK}/Include/Win64/crt \ - -I${MSSDK}/Include" - export RC="${MSSDK}/bin/rc.exe" - export lflags="-MACHINE:IA64 -LIBPATH:${MSSDK}/Lib/IA64 \ - -LIBPATH:${MSSDK}/Lib/Prerelease/IA64" - export STLIB_LD="${MSSDK}/bin/win64/lib.exe -nologo ${lflags}" - export LINKBIN="${MSSDK}/bin/win64/link.exe ${lflags}" + CC="${MSSDK}/Bin/Win64/cl.exe" + CFLAGS="${CFLAGS} -I${MSSDK}/Include/prerelease \ + -I${MSSDK}/Include/Win64/crt \ + -I${MSSDK}/Include" + RC="${MSSDK}/bin/rc.exe" + lflags="-MACHINE:IA64 -LIBPATH:${MSSDK}/Lib/IA64 \ + -LIBPATH:${MSSDK}/Lib/Prerelease/IA64 -nologo" + LINKBIN="${MSSDK}/bin/win64/link.exe" CFLAGS_DEBUG="-nologo -Zi -Od -W3 ${runtime}d" - CFLAGS_OPTIMIZE="-nologo -O2 -Gs -W2 ${runtime}" + CFLAGS_OPTIMIZE="-nologo -O2 -W2 ${runtime}" elif test "$doWince" != "no" ; then + CEBINROOT="${WCEROOT}/EVC/${OSVERSION}/bin" if test "${TARGETCPU}" = "X86"; then - CC="${WCEROOT}/EVC/${OSVERSION}/bin/cl.exe -I\"${CELIB_DIR}/inc\" -I\"${CEINCLUDE}\"" + CC="${CEBINROOT}/cl.exe" else - CC="${WCEROOT}/EVC/${OSVERSION}/bin/cl${TARGETCPU}.exe -I\"${CELIB_DIR}/inc\" -I\"${CEINCLUDE}\"" + CC="${CEBINROOT}/cl${ARCH}.exe" fi + CFLAGS="$CFLAGS -I\"${CELIB_DIR}/inc\" -I\"${CEINCLUDE}\"" RC="${WCEROOT}/Common/EVC/bin/rc.exe" - cpulower=`echo ${TARGETCPU} | awk '{print tolower($0)}'` - defs="${TARGETCPU} _${TARGETCPU}_ ${cpulower} _${cpulower}_ POCKET_SIZE PALM_SIZE _MT _DLL _WINDOWS" + arch=`echo ${ARCH} | awk '{print tolower($0)}'` + defs="${ARCH} _${ARCH}_ ${arch} PALM_SIZE _MT _WINDOWS" + if test "${SHARED_BUILD}" = "1" ; then + # Static CE builds require static celib as well + defs="${defs} _DLL" + fi for i in $defs ; do cat >>confdefs.h <<_ACEOF #define $i 1 @@ -8181,31 +7870,33 @@ CFLAGS_DEBUG="-nologo -Zi -Od" CFLAGS_OPTIMIZE="-nologo -Ox" - lflags="-MACHINE:${TARGETCPU} -LIBPATH:\"${CELIBPATH}\" -subsystem:windowsce,3.00" - STLIB_LD="${WCEROOT}/EVC/${OSVERSION}/bin/lib.exe -nologo ${lflags}" - LINKBIN="${WCEROOT}/EVC/${OSVERSION}/bin/link.exe ${lflags}" + lversion=`echo ${CEVERSION} | sed -e 's/\(.\)\(..\)/\1\.\2/'` + lflags="-MACHINE:${ARCH} -LIBPATH:\"${CELIBPATH}\" -subsystem:windowsce,${lversion} -nologo" + LINKBIN="${CEBINROOT}/link.exe" + else RC="rc" - STLIB_LD="lib -nologo" - LINKBIN="link -link50compat" + lflags="-nologo" + LINKBIN="link" CFLAGS_DEBUG="-nologo -Z7 -Od -W3 -WX ${runtime}d" - CFLAGS_OPTIMIZE="-nologo -O2 -Gs -GD -W2 ${runtime}" + CFLAGS_OPTIMIZE="-nologo -O2 -W2 ${runtime}" fi fi if test "$GCC" = "yes"; then # mingw gcc mode RC="windres" CFLAGS_DEBUG="-g" - CFLAGS_OPTIMIZE="-O2" + CFLAGS_OPTIMIZE="-O2 -fomit-frame-pointer" SHLIB_LD="$CC -shared" - UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' LDFLAGS_CONSOLE="-wl,--subsystem,console ${lflags}" LDFLAGS_WINDOW="-wl,--subsystem,windows ${lflags}" else - SHLIB_LD="${LINKBIN} -dll -nologo" - UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.lib' - EXTRA_CFLAGS="-YX" + SHLIB_LD="${LINKBIN} -dll ${lflags}" + # link -lib only works when -lib is the first arg + STLIB_LD="${LINKBIN} -lib ${lflags}" + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.lib' PATHTYPE=-w # For information on what debugtype is most useful, see: # http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp @@ -8223,7 +7914,7 @@ SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".dll" - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.dll' + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.dll' TCL_LIB_VERSIONS_OK=nodots # Bogus to avoid getting this turned off @@ -8244,7 +7935,6 @@ SHLIB_LD_LIBS='${LIBS}' DL_OBJS="tclLoadDl.o" - LDFLAGS="" LD_LIBRARY_PATH_VAR="LIBPATH" # AIX v<=4.1 has some different flags than 4.2+ @@ -8268,8 +7958,8 @@ echo "$as_me: WARNING: \"64bit mode not supported with GCC on $system\"" >&2;} else do64bit_ok=yes - EXTRA_CFLAGS="-q64" - LDFLAGS="-q64" + CFLAGS="$CFLAGS -q64" + LDFLAGS="$LDFLAGS -q64" RANLIB="${RANLIB} -X64" AR="${AR} -X64" SHLIB_LD_FLAGS="-b64" @@ -8287,11 +7977,16 @@ LD_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}' fi else - SHLIB_LD="${TCL_SRC_DIR}/unix/ldAix /bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry ${SHLIB_LD_FLAGS}" + if test "$GCC" = "yes" ; then + SHLIB_LD="gcc -shared" + else + SHLIB_LD="/bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry" + fi + SHLIB_LD="${TCL_SRC_DIR}/unix/ldAix ${SHLIB_LD} ${SHLIB_LD_FLAGS}" DL_LIBS="-ldl" LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' TCL_NEEDS_EXP_FILE=1 - TCL_EXPORT_FILE_SUFFIX='${PACKAGE_VERSION}\$\{DBGX\}.exp' + TCL_EXPORT_FILE_SUFFIX='${PACKAGE_VERSION}.exp' fi # On AIX <=v4 systems, libbsd.a has to be linked in to support @@ -8384,14 +8079,21 @@ fi ;; + BeOS*) + SHLIB_CFLAGS="-fPIC" + SHLIB_LD="${CC} -nostart" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + ;; BSD/OS-2.1*|BSD/OS-3*) SHLIB_CFLAGS="" SHLIB_LD="shlicc -r" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" - LDFLAGS="" LD_SEARCH_FLAGS="" ;; BSD/OS-4.*) @@ -8401,7 +8103,7 @@ SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" - LDFLAGS="-export-dynamic" + LDFLAGS="$LDFLAGS -export-dynamic" LD_SEARCH_FLAGS="" ;; dgux*) @@ -8411,7 +8113,6 @@ SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" - LDFLAGS="" LD_SEARCH_FLAGS="" ;; HP-UX-*.11.*) @@ -8498,13 +8199,18 @@ SHLIB_LD_LIBS='${LIBS}' DL_OBJS="tclLoadShl.o" DL_LIBS="-ldld" - LDFLAGS="-Wl,-E" + LDFLAGS="$LDFLAGS -Wl,-E" + LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.' + LD_LIBRARY_PATH_VAR="SHLIB_PATH" + fi + if test "$GCC" = "yes" ; then + SHLIB_LD="gcc -shared" + SHLIB_LD_LIBS='${LIBS}' LD_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.' fi - LD_LIBRARY_PATH_VAR="SHLIB_PATH" # Users may want PA-RISC 1.1/2.0 portable code - needs HP cc - #EXTRA_CFLAGS="+DAportable" + #CFLAGS="$CFLAGS +DAportable" # Check to enable 64-bit flags for compiler/linker if test "$do64bit" = "yes" ; then @@ -8515,8 +8221,7 @@ # 64-bit gcc in use. Fix flags for GNU ld. do64bit_ok=yes SHLIB_LD="${CC} -shared" - SHLIB_LD_LIBS="" - LD_SEARCH_FLAGS='' + SHLIB_LD_LIBS='${LIBS}' ;; *) { echo "$as_me:$LINENO: WARNING: \"64bit mode not supported with GCC on $system\"" >&5 @@ -8525,13 +8230,8 @@ esac else do64bit_ok=yes - if test "`uname -m`" = "ia64" ; then - EXTRA_CFLAGS="+DD64" - LDFLAGS="+DD64 $LDFLAGS" - else - EXTRA_CFLAGS="+DA2.0W" - LDFLAGS="+DA2.0W $LDFLAGS" - fi + CFLAGS="$CFLAGS +DD64" + LDFLAGS="$LDFLAGS +DD64" fi fi ;; @@ -8613,7 +8313,7 @@ SHLIB_LD_LIBS="" DL_OBJS="tclLoadShl.o" DL_LIBS="-ldld" - LDFLAGS="-Wl,-E" + LDFLAGS="$LDFLAGS -Wl,-E" LD_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.' fi LD_LIBRARY_PATH_VAR="SHLIB_PATH" @@ -8625,9 +8325,9 @@ SHLIB_LD_LIBS='${LIBS}' DL_OBJS="tclLoadAout.o" DL_LIBS="" - LDFLAGS="-Wl,-D,08000000" + LDFLAGS="$LDFLAGS -Wl,-D,08000000" LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' - SHARED_LIB_SUFFIX='${PACKAGE_VERSION}\$\{DBGX\}.a' + SHARED_LIB_SUFFIX='${PACKAGE_VERSION}.a' ;; IRIX-5.*) SHLIB_CFLAGS="" @@ -8637,8 +8337,6 @@ DL_OBJS="tclLoadDl.o" DL_LIBS="" LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' - EXTRA_CFLAGS="" - LDFLAGS="" ;; IRIX-6.*|IRIX64-6.5*) SHLIB_CFLAGS="" @@ -8649,19 +8347,19 @@ DL_LIBS="" LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' if test "$GCC" = "yes" ; then - EXTRA_CFLAGS="-mabi=n32" - LDFLAGS="-mabi=n32" + CFLAGS="$CFLAGS -mabi=n32" + LDFLAGS="$LDFLAGS -mabi=n32" else case $system in IRIX-6.3) # Use to build 6.2 compatible binaries on 6.3. - EXTRA_CFLAGS="-n32 -D_OLD_TERMIOS" + CFLAGS="$CFLAGS -n32 -D_OLD_TERMIOS" ;; *) - EXTRA_CFLAGS="-n32" + CFLAGS="$CFLAGS -n32" ;; esac - LDFLAGS="-n32" + LDFLAGS="$LDFLAGS -n32" fi ;; IRIX64-6.*) @@ -8671,7 +8369,6 @@ SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" - LDFLAGS="" LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' # Check to enable 64-bit flags for compiler/linker @@ -8683,8 +8380,8 @@ else do64bit_ok=yes SHLIB_LD="ld -64 -shared -rdata_shared" - EXTRA_CFLAGS="-64" - LDFLAGS="-64" + CFLAGS="$CFLAGS -64" + LDFLAGS="$LDFLAGS -64" fi fi ;; @@ -8693,6 +8390,7 @@ SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" + CFLAGS_OPTIMIZE="-O2 -fomit-frame-pointer" # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings # when you inline the string and math operations. Turn this off to # get rid of the warnings. @@ -8703,7 +8401,7 @@ SHLIB_LD="${CC} -shared" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" - LDFLAGS="-rdynamic" + LDFLAGS="$LDFLAGS -Wl,--export-dynamic" LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' else if test "${ac_cv_header_dld_h+set}" = set; then @@ -8848,14 +8546,13 @@ SHLIB_LD="ld -shared" DL_OBJS="tclLoadDld.o" DL_LIBS="-ldld" - LDFLAGS="" LD_SEARCH_FLAGS="" fi fi if test "`uname -m`" = "alpha" ; then - EXTRA_CFLAGS="-mieee" + CFLAGS="$CFLAGS -mieee" fi # The combo of gcc + glibc has a bug related @@ -8866,7 +8563,7 @@ # Disable inlining only when one of the # files in compat/*.c is being linked in. if test x"${USE_COMPAT}" != x ; then - EXTRA_CFLAGS="${EXTRA_CFLAGS} -fno-inline" + CFLAGS="$CFLAGS -fno-inline" fi ;; @@ -8879,7 +8576,7 @@ SHLIB_LD="${CC} -shared" DL_OBJS="" DL_LIBS="-ldl" - LDFLAGS="-rdynamic" + LDFLAGS="$LDFLAGS -Wl,--export-dynamic" LD_SEARCH_FLAGS="" else if test "${ac_cv_header_dld_h+set}" = set; then @@ -9024,14 +8721,13 @@ SHLIB_LD="ld -shared" DL_OBJS="" DL_LIBS="-ldld" - LDFLAGS="" LD_SEARCH_FLAGS="" fi fi if test "`uname -m`" = "alpha" ; then - EXTRA_CFLAGS="-mieee" + CFLAGS="$CFLAGS -mieee" fi ;; MP-RAS-02*) @@ -9041,7 +8737,6 @@ SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" - LDFLAGS="" LD_SEARCH_FLAGS="" ;; MP-RAS-*) @@ -9051,7 +8746,7 @@ SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" - LDFLAGS="-Wl,-Bexport" + LDFLAGS="$LDFLAGS -Wl,-Bexport" LD_SEARCH_FLAGS="" ;; NetBSD-*|FreeBSD-[1-2].*) @@ -9202,7 +8897,6 @@ SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" - LDFLAGS="" LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' echo "$as_me:$LINENO: checking for ELF" >&5 echo $ECHO_N "checking for ELF... $ECHO_C" >&6 @@ -9222,11 +8916,11 @@ $EGREP "yes" >/dev/null 2>&1; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so' + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so' else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0' + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' fi rm -f conftest* @@ -9240,17 +8934,16 @@ SHLIB_SUFFIX=".a" DL_OBJS="tclLoadAout.o" DL_LIBS="" - LDFLAGS="" LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' fi # FreeBSD doesn't handle version numbers with dots. - UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' TCL_LIB_VERSIONS_OK=nodots ;; OpenBSD-*) @@ -9259,7 +8952,6 @@ SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" - LDFLAGS="" LD_SEARCH_FLAGS="" echo "$as_me:$LINENO: checking for ELF" >&5 echo $ECHO_N "checking for ELF... $ECHO_C" >&6 @@ -9279,18 +8971,18 @@ $EGREP "yes" >/dev/null 2>&1; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0' + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0' + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' fi rm -f conftest* # OpenBSD doesn't do version numbers with dots. - UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' TCL_LIB_VERSIONS_OK=nodots ;; FreeBSD-*) @@ -9301,36 +8993,34 @@ SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" - LDFLAGS="-export-dynamic" + LDFLAGS="$LDFLAGS -export-dynamic" LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' if test "${TCL_THREADS}" = "1" ; then # The -pthread needs to go in the CFLAGS, not LIBS LIBS=`echo $LIBS | sed s/-pthread//` - EXTRA_CFLAGS="-pthread" + CFLAGS="$CFLAGS -pthread" LDFLAGS="$LDFLAGS -pthread" fi case $system in FreeBSD-3.*) # FreeBSD-3 doesn't handle version numbers with dots. - UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so' + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so' TCL_LIB_VERSIONS_OK=nodots ;; esac ;; - Rhapsody-*|Darwin-*) + Darwin-*) SHLIB_CFLAGS="-fno-common" SHLIB_LD="cc -dynamiclib \${LDFLAGS}" - TCL_SHLIB_LD_EXTRAS="-compatibility_version ${TCL_MAJOR_VERSION} -current_version \${PACKAGE_VERSION} -install_name \${LIB_RUNTIME_DIR}/\${TCL_LIB_FILE} -prebind -seg1addr 0xa000000" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".dylib" DL_OBJS="tclLoadDyld.o" DL_LIBS="" - LDFLAGS="-prebind" + LDFLAGS="$LDFLAGS -prebind -Wl,-search_paths_first" LD_SEARCH_FLAGS="" LD_LIBRARY_PATH_VAR="DYLD_LIBRARY_PATH" - CFLAGS_OPTIMIZE="-O3" - EXTRA_CFLAGS="-arch ppc -pipe" + CFLAGS_OPTIMIZE="-Os" ;; NEXTSTEP-*) SHLIB_CFLAGS="" @@ -9339,7 +9029,6 @@ SHLIB_SUFFIX=".so" DL_OBJS="tclLoadNext.o" DL_LIBS="" - LDFLAGS="" LD_SEARCH_FLAGS="" ;; OS/390-*) @@ -9358,7 +9047,6 @@ SHLIB_SUFFIX=".so" DL_OBJS="tclLoadOSF.o" DL_LIBS="" - LDFLAGS="" LD_SEARCH_FLAGS="" ;; OSF1-1.*) @@ -9373,7 +9061,6 @@ SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" - LDFLAGS="" LD_SEARCH_FLAGS="" ;; OSF1-V*) @@ -9388,21 +9075,22 @@ SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" - LDFLAGS="" LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}' - if test "$GCC" != "yes" ; then - EXTRA_CFLAGS="-DHAVE_TZSET -std1" + if test "$GCC" = "yes" ; then + CFLAGS="$CFLAGS -mieee" + else + CFLAGS="$CFLAGS -DHAVE_TZSET -std1 -ieee" fi # see pthread_intro(3) for pthread support on osf1, k.furukawa if test "${TCL_THREADS}" = "1" ; then - EXTRA_CFLAGS="${EXTRA_CFLAGS} -DHAVE_PTHREAD_ATTR_SETSTACKSIZE" - EXTRA_CFLAGS="${EXTRA_CFLAGS} -DTCL_THREAD_STACK_MIN=PTHREAD_STACK_MIN*64" + CFLAGS="$CFLAGS -DHAVE_PTHREAD_ATTR_SETSTACKSIZE" + CFLAGS="$CFLAGS -DTCL_THREAD_STACK_MIN=PTHREAD_STACK_MIN*64" LIBS=`echo $LIBS | sed s/-lpthreads//` if test "$GCC" = "yes" ; then LIBS="$LIBS -lpthread -lmach -lexc" else - EXTRA_CFLAGS="${EXTRA_CFLAGS} -pthread" - LDFLAGS="-pthread" + CFLAGS="$CFLAGS -pthread" + LDFLAGS="$LDFLAGS -pthread" fi fi @@ -9417,7 +9105,6 @@ DL_OBJS="tclLoadDl.o" # dlopen is in -lc on QNX DL_LIBS="" - LDFLAGS="" LD_SEARCH_FLAGS="" ;; RISCos-*) @@ -9427,7 +9114,7 @@ SHLIB_SUFFIX=".a" DL_OBJS="tclLoadAout.o" DL_LIBS="" - LDFLAGS="-Wl,-D,08000000" + LDFLAGS="$LDFLAGS -Wl,-D,08000000" LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' ;; SCO_SV-3.2*) @@ -9436,10 +9123,10 @@ # below. if test "$GCC" = "yes" ; then SHLIB_CFLAGS="-fPIC -melf" - LDFLAGS="-melf -Wl,-Bexport" + LDFLAGS="$LDFLAGS -melf -Wl,-Bexport" else SHLIB_CFLAGS="-Kpic -belf" - LDFLAGS="-belf -Wl,-Bexport" + LDFLAGS="$LDFLAGS -belf -Wl,-Bexport" fi SHLIB_LD="ld -G" SHLIB_LD_LIBS="" @@ -9455,7 +9142,6 @@ SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" - LDFLAGS="" LD_SEARCH_FLAGS="" ;; SunOS-4*) @@ -9465,16 +9151,15 @@ SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" - LDFLAGS="" LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' # SunOS can't handle version numbers with dots in them in library # specs, like -ltcl7.5, so use -ltcl75 instead. Also, it # requires an extra version number at the end of .so file names. # So, the library has to have a name like libtcl75.so.1.0 - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0' - UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a' + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' TCL_LIB_VERSIONS_OK=nodots ;; SunOS-5.[0-6]*) @@ -9500,7 +9185,6 @@ SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" - LDFLAGS="" if test "$GCC" = "yes" ; then SHLIB_LD="$CC -shared" LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}' @@ -9524,23 +9208,29 @@ SHLIB_CFLAGS="-KPIC" - LDFLAGS="" # Check to enable 64-bit flags for compiler/linker if test "$do64bit" = "yes" ; then arch=`isainfo` if test "$arch" = "sparcv9 sparc" ; then if test "$GCC" = "yes" ; then - { echo "$as_me:$LINENO: WARNING: \"64bit mode not supported with GCC on $system\"" >&5 -echo "$as_me: WARNING: \"64bit mode not supported with GCC on $system\"" >&2;} + if test "`gcc -dumpversion` | awk -F. '{print }'" -lt "3" ; then + { echo "$as_me:$LINENO: WARNING: 64bit mode not supported with GCC < 3.2 on $system" >&5 +echo "$as_me: WARNING: 64bit mode not supported with GCC < 3.2 on $system" >&2;} + else + do64bit_ok=yes + CFLAGS="$CFLAGS -m64 -mcpu=v9" + LDFLAGS="$LDFLAGS -m64 -mcpu=v9" + SHLIB_CFLAGS="-fPIC" + fi else do64bit_ok=yes if test "$do64bitVIS" = "yes" ; then - EXTRA_CFLAGS="-xarch=v9a" - LDFLAGS="-xarch=v9a" + CFLAGS="$CFLAGS -xarch=v9a" + LDFLAGS="$LDFLAGS -xarch=v9a" else - EXTRA_CFLAGS="-xarch=v9" - LDFLAGS="-xarch=v9" + CFLAGS="$CFLAGS -xarch=v9" + LDFLAGS="$LDFLAGS -xarch=v9" fi fi else @@ -9559,6 +9249,17 @@ if test "$GCC" = "yes" ; then SHLIB_LD="$CC -shared" LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}' + if test "$do64bit" = "yes" ; then + # We need to specify -static-libgcc or we need to + # add the path to the sparv9 libgcc. + # JH: static-libgcc is necessary for core Tcl, but may + # not be necessary for extensions. + SHLIB_LD="$SHLIB_LD -m64 -mcpu=v9 -static-libgcc" + # for finding sparcv9 libgcc, get the regular libgcc + # path, remove so name and append 'sparcv9' + #v9gcclibdir="`gcc -print-file-name=libgcc_s.so` | ..." + #LD_SEARCH_FLAGS="${LD_SEARCH_FLAGS},-R,$v9gcclibdir" + fi else SHLIB_LD="/usr/ccs/bin/ld -G -z text" LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}' @@ -9571,10 +9272,10 @@ SHLIB_LD_LIBS='${LIBS}' DL_OBJS="tclLoadAout.o" DL_LIBS="" - LDFLAGS="-Wl,-D,08000000" + LDFLAGS="$LDFLAGS -Wl,-D,08000000" LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' if test "$GCC" != "yes" ; then - EXTRA_CFLAGS="-DHAVE_TZSET -std1" + CFLAGS="$CFLAGS -DHAVE_TZSET -std1" fi ;; UNIX_SV* | UnixWare-5*) @@ -9589,7 +9290,7 @@ hold_ldflags=$LDFLAGS echo "$as_me:$LINENO: checking for ld accepts -Bexport flag" >&5 echo $ECHO_N "checking for ld accepts -Bexport flag... $ECHO_C" >&6 - LDFLAGS="${LDFLAGS} -Wl,-Bexport" + LDFLAGS="$LDFLAGS -Wl,-Bexport" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -9632,18 +9333,12 @@ echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -found=no +LDFLAGS=$hold_ldflags found=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$hold_ldflags echo "$as_me:$LINENO: result: $found" >&5 echo "${ECHO_T}$found" >&6 - if test $found = yes; then - LDFLAGS="-Wl,-Bexport" - else - LDFLAGS="" - fi LD_SEARCH_FLAGS="" ;; esac @@ -9900,7 +9595,7 @@ SHLIB_SUFFIX="" DL_OBJS="tclLoadNone.o" DL_LIBS="" - LDFLAGS="" + LDFLAGS="$LDFLAGS_ORIG" LD_SEARCH_FLAGS="" BUILD_DLTEST="" fi @@ -9920,7 +9615,7 @@ ;; NetBSD-*|FreeBSD-*) ;; - Rhapsody-*|Darwin-*) + Darwin-*) ;; RISCos-*) ;; @@ -9938,10 +9633,10 @@ fi if test "$SHARED_LIB_SUFFIX" = "" ; then - SHARED_LIB_SUFFIX='${PACKAGE_VERSION}\$\{DBGX\}${SHLIB_SUFFIX}' + SHARED_LIB_SUFFIX='${PACKAGE_VERSION}${SHLIB_SUFFIX}' fi if test "$UNSHARED_LIB_SUFFIX" = "" ; then - UNSHARED_LIB_SUFFIX='${PACKAGE_VERSION}\$\{DBGX\}.a' + UNSHARED_LIB_SUFFIX='${PACKAGE_VERSION}.a' fi @@ -9957,9 +9652,547 @@ + # These must be called after we do the basic CFLAGS checks and + # verify any possible 64-bit or similar switches are necessary + echo "$as_me:$LINENO: checking for required early compiler flags" >&5 +echo $ECHO_N "checking for required early compiler flags... $ECHO_C" >&6 + tcl_flags="" + if test "${tcl_cv_flag__isoc99_source+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +char *p = (char *)strtoll; char *q = (char *)strtoull; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + tcl_cv_flag__isoc99_source=no +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _ISOC99_SOURCE 1 +#include +int +main () +{ +char *p = (char *)strtoll; char *q = (char *)strtoull; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + tcl_cv_flag__isoc99_source=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +tcl_cv_flag__isoc99_source=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi + + if test "x${tcl_cv_flag__isoc99_source}" = "xyes" ; then + cat >>confdefs.h <<\_ACEOF +#define _ISOC99_SOURCE 1 +_ACEOF + + tcl_flags="$tcl_flags _ISOC99_SOURCE" + fi + + + if test "${tcl_cv_flag__largefile64_source+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +struct stat64 buf; int i = stat64("/", &buf); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + tcl_cv_flag__largefile64_source=no +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _LARGEFILE64_SOURCE 1 +#include +int +main () +{ +struct stat64 buf; int i = stat64("/", &buf); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + tcl_cv_flag__largefile64_source=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +tcl_cv_flag__largefile64_source=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi + + if test "x${tcl_cv_flag__largefile64_source}" = "xyes" ; then + cat >>confdefs.h <<\_ACEOF +#define _LARGEFILE64_SOURCE 1 +_ACEOF + + tcl_flags="$tcl_flags _LARGEFILE64_SOURCE" + fi + + if test "x${tcl_flags}" = "x" ; then + echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6 + else + echo "$as_me:$LINENO: result: ${tcl_flags}" >&5 +echo "${ECHO_T}${tcl_flags}" >&6 + fi + + + echo "$as_me:$LINENO: checking for 64-bit integer type" >&5 +echo $ECHO_N "checking for 64-bit integer type... $ECHO_C" >&6 + if test "${tcl_cv_type_64bit+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + tcl_cv_type_64bit=none + # See if the compiler knows natively about __int64 + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +__int64 value = (__int64) 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + tcl_type_64bit=__int64 +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +tcl_type_64bit="long long" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + # See if we should use long anyway Note that we substitute in the + # type that is our current guess for a 64-bit type inside this check + # program, so it should be modified only carefully... + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +switch (0) { + case 1: case (sizeof(${tcl_type_64bit})==sizeof(long)): ; + } + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + tcl_cv_type_64bit=${tcl_type_64bit} +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi + + if test "${tcl_cv_type_64bit}" = none ; then + cat >>confdefs.h <<\_ACEOF +#define TCL_WIDE_INT_IS_LONG 1 +_ACEOF + + echo "$as_me:$LINENO: result: using long" >&5 +echo "${ECHO_T}using long" >&6 + elif test "${tcl_cv_type_64bit}" = "__int64" \ + -a "${TEA_PLATFORM}" = "windows" ; then + # We actually want to use the default tcl.h checks in this + # case to handle both TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER* + echo "$as_me:$LINENO: result: using Tcl header defaults" >&5 +echo "${ECHO_T}using Tcl header defaults" >&6 + else + cat >>confdefs.h <<_ACEOF +#define TCL_WIDE_INT_TYPE ${tcl_cv_type_64bit} +_ACEOF + + echo "$as_me:$LINENO: result: ${tcl_cv_type_64bit}" >&5 +echo "${ECHO_T}${tcl_cv_type_64bit}" >&6 + + # Now check for auxiliary declarations + echo "$as_me:$LINENO: checking for struct dirent64" >&5 +echo $ECHO_N "checking for struct dirent64... $ECHO_C" >&6 + if test "${tcl_cv_struct_dirent64+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +struct dirent64 p; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + tcl_cv_struct_dirent64=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +tcl_cv_struct_dirent64=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi + + if test "x${tcl_cv_struct_dirent64}" = "xyes" ; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_STRUCT_DIRENT64 1 +_ACEOF + + fi + echo "$as_me:$LINENO: result: ${tcl_cv_struct_dirent64}" >&5 +echo "${ECHO_T}${tcl_cv_struct_dirent64}" >&6 + + echo "$as_me:$LINENO: checking for struct stat64" >&5 +echo $ECHO_N "checking for struct stat64... $ECHO_C" >&6 + if test "${tcl_cv_struct_stat64+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +struct stat64 p; + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + tcl_cv_struct_stat64=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +tcl_cv_struct_stat64=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi + + if test "x${tcl_cv_struct_stat64}" = "xyes" ; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_STRUCT_STAT64 1 +_ACEOF + + fi + echo "$as_me:$LINENO: result: ${tcl_cv_struct_stat64}" >&5 +echo "${ECHO_T}${tcl_cv_struct_stat64}" >&6 + + echo "$as_me:$LINENO: checking for off64_t" >&5 +echo $ECHO_N "checking for off64_t... $ECHO_C" >&6 + if test "${tcl_cv_type_off64_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +off64_t offset; + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + tcl_cv_type_off64_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +tcl_cv_type_off64_t=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi + + if test "x${tcl_cv_type_off64_t}" = "xyes" ; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_TYPE_OFF64_T 1 +_ACEOF + + fi + echo "$as_me:$LINENO: result: ${tcl_cv_type_off64_t}" >&5 +echo "${ECHO_T}${tcl_cv_type_off64_t}" >&6 + fi + + + # Without the following two eval statements, XOTCL_SHARED_LIB_SUFFIX # in xotclConfig.sh has $PACKAGE_VERSION unresolved. When another # app links against xotcl, the PACKAGE_VERSIONs are confused. @@ -9988,11 +10221,7 @@ - if test "${TEA_PLATFORM}" = "windows" ; then - tcl_dbgx=d - else - tcl_dbgx=g - fi + DBGX="" echo "$as_me:$LINENO: checking for build with symbols" >&5 echo $ECHO_N "checking for build with symbols... $ECHO_C" >&6 @@ -10006,15 +10235,11 @@ if test "$tcl_ok" = "no"; then CFLAGS_DEFAULT="${CFLAGS_OPTIMIZE}" LDFLAGS_DEFAULT="${LDFLAGS_OPTIMIZE}" - DBGX="" - TCL_DBGX="" echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 else CFLAGS_DEFAULT="${CFLAGS_DEBUG}" LDFLAGS_DEFAULT="${LDFLAGS_DEBUG}" - DBGX=${tcl_dbgx} - TCL_DBGX=${tcl_dbgx} if test "$tcl_ok" = "yes"; then echo "$as_me:$LINENO: result: yes (standard debugging)" >&5 echo "${ECHO_T}yes (standard debugging)" >&6 @@ -10074,11 +10299,11 @@ if test "${TEA_PLATFORM}" = "windows" -a "$GCC" != "yes"; then MAKE_STATIC_LIB="\${STLIB_LD} -out:\$@ \$(PKG_OBJECTS)" - MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LD_FLAGS} \${SHLIB_LD_LIBS} \${LDFLAGS_DEFAULT} -out:\$@ \$(PKG_OBJECTS)" + MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LD_LIBS} \${LDFLAGS_DEFAULT} -out:\$@ \$(PKG_OBJECTS)" MAKE_STUB_LIB="\${STLIB_LD} -out:\$@ \$(PKG_STUB_OBJECTS)" else MAKE_STATIC_LIB="\${STLIB_LD} \$@ \$(PKG_OBJECTS)" - MAKE_SHARED_LIB="\${SHLIB_LD} -o \$@ \$(PKG_OBJECTS) \${SHLIB_LD_FLAGS} \${SHLIB_LD_LIBS}" + MAKE_SHARED_LIB="\${SHLIB_LD} -o \$@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS}" MAKE_STUB_LIB="\${STLIB_LD} \$@ \$(PKG_STUB_OBJECTS)" fi @@ -10090,11 +10315,10 @@ #-------------------------------------------------------------------- # Shared libraries and static libraries have different names. - # Use the double eval to make sure the ${DBGX} in the suffix is - # substituted. + # Use the double eval to make sure any variables in the suffix is + # substituted. (@@@ Might not be necessary anymore) #-------------------------------------------------------------------- - RANLIB_STUB="${RANLIB}" if test "${TEA_PLATFORM}" = "windows" ; then if test "${SHARED_BUILD}" = "1" ; then # We force the unresolved linking of symbols that are really in @@ -10104,13 +10328,16 @@ SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TK_BIN_DIR}/${TK_STUB_LIB_FILE}`\"" fi eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${SHARED_LIB_SUFFIX}" - RANLIB=: else eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}" fi # Some packages build there own stubs libraries eval eval "PKG_STUB_LIB_FILE=${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" + # These aren't needed on Windows (either MSVC or gcc) + RANLIB=: + RANLIB_STUB=: else + RANLIB_STUB="${RANLIB}" if test "${SHARED_BUILD}" = "1" ; then SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TCL_STUB_LIB_SPEC}" if test x"${TK_BIN_DIR}" != x ; then @@ -10148,19 +10375,21 @@ #-------------------------------------------------------------------- - echo "$as_me:$LINENO: checking for tclsh" >&5 + # Allow the user to provide this setting in the env + if test "x${TCLSH_PROG}" = "x" ; then + echo "$as_me:$LINENO: checking for tclsh" >&5 echo $ECHO_N "checking for tclsh... $ECHO_C" >&6 - if test "${ac_cv_path_tclsh+set}" = set; then + if test "${ac_cv_path_tclsh+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test "x${CELIB_DIR}" != "x" ; then - # If CELIB_DIR is defined, assume Windows/CE target is requested - # which means target tclsh cannot be run (cross-compile) - search_path=`echo ${PATH} | sed -e 's/:/ /g'` - else - search_path=`echo ${TCL_BIN_DIR}:${TCL_BIN_DIR}/../bin:${exec_prefix}/bin:${prefix}/bin:${PATH} | sed -e 's/:/ /g'` + search_path=`echo ${PATH} | sed -e 's/:/ /g'` + if test "${TEA_PLATFORM}" != "windows" -o \ + \( "$do64bit_ok" = "no" -a "$doWince" = "no" \) ; then + # Do not allow target tclsh in known cross-compile builds, + # as we need one we can run on this system + search_path="${TCL_BIN_DIR} ${TCL_BIN_DIR}/../bin ${exec_prefix}/bin ${prefix}/bin ${search_path}" fi for dir in $search_path ; do for j in `ls -r $dir/tclsh[8-9]*${EXEEXT} 2> /dev/null` \ @@ -10177,14 +10406,15 @@ fi - if test -f "$ac_cv_path_tclsh" ; then - TCLSH_PROG=$ac_cv_path_tclsh - echo "$as_me:$LINENO: result: $TCLSH_PROG" >&5 + if test -f "$ac_cv_path_tclsh" ; then + TCLSH_PROG=$ac_cv_path_tclsh + echo "$as_me:$LINENO: result: $TCLSH_PROG" >&5 echo "${ECHO_T}$TCLSH_PROG" >&6 - else - { { echo "$as_me:$LINENO: error: No tclsh found in PATH: $search_path" >&5 -echo "$as_me: error: No tclsh found in PATH: $search_path" >&2;} + else + { { echo "$as_me:$LINENO: error: No tclsh found in PATH: $search_path" >&5 +echo "$as_me: error: No tclsh found in PATH: $search_path" >&2;} { (exit 1); exit 1; }; } + fi fi @@ -10676,7 +10906,7 @@ } >&5 cat >&5 <<_CSEOF -This file was extended by xotcl $as_me 1.3.5, which was +This file was extended by xotcl $as_me 1.3.7, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -10731,7 +10961,7 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -xotcl config.status 1.3.5 +xotcl config.status 1.3.7 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" @@ -10994,16 +11224,16 @@ s,@TCL_THREADS@,$TCL_THREADS,;t t s,@SHARED_BUILD@,$SHARED_BUILD,;t t s,@AR@,$AR,;t t +s,@TCLSH_PROG@,$TCLSH_PROG,;t t +s,@CELIB_DIR@,$CELIB_DIR,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@DL_LIBS@,$DL_LIBS,;t t s,@CFLAGS_DEBUG@,$CFLAGS_DEBUG,;t t s,@CFLAGS_OPTIMIZE@,$CFLAGS_OPTIMIZE,;t t s,@CFLAGS_WARNING@,$CFLAGS_WARNING,;t t -s,@EXTRA_CFLAGS@,$EXTRA_CFLAGS,;t t s,@STLIB_LD@,$STLIB_LD,;t t s,@SHLIB_LD@,$SHLIB_LD,;t t s,@SHLIB_CFLAGS@,$SHLIB_CFLAGS,;t t -s,@SHLIB_LD_FLAGS@,$SHLIB_LD_FLAGS,;t t s,@SHLIB_LD_LIBS@,$SHLIB_LD_LIBS,;t t s,@LDFLAGS_DEBUG@,$LDFLAGS_DEBUG,;t t s,@LDFLAGS_OPTIMIZE@,$LDFLAGS_OPTIMIZE,;t t @@ -11016,7 +11246,6 @@ s,@MAKE_STATIC_LIB@,$MAKE_STATIC_LIB,;t t s,@MAKE_STUB_LIB@,$MAKE_STUB_LIB,;t t s,@RANLIB_STUB@,$RANLIB_STUB,;t t -s,@TCLSH_PROG@,$TCLSH_PROG,;t t s,@XOTCL_COMPATIBLE_TCLSH@,$XOTCL_COMPATIBLE_TCLSH,;t t s,@PKG_DIR@,$PKG_DIR,;t t s,@pkgdatadir@,$pkgdatadir,;t t @@ -11330,3 +11559,7 @@ + + + + Index: xotcl/configure.in =================================================================== diff -u -r0896d4deb00780e48b5b03269bf9c4ecca948919 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/configure.in (.../configure.in) (revision 0896d4deb00780e48b5b03269bf9c4ecca948919) +++ xotcl/configure.in (.../configure.in) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -11,15 +11,15 @@ # for this package, and can be a relative path, such as: # #-------------------------------------------------------------------- -define(XOTclVersion, 1.3.5) +define(XOTclVersion, 1.3.7) AC_INIT([xotcl], [XOTclVersion]) #-------------------------------------------------------------------- # Call TEA_INIT as the first TEA_ macro to set up initial vars. # This will define a ${TEA_PLATFORM} variable == "unix" or "windows". #-------------------------------------------------------------------- -TEA_INIT([3.0]) +TEA_INIT([3.2]) AC_CONFIG_AUX_DIR(config) #-------------------------------------------------------------------- @@ -104,7 +104,7 @@ # do not modify the following lines manually, they are generated with changeXOTclVersion XOTCL_MAJOR_VERSION=1 XOTCL_MINOR_VERSION=3 -XOTCL_RELEASE_LEVEL=.5 +XOTCL_RELEASE_LEVEL=.7 XOTCL_VERSION=${XOTCL_MAJOR_VERSION}.${XOTCL_MINOR_VERSION} NODOT_VERSION=${XOTCL_MAJOR_VERSION}${XOTCL_MINOR_VERSION} @@ -454,3 +454,7 @@ + + + + Index: xotcl/doc/index.html =================================================================== diff -u -rae1fe95f685e06aa89b09e196cf421ce9ded5891 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/doc/index.html (.../index.html) (revision ae1fe95f685e06aa89b09e196cf421ce9ded5891) +++ xotcl/doc/index.html (.../index.html) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -22,7 +22,7 @@

Index: xotcl/doc/langRef-xotcl.pdf =================================================================== diff -u -r8378485a74867cfbd1bbc4d6d0fd1b2919f205c3 -rad8a63234e44a8788efede276e811051ab891fbe Binary files differ Index: xotcl/doc/langRef.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/doc/langRef.xotcl (.../langRef.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/doc/langRef.xotcl (.../langRef.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: langRef.xotcl,v 1.8 2005/09/09 21:07:23 neumann Exp $ +# $Id: langRef.xotcl,v 1.9 2005/09/09 21:09:01 neumann Exp $ package provide XOTcl-langRef 1.3.6 package require Tcl @@ -69,7 +69,7 @@ <@/p> } - date { $Date: 2005/09/09 21:07:23 $ } + date { $Date: 2005/09/09 21:09:01 $ } } ## Index: xotcl/doc/tutorial.html =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/doc/tutorial.html (.../tutorial.html) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/doc/tutorial.html (.../tutorial.html) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,5 +1,5 @@ - + XOTcl - Tutorial Index: xotcl/doc/tutorial.pdf =================================================================== diff -u -r8378485a74867cfbd1bbc4d6d0fd1b2919f205c3 -rad8a63234e44a8788efede276e811051ab891fbe Binary files differ Index: xotcl/doc/xo-daemon.html =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/doc/xo-daemon.html (.../xo-daemon.html) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/doc/xo-daemon.html (.../xo-daemon.html) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -76,7 +76,7 @@ Date: - [::xotcl::rcs date {$Date: 2005/09/09 21:07:23 $}] + [::xotcl::rcs date {$Date: 2005/09/09 21:09:01 $}] Index: xotcl/doc/xo-whichPkg.html =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/doc/xo-whichPkg.html (.../xo-whichPkg.html) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/doc/xo-whichPkg.html (.../xo-whichPkg.html) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -50,7 +50,7 @@ Date: - [::xotcl::rcs date {$Date: 2005/09/09 21:07:23 $}] + [::xotcl::rcs date {$Date: 2005/09/09 21:09:01 $}] Index: xotcl/generic/aol-xotcl.tcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/generic/aol-xotcl.tcl (.../aol-xotcl.tcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/generic/aol-xotcl.tcl (.../aol-xotcl.tcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: aol-xotcl.tcl,v 1.7 2005/09/09 21:07:23 neumann Exp $ +# $Id: aol-xotcl.tcl,v 1.8 2005/09/09 21:09:01 neumann Exp $ # # Load XOTcl library and some related packages. Index: xotcl/generic/predefined.h =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/generic/predefined.h (.../predefined.h) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/generic/predefined.h (.../predefined.h) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,5 +1,5 @@ static char cmd[] = -"# $Id: predefined.h,v 1.7 2005/09/09 21:07:23 neumann Exp $\n" +"# $Id: predefined.h,v 1.8 2005/09/09 21:09:01 neumann Exp $\n" "::xotcl::Object instproc init args {}\n" "::xotcl::Object create ::xotcl::@\n" "::xotcl::@ proc unknown args {}\n" Index: xotcl/generic/predefined.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/generic/predefined.xotcl (.../predefined.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/generic/predefined.xotcl (.../predefined.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: predefined.xotcl,v 1.6 2005/09/09 21:07:23 neumann Exp $ +# $Id: predefined.xotcl,v 1.7 2005/09/09 21:09:01 neumann Exp $ # init must exist on Object. per default it is empty. ::xotcl::Object instproc init args {} Index: xotcl/generic/xotcl.c =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/generic/xotcl.c (.../xotcl.c) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/generic/xotcl.c (.../xotcl.c) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -/* $Id: xotcl.c,v 1.37 2005/09/09 21:07:23 neumann Exp $ +/* $Id: xotcl.c,v 1.38 2005/09/09 21:09:01 neumann Exp $ * * XOTcl - Extended OTcl * Index: xotcl/generic/xotclInt.h =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/generic/xotclInt.h (.../xotclInt.h) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/generic/xotclInt.h (.../xotclInt.h) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,5 +1,5 @@ /* -*- Mode: c++ -*- - * $Id: xotclInt.h,v 1.14 2005/09/09 21:07:23 neumann Exp $ + * $Id: xotclInt.h,v 1.15 2005/09/09 21:09:01 neumann Exp $ * Extended Object Tcl (XOTcl) * * Copyright (C) 1999-2002 Gustaf Neumann, Uwe Zdun Index: xotcl/library/actiweb/Agent.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/actiweb/Agent.xotcl (.../Agent.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/actiweb/Agent.xotcl (.../Agent.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: Agent.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: Agent.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::actiweb::agent 0.8 Index: xotcl/library/actiweb/AgentManagement.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/actiweb/AgentManagement.xotcl (.../AgentManagement.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/actiweb/AgentManagement.xotcl (.../AgentManagement.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: AgentManagement.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: AgentManagement.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::actiweb::agentManagement 0.8 Index: xotcl/library/actiweb/HtmlPlace.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/actiweb/HtmlPlace.xotcl (.../HtmlPlace.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/actiweb/HtmlPlace.xotcl (.../HtmlPlace.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: HtmlPlace.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: HtmlPlace.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::actiweb::htmlPlace 0.8 Index: xotcl/library/actiweb/HttpPlace.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/actiweb/HttpPlace.xotcl (.../HttpPlace.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/actiweb/HttpPlace.xotcl (.../HttpPlace.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: HttpPlace.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: HttpPlace.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::actiweb::httpPlace 0.8 Index: xotcl/library/actiweb/Invoker.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/actiweb/Invoker.xotcl (.../Invoker.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/actiweb/Invoker.xotcl (.../Invoker.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: Invoker.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: Invoker.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::actiweb::invoker 0.8 Index: xotcl/library/actiweb/PlaceAccessControl.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/actiweb/PlaceAccessControl.xotcl (.../PlaceAccessControl.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/actiweb/PlaceAccessControl.xotcl (.../PlaceAccessControl.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: PlaceAccessControl.xotcl,v 1.3 2005/09/09 21:07:23 neumann Exp $ +# $Id: PlaceAccessControl.xotcl,v 1.4 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::actiweb::placeAccessControl 0.8 Index: xotcl/library/actiweb/SecureHtmlPlace.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/actiweb/SecureHtmlPlace.xotcl (.../SecureHtmlPlace.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/actiweb/SecureHtmlPlace.xotcl (.../SecureHtmlPlace.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: SecureHtmlPlace.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: SecureHtmlPlace.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::actiweb::secureHtmlPlace 0.8 Index: xotcl/library/actiweb/SecureHttpPlace.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/actiweb/SecureHttpPlace.xotcl (.../SecureHttpPlace.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/actiweb/SecureHttpPlace.xotcl (.../SecureHttpPlace.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: SecureHttpPlace.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: SecureHttpPlace.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::actiweb::secureHttpPlace 0.8 Index: xotcl/library/actiweb/SendStrategy.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/actiweb/SendStrategy.xotcl (.../SendStrategy.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/actiweb/SendStrategy.xotcl (.../SendStrategy.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: SendStrategy.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: SendStrategy.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::actiweb::sendStrategy 0.8 Index: xotcl/library/actiweb/UserMgt.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/actiweb/UserMgt.xotcl (.../UserMgt.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/actiweb/UserMgt.xotcl (.../UserMgt.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: UserMgt.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: UserMgt.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::actiweb::userMgt 0.8 Index: xotcl/library/actiweb/WebAgent.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/actiweb/WebAgent.xotcl (.../WebAgent.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/actiweb/WebAgent.xotcl (.../WebAgent.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: WebAgent.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: WebAgent.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::actiweb::webAgent 0.8 Index: xotcl/library/actiweb/WebDocument.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/actiweb/WebDocument.xotcl (.../WebDocument.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/actiweb/WebDocument.xotcl (.../WebDocument.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: WebDocument.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: WebDocument.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::actiweb::webDocument 0.8 Index: xotcl/library/actiweb/WebObject.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/actiweb/WebObject.xotcl (.../WebObject.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/actiweb/WebObject.xotcl (.../WebObject.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: WebObject.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: WebObject.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::actiweb::webObject 0.8 Index: xotcl/library/actiweb/pageTemplate.xotcl =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/actiweb/pageTemplate.xotcl (.../pageTemplate.xotcl) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/library/actiweb/pageTemplate.xotcl (.../pageTemplate.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -4,91 +4,100 @@ package require xotcl::actiweb::invoker package require xotcl::mixinStrategy -Class PageTemplate -superclass WebObject -PageTemplate instproc init args { - next - my mixinStrategy Send=TypedString -} +package require XOTcl -PageTemplate abstract instproc listExportedProcs args -PageTemplate abstract instproc simplePage args +namespace eval ::xotcl::actiweb::pageTemplate { + namespace import ::xotcl::* -Class PageTemplateHtml -superclass PageTemplate + Class PageTemplate -superclass WebObject + PageTemplate instproc init args { + next + my mixinStrategy ::Send=TypedString + } -PageTemplateHtml instproc init args { - my contentType text/html - next -} + PageTemplate abstract instproc listExportedProcs args + PageTemplate abstract instproc simplePage args -PageTemplateHtml instproc listExportedProcs args { - # - # place must be a Html place! - # - set place [HtmlPlace getInstance] - set c " + Class PageTemplateHtml -superclass PageTemplate + + PageTemplateHtml instproc init args { + my contentType text/html + next + } + + PageTemplateHtml instproc listExportedProcs args { + # + # place must be a Html place! + # + set place [HtmlPlace getInstance] + set c " The following options are avaiable on $n: " - foreach i [my exportedProcs] { - set href [my selfAction "[self] $i"] - set app { -

$i + foreach i [my exportedProcs] { + set href [my selfAction "[self] $i"] + set app { +

$i + } + append c [subst -nobackslashes $app] + } + return [my simplePage $place [self] $c] } - append c [subst -nobackslashes $app] - } - return [my simplePage $place [self] $c] -} -PageTemplateHtml instproc simplePage {title heading content {closing ""}} { - set place [Place getInstance] - set c { - - - $title - - -

$heading

-
-

+ PageTemplateHtml instproc simplePage {title heading content {closing ""}} { + set place [Place getInstance] + set c { + +$title + + +

$heading

+
+

- $content - -

$closing +$content + +

$closing -


- - - } - return [subst -nobackslashes -nocommands $c] +


+ + } + return [subst -nobackslashes -nocommands $c] + } -# -# builds a simple Form -- args are tupels of the form -# {text, name, type, default, size} -# -# -PageTemplateHtml instproc simpleForm {action args} { - set action [my selfAction $action] - set c { -

- - } - foreach {text name type def size} $args { - append c " + # + # builds a simple Form -- args are tupels of the form + # {text, name, type, default, size} + # + # + PageTemplateHtml instproc simpleForm {action args} { + set action [my selfAction $action] + set c { + +
+ } + foreach {text name type def size} $args { + append c " " - } - append c { - - - - -
$text:
+ } + append c { + + + + + -
- } - return [subst -nobackslashes -nocommands $c] -} \ No newline at end of file + + } + return [subst -nobackslashes -nocommands $c] + } + + namespace export PageTemplate PageTemplateHtml +} + +namespace import ::xotcl::actiweb::pageTemplate::* Index: xotcl/library/comm/Access.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/comm/Access.xotcl (.../Access.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/comm/Access.xotcl (.../Access.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# -*- tcl -*- $Id: Access.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# -*- tcl -*- $Id: Access.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ set httpAccessVersion 0.91 package provide xotcl::comm::httpAccess $httpAccessVersion Index: xotcl/library/comm/Connection.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/comm/Connection.xotcl (.../Connection.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/comm/Connection.xotcl (.../Connection.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# -*- tcl -*- $Id: Connection.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# -*- tcl -*- $Id: Connection.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::comm::connection 1.0 Index: xotcl/library/comm/Dav.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/comm/Dav.xotcl (.../Dav.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/comm/Dav.xotcl (.../Dav.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: Dav.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: Dav.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::comm::dav 0.9 Index: xotcl/library/comm/Ftp.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/comm/Ftp.xotcl (.../Ftp.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/comm/Ftp.xotcl (.../Ftp.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: Ftp.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: Ftp.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::comm::ftp 0.9 package require xotcl::comm::httpAccess Index: xotcl/library/comm/Httpd.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/comm/Httpd.xotcl (.../Httpd.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/comm/Httpd.xotcl (.../Httpd.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# -*- tcl -*- $Id: Httpd.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# -*- tcl -*- $Id: Httpd.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ # # The XOTcl class Httpd implements an HTTP/1.0 and HTTP/1.1 server with # basic functionality. Index: xotcl/library/comm/Imap.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/comm/Imap.xotcl (.../Imap.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/comm/Imap.xotcl (.../Imap.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: Imap.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: Imap.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::comm::imap 0.9 Index: xotcl/library/comm/Ldap.xotcl =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/comm/Ldap.xotcl (.../Ldap.xotcl) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/library/comm/Ldap.xotcl (.../Ldap.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,131 +1,143 @@ package provide xotcl::comm::ldap 0.9 - -requireModules { ldapOpen ldaplibGen.so } -Class Ldap -superclass NetAccess -parameter {host port dn attributes scope filter} -Ldap instproc initialize args { - my instvar port mapToC useCache - my set port 389 - my set useCache 0 - set mapToC(one) onelevel - set mapToC(sub) subtree - set mapToC(base) base - next -} -Ldap proc urlDecode string { - set toParse $string - set parsed "" - while {1} { - if {[regexp {^([^%]*)%(..)(.*)$} $toParse _ front hex toParse]} { - append parsed $front [binary format c 0x$hex] - } else { - append parsed $toParse - break +package require xotcl::wafecompat ; # Get 'requireModules'. + +package require XOTcl + +namespace eval ::xotcl::comm::ldap { + namespace import ::xotcl::* + + requireModules { ldapOpen ldaplibGen.so } + + Class Ldap -superclass NetAccess -parameter {host port dn attributes scope filter} + Ldap instproc initialize args { + my instvar port mapToC useCache + my set port 389 + my set useCache 0 + set mapToC(one) onelevel + set mapToC(sub) subtree + set mapToC(base) base + next } - } - return $parsed -} -Ldap instproc getUrlcomponents {} { - showCall - my instvar path dn attributes scope filter url - set path [Ldap urlDecode $path] - puts stderr "___ path=<$path>" - if {[regexp -nocase {^/([^?]*)(\?([^?]*)(\?([^?]*)(\?([^?]*))?)?)?$} \ - $path _ dn a attributes s scope f filter]} { - if {![string compare "" $scope]} { set scope "base" } - if {![string compare "" $filter]} { set filter "(objectClass=*)" } - } else { - set errmsg "*** Ldap Url trail=<$path> does not match!\n" - append errmsg "___ RFC 1959 says:\n" - append errmsg " ldap://:/\[?\[??\]\]\n" - append errmsg "___ Cineast and Netscape uses:\n" - append errmsg " ldap://:/\[?\[?\[?\]\]\]" - my abort "Unsupported URL: '$url' \n $errmsg" - } -} -Ldap instproc GET {} { - my instvar contentType totalsize state currentsize informObjects block - showCall - set contentType text/html - my getUrlcomponents - if {[string compare start $state]} { - puts stderr "... [self]:$proc ignoring request in state $state" - return - } - my open - my search - my body-state - set totalsize [string length $block] - set currentsize $totalsize - foreach obj $informObjects { - $obj incCb [self] $totalsize $currentsize - } - my eof -} -Ldap instproc open {} { - showCall - my instvar port host ldapHandle - set ldapHandle [ldapOpen $host $port] -} -Ldap instproc bind {} { - my instvar ldapHandle - showCall -} -Ldap instproc search {} { - showVars - my instvar url ldapHandle searchHandle dn attributes scope filter results mapToC path - set searchHandle [ldapSearch $ldapHandle $dn \ - $mapToC($scope) $filter [split $attributes ,] false results] - set nentries [ldapCountEntries $ldapHandle $searchHandle] - puts stderr "*** nentries = $nentries" - if {!$nentries} {set results ""} - my response -} -Ldap instproc getAttrs {dn} { -} -Ldap instproc makeUrl {dn} { - showCall - my instvar port host scope filter attributes - set tmpUrl ldap://$host:$port/$dn?$attributes?$scope?$filter - return "$dn" -} -Ldap instproc response {} { - showCall - my instvar block results attrsVals ldapHandle searchHandle - set block " + Ldap proc urlDecode string { + set toParse $string + set parsed "" + while {1} { + if {[regexp {^([^%]*)%(..)(.*)$} $toParse _ front hex toParse]} { + append parsed $front [binary format c 0x$hex] + } else { + append parsed $toParse + break + } + } + return $parsed + } + Ldap instproc getUrlcomponents {} { + showCall + my instvar path dn attributes scope filter url + set path [Ldap urlDecode $path] + puts stderr "___ path=<$path>" + if {[regexp -nocase {^/([^?]*)(\?([^?]*)(\?([^?]*)(\?([^?]*))?)?)?$} \ + $path _ dn a attributes s scope f filter]} { + if {![string compare "" $scope]} { set scope "base" } + if {![string compare "" $filter]} { set filter "(objectClass=*)" } + } else { + set errmsg "*** Ldap Url trail=<$path> does not match!\n" + append errmsg "___ RFC 1959 says:\n" + append errmsg " ldap://:/\[?\[??\]\]\n" + append errmsg "___ Cineast and Netscape uses:\n" + append errmsg " ldap://:/\[?\[?\[?\]\]\]" + my abort "Unsupported URL: '$url' \n $errmsg" + } + } + Ldap instproc GET {} { + my instvar contentType totalsize state currentsize informObjects block + showCall + set contentType text/html + my getUrlcomponents + if {[string compare start $state]} { + puts stderr "... [self]:$proc ignoring request in state $state" + return + } + my open + my search + my body-state + set totalsize [string length $block] + set currentsize $totalsize + foreach obj $informObjects { + $obj incCb [self] $totalsize $currentsize + } + my eof + } + Ldap instproc open {} { + showCall + my instvar port host ldapHandle + set ldapHandle [ldapOpen $host $port] + } + Ldap instproc bind {} { + my instvar ldapHandle + showCall + } + Ldap instproc search {} { + showVars + my instvar url ldapHandle searchHandle dn attributes scope filter results mapToC path + set searchHandle [ldapSearch $ldapHandle $dn \ + $mapToC($scope) $filter [split $attributes ,] false results] + set nentries [ldapCountEntries $ldapHandle $searchHandle] + puts stderr "*** nentries = $nentries" + if {!$nentries} {set results ""} + my response + } + Ldap instproc getAttrs {dn} { + } + Ldap instproc makeUrl {dn} { + showCall + my instvar port host scope filter attributes + set tmpUrl ldap://$host:$port/$dn?$attributes?$scope?$filter + return "$dn" + } + Ldap instproc response {} { + showCall + my instvar block results attrsVals ldapHandle searchHandle + set block " LDAP searching result!!

Result

\n
    \n" - foreach {resDN} $results { - append block "
  • [my makeUrl $resDN]

    \n

      \n" - ldapAttributes $ldapHandle $searchHandle $resDN attrsVals - foreach {a v} [array get attrsVals] { - append block "
    • $a = $v

      \n" + foreach {resDN} $results { + append block "

    • [my makeUrl $resDN]

      \n

        \n" + ldapAttributes $ldapHandle $searchHandle $resDN attrsVals + foreach {a v} [array get attrsVals] { + append block "
      • $a = $v

        \n" + } + append block "

      \n" + } + append block "
    \n \n" } - append block "
\n" - } - append block " \n \n" -} -# destructor: Close Connection to LDAP-Server and unbind -Ldap instproc destroy {} { - showCall - my instvar ldapHandle - if {[catch {ldapUnbind $ldapHandle} error]} { - return $error - } - my freeSearchHandle + # destructor: Close Connection to LDAP-Server and unbind + Ldap instproc destroy {} { + showCall + my instvar ldapHandle + if {[catch {ldapUnbind $ldapHandle} error]} { + return $error + } + my freeSearchHandle + } + Ldap instproc close {} { + showCall + my destroy + next + } + Ldap instproc freeSearchHandle {} { + showCall + my instvar searchHandle + if {[info exists searchHandle]} { + ldapFreeSearch $searchHandle + } + } + + namespace export Ldap } -Ldap instproc close {} { - showCall - my destroy - next -} -Ldap instproc freeSearchHandle {} { - showCall - my instvar searchHandle - if {[info exists searchHandle]} { - ldapFreeSearch $searchHandle - } -} + +namespace import ::xotcl::comm::ldap::* Index: xotcl/library/comm/Mime.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/comm/Mime.xotcl (.../Mime.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/comm/Mime.xotcl (.../Mime.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: Mime.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: Mime.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::comm::mime 0.9 Index: xotcl/library/comm/PCache.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/comm/PCache.xotcl (.../PCache.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/comm/PCache.xotcl (.../PCache.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# -*- Tcl -*- $Id: PCache.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# -*- Tcl -*- $Id: PCache.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ # Persistent Cache object, using gdbm # Configuration: Index: xotcl/library/lib/Script.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/lib/Script.xotcl (.../Script.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/lib/Script.xotcl (.../Script.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -#$Id: Script.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +#$Id: Script.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::script 0.9 package require XOTcl Index: xotcl/library/lib/changeXOTclVersion.xotcl =================================================================== diff -u -r0896d4deb00780e48b5b03269bf9c4ecca948919 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/lib/changeXOTclVersion.xotcl (.../changeXOTclVersion.xotcl) (revision 0896d4deb00780e48b5b03269bf9c4ecca948919) +++ xotcl/library/lib/changeXOTclVersion.xotcl (.../changeXOTclVersion.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -6,7 +6,7 @@ # set XOTCL_MAJOR_VERSION 1 set XOTCL_MINOR_VERSION 3 -set XOTCL_RELEASE_LEVEL .5 +set XOTCL_RELEASE_LEVEL .6 # example settings: # 1.0 Index: xotcl/library/lib/htmllib.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/lib/htmllib.xotcl (.../htmllib.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/lib/htmllib.xotcl (.../htmllib.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -## $Header: /home/neumann/cvs/xotcl/xotcl/library/lib/htmllib.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +## $Header: /home/neumann/cvs/xotcl/xotcl/library/lib/htmllib.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ # # htmllib.xotcl @@ -50,7 +50,7 @@ Antti Salonen, as@fishpool.fi } date { - $Date: 2005/09/09 21:07:23 $ + $Date: 2005/09/09 21:09:01 $ } } Index: xotcl/library/lib/metadataAnalyzer.xotcl =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/lib/metadataAnalyzer.xotcl (.../metadataAnalyzer.xotcl) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/library/lib/metadataAnalyzer.xotcl (.../metadataAnalyzer.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,493 +1,503 @@ package provide xotcl::metadataAnalyzer 0.84 +package require XOTcl -@ @File { - description { - XOTcl file analyzer for @ metadata. E.g.\ used for - doumentation with xoDoc (but in the static variant - StaticMetadataAnalyzer which uses the dynamic - variant in this file). - <@p> - Sample sample usage: - <@pre> - package require xotcl::metadataAnalyzer +namespace eval ::xotcl::metadataAnalyzer { + namespace import ::xotcl::* - # instantiate metadata analyzer object - MetadataAnalyzer @::m - # make this object be known to @ and turn @ metadata processing on - @ analyzerObj @::m - @ onOff 1 + @ @File { + description { + XOTcl file analyzer for @ metadata. E.g.\ used for + doumentation with xoDoc (but in the static variant + StaticMetadataAnalyzer which uses the dynamic + variant in this file). + <@p> + Sample sample usage: + <@pre> + package require xotcl::metadataAnalyzer - # read in some metadata tags (in sample file) & execute the file - source lib/testx.xotcl + # instantiate metadata analyzer object + MetadataAnalyzer @::m + # make this object be known to @ and turn @ metadata processing on + @ analyzerObj @::m + @ onOff 1 - # turn @ metadata processing off again - @ onOff 0 + # read in some metadata tags (in sample file) & execute the file + source lib/testx.xotcl - # print out all collected metadata - puts [@::m print] - - } -} + # turn @ metadata processing off again + @ onOff 0 -@ Class MetadataToken { - description { - Each collected metadata element is stored in a token object. - MetadataToken is superclass of token object classes. Each metadata token - has two interesting parameters: - <@p> - "properties" contains list of all described metadata properties. E.g. can - be printed with - <@pre> - foreach p [my set properties] { - if {[my exists $p]} { - append c " $p=[my set $p]\n" - } + # print out all collected metadata + puts [@::m print] + + } } - - "name" contains the method, object, ... name of the metadata element. - <@p> - All metadata token are aggregated by @. Therefore, - <@pre> - foreach mdt [@ info children] { - if {[$mdt istype MetadataToken]} {$mdt print} + + @ Class MetadataToken { + description { + Each collected metadata element is stored in a token object. + MetadataToken is superclass of token object classes. Each metadata token + has two interesting parameters: + <@p> + "properties" contains list of all described metadata properties. E.g. can + be printed with + <@pre> + foreach p [my set properties] { + if {[my exists $p]} { + append c " $p=[my set $p]\n" + } + } + + "name" contains the method, object, ... name of the metadata element. + <@p> + All metadata token are aggregated by @. Therefore, + <@pre> + foreach mdt [@ info children] { + if {[$mdt istype MetadataToken]} {$mdt print} + } + + prints all token. + + } } - - prints all token. + Class MetadataToken -parameter { + {name ""} + {properties ""} + } - } -} -Class MetadataToken -parameter { - {name ""} - {properties ""} -} + @ MetadataToken proc sortTokenList {l "token list"} { + description {Sort a token list with names. Since names are autonames, + this means order of appearance in the program.} + } + MetadataToken proc sortTokenList l { + foreach t $l { + set names([$t set name]) $t + } + set sortedNames [lsort [array names names]] + set sortedList "" + foreach n $sortedNames { + lappend sortedList $names($n) + } + return $sortedList + } -@ MetadataToken proc sortTokenList {l "token list"} { - description {Sort a token list with names. Since names are autonames, - this means order of appearance in the program.} -} -MetadataToken proc sortTokenList l { - foreach t $l { - set names([$t set name]) $t - } - set sortedNames [lsort [array names names]] - set sortedList "" - foreach n $sortedNames { - lappend sortedList $names($n) - } - return $sortedList -} + MetadataToken instproc evaluateMetadata md { + my instvar properties + foreach {p v} $md { + # only append property, if its not already there + # otherwise just overwrite the value + if {[lsearch $properties $p] == -1} { + my lappend properties $p + } + my set $p $v + } + } -MetadataToken instproc evaluateMetadata md { - my instvar properties - foreach {p v} $md { - # only append property, if its not already there - # otherwise just overwrite the value - if {[lsearch $properties $p] == -1} { - my lappend properties $p + @ MetadataToken instproc printProperties {} { + description {Print metadata properties to stdout.} } - my set $p $v - } -} + MetadataToken instproc printProperties {} { + set c "" + foreach p [my set properties] { + if {[my exists $p]} { + append c " [my capitalize $p]=[my set $p]\n" + } + } + return $c + } -@ MetadataToken instproc printProperties {} { - description {Print metadata properties to stdout.} -} -MetadataToken instproc printProperties {} { - set c "" - foreach p [my set properties] { - if {[my exists $p]} { - append c " [my capitalize $p]=[my set $p]\n" + MetadataToken instproc capitalize string { + if {$::tcl_version >= 8.3} { + string toupper $string 0 0 + } else { + return "[string toupper [string range $string 0 0]][string range $string 1 end]" + } } - } - return $c -} -MetadataToken instproc capitalize string { - if {$::tcl_version >= 8.3} { - string toupper $string 0 0 - } else { - return "[string toupper [string range $string 0 0]][string range $string 1 end]" - } -} + @ MetadataToken abstract instproc print {} { + description { + Abstract method for printing a token to stdout. + } + } + MetadataToken abstract instproc print {} -@ MetadataToken abstract instproc print {} { - description { - Abstract method for printing a token to stdout. - } -} -MetadataToken abstract instproc print {} + @ Class FileToken -superclass MetadataToken { + description { + Token for @File Metadata. + } + } + Class FileToken -superclass MetadataToken + FileToken instproc print {} { + set c "FILE=[my set name]\n" + append c [my printProperties] + return $c + } -@ Class FileToken -superclass MetadataToken { - description { - Token for @File Metadata. - } -} -Class FileToken -superclass MetadataToken -FileToken instproc print {} { - set c "FILE=[my set name]\n" - append c [my printProperties] - return $c -} + @ Class ConstraintToken -superclass MetadataToken { + description { + Token for @Constraint Metadata. + } + } + Class ConstraintToken -superclass MetadataToken + ConstraintToken instproc print {} { + set c "CONSTRAINT=[my set name]\n" + append c [my printProperties] + return $c + } -@ Class ConstraintToken -superclass MetadataToken { - description { - Token for @Constraint Metadata. - } -} -Class ConstraintToken -superclass MetadataToken -ConstraintToken instproc print {} { - set c "CONSTRAINT=[my set name]\n" - append c [my printProperties] - return $c -} + @ Class PackageToken -superclass MetadataToken { + description { + Token for Package metadata. Contains additional parameters: + "version" of the package and "type"= either "require" or "provide". -@ Class PackageToken -superclass MetadataToken { - description { - Token for Package metadata. Contains additional parameters: - "version" of the package and "type"= either "require" or "provide". + } + } + Class PackageToken -superclass MetadataToken -parameter { + {version ""} + {type ""} + } - } -} -Class PackageToken -superclass MetadataToken -parameter { - {version ""} - {type ""} -} + @ Class ObjToken -superclass MetadataToken { + description { + Token for Object metadata. Contains additional parameters: + "procList" = list of all proc token and "cl"= class name. + } + } + Class ObjToken -superclass MetadataToken -parameter { + {procList ""} + cl + } -@ Class ObjToken -superclass MetadataToken { - description { - Token for Object metadata. Contains additional parameters: - "procList" = list of all proc token and "cl"= class name. - } -} -Class ObjToken -superclass MetadataToken -parameter { - {procList ""} - cl -} + ObjToken instproc printProcs {} { + set c " PROCS:\n" + set pl [MetadataToken sortTokenList [my procList]] + if {[my istype ClassToken]} { + set pl [concat [MetadataToken sortTokenList [my instprocList]] $pl] + } + foreach p $pl { + append c " [$p set name]\n" + } + return $c + } -ObjToken instproc printProcs {} { - set c " PROCS:\n" - set pl [MetadataToken sortTokenList [my procList]] - if {[my istype ClassToken]} { - set pl [concat [MetadataToken sortTokenList [my instprocList]] $pl] - } - foreach p $pl { - append c " [$p set name]\n" - } - return $c -} + ObjToken instproc print {} { + set c "OBJECT=[my set name]\n" + if {[my exists cl]} {append c " CLASS=[my set cl]\n"} + if {[my exists heritage]} {append c " HERITAGE=[my set heritage]\n"} + append c [my printProperties] -ObjToken instproc print {} { - set c "OBJECT=[my set name]\n" - if {[my exists cl]} {append c " CLASS=[my set cl]\n"} - if {[my exists heritage]} {append c " HERITAGE=[my set heritage]\n"} - append c [my printProperties] + set pl [MetadataToken sortTokenList [my procList]] + if {[my istype ClassToken]} { + set pl [concat [MetadataToken sortTokenList [my instprocList]] $pl] + } + foreach p $pl { + append c [$p print] + } - set pl [MetadataToken sortTokenList [my procList]] - if {[my istype ClassToken]} { - set pl [concat [MetadataToken sortTokenList [my instprocList]] $pl] - } - foreach p $pl { - append c [$p print] - } + return $c + } - return $c -} + @ Class ClassToken -superclass ObjToken { + description { + Token for Class metadata. Contains additional parameters: + "instprocList" = list of all instproc token. + } + } + Class ClassToken -superclass ObjToken -parameter { + {instprocList ""} + } + ClassToken instproc print {} { + regsub "^OBJECT=" [next] "CLASS=" r + return $r + } -@ Class ClassToken -superclass ObjToken { - description { - Token for Class metadata. Contains additional parameters: - "instprocList" = list of all instproc token. - } -} -Class ClassToken -superclass ObjToken -parameter { - {instprocList ""} -} -ClassToken instproc print {} { - regsub "^OBJECT=" [next] "CLASS=" r - return $r -} + @ Class MetaClassToken -superclass ClassToken { + description { + Token for Meta-Class metadata. + } + } + Class MetaClassToken -superclass ClassToken + MetaClassToken instproc print {} { + regsub "^CLASS=" [next] "META-CLASS=" r + return $r + } -@ Class MetaClassToken -superclass ClassToken { - description { - Token for Meta-Class metadata. - } -} -Class MetaClassToken -superclass ClassToken -MetaClassToken instproc print {} { - regsub "^CLASS=" [next] "META-CLASS=" r - return $r -} + @ Class MethodToken -superclass MetadataToken { + description { + Token for Method metadata. Contains additional parameters: + "arguments" of the method, "returnValue" of the method, + "obj" name, "abstract" = 0 or 1 (whether its an abstract method or not). + } + } + Class MethodToken -superclass MetadataToken -parameter { + arguments + returnValue + obj + {abstract 0} + } -@ Class MethodToken -superclass MetadataToken { - description { - Token for Method metadata. Contains additional parameters: - "arguments" of the method, "returnValue" of the method, - "obj" name, "abstract" = 0 or 1 (whether its an abstract method or not). - } -} -Class MethodToken -superclass MetadataToken -parameter { - arguments - returnValue - obj - {abstract 0} -} + # Prints out method information + MethodToken instproc print {} { + set c " METHOD=[my set name], ARGUMENTS= " -# Prints out method information -MethodToken instproc print {} { - set c " METHOD=[my set name], ARGUMENTS= " + if {[my exists arguments]} { + foreach {arg argDescription} [my set arguments] { + # ignore argDescription and default values + if {[llength $arg] > 1} {set arg [lindex $arg 0]} + append c $arg " " + } + } + append c "\n [my printProperties]" + return $c + } - if {[my exists arguments]} { - foreach {arg argDescription} [my set arguments] { - # ignore argDescription and default values - if {[llength $arg] > 1} {set arg [lindex $arg 0]} - append c $arg " " + @ Class ProcToken -superclass MethodToken { + description { + Token for Proc metadata + } } - } - append c "\n [my printProperties]" - return $c -} + Class ProcToken -superclass MethodToken + ProcToken instproc print {} { + regsub "^ METHOD=" [next] " PROC=" r + return $r + } -@ Class ProcToken -superclass MethodToken { - description { - Token for Proc metadata - } -} -Class ProcToken -superclass MethodToken -ProcToken instproc print {} { - regsub "^ METHOD=" [next] " PROC=" r - return $r -} + @ Class InstprocToken -superclass MethodToken { + description { + Token for Instproc metadata. + } + } + Class InstprocToken -superclass MethodToken + InstprocToken instproc print {} { + regsub "^ METHOD=" [next] " INSTPROC=" r + return $r + } -@ Class InstprocToken -superclass MethodToken { - description { - Token for Instproc metadata. - } -} -Class InstprocToken -superclass MethodToken -InstprocToken instproc print {} { - regsub "^ METHOD=" [next] " INSTPROC=" r - return $r -} + @ Class MetadataAnalyzer { + description "Handler class for building a metadata runtime structure" + } -@ Class MetadataAnalyzer { - description "Handler class for building a metadata runtime structure" -} + Class MetadataAnalyzer -parameter { + {objList ""} + {packageList ""} + {knownMetaclasses "Class"} + {ns ""} + fileToken + {constraintList ""} + } -Class MetadataAnalyzer -parameter { - {objList ""} - {packageList ""} - {knownMetaclasses "Class"} - {ns ""} - fileToken - {constraintList ""} -} + MetadataAnalyzer instproc init args { + next + } -MetadataAnalyzer instproc init args { - next -} + MetadataAnalyzer instproc handleMethod {obj type name {argList ""} {doc ""}} { + #puts stderr "+++Method $type $name $argList $doc" + set procClass ProcToken + set objCl ObjToken + if {$type == "instproc"} { + set procCl InstprocToken + set objCl ClassToken + } + set t [$procClass create [my autoname ::xotcl::@::t]] + + set n [$t set name [string trimleft $name :]] + $t set obj $obj -MetadataAnalyzer instproc handleMethod {obj type name {argList ""} {doc ""}} { - #puts stderr "+++Method $type $name $argList $doc" - set procClass ProcToken - set objCl ObjToken - if {$type == "instproc"} { - set procCl InstprocToken - set objCl ClassToken - } - set t [$procClass create [my autoname ::xotcl::@::t]] - - set n [$t set name [string trimleft $name :]] - $t set obj $obj + set objFound 0 + foreach o [my set objList] { + if {[$o set name] == $obj} { + set objFound 1 + if {$type == "instproc" && ![$o istype ClassToken]} { + $o class ClassToken + } + break + } + } + if {$objFound == 0} { + set o [$objCl create [my autoname ::xotcl::@::t]] + $o set name $obj + my lappend objList $o + } + $o lappend ${type}List $t - set objFound 0 - foreach o [my set objList] { - if {[$o set name] == $obj} { - set objFound 1 - if {$type == "instproc" && ![$o istype ClassToken]} { - $o class ClassToken - } - break + $t set arguments $argList + + $t evaluateMetadata $doc + return $t } - } - if {$objFound == 0} { - set o [$objCl create [my autoname ::xotcl::@::t]] - $o set name $obj - my lappend objList $o - } - $o lappend ${type}List $t - $t set arguments $argList + MetadataAnalyzer instproc handleObj {class name args} { + my instvar knownMetaclasses objList extensions + set objCl ObjToken + if {[lsearch $class $knownMetaclasses] != -1} { + set objCl ClassToken + } + # if an instproc/proc has created an entry for this obj/class + # -> use it and overwrite it with new info + if {[set idx [lsearch $name $objList]] != -1} { + set t [lindex $objList $idx] + $t class $objCl + } else { + set t [$objCl create [my autoname ::xotcl::@::t]] + my lappend objList $t + } - $t evaluateMetadata $doc - return $t -} + $t set name $name -MetadataAnalyzer instproc handleObj {class name args} { - my instvar knownMetaclasses objList extensions - set objCl ObjToken - if {[lsearch $class $knownMetaclasses] != -1} { - set objCl ClassToken - } - # if an instproc/proc has created an entry for this obj/class - # -> use it and overwrite it with new info - if {[set idx [lsearch $name $objList]] != -1} { - set t [lindex $objList $idx] - $t class $objCl - } else { - set t [$objCl create [my autoname ::xotcl::@::t]] - my lappend objList $t - } + set la [llength $args] - $t set name $name + # evaluate -superclass argument + if {($la == 3 || $la == 2) && [lindex $args 0] == "-superclass"} { + set heritage [$t set heritage [lindex $args 1]] + foreach h $heritage { + if {[lsearch $h $knownMetaclasses] != -1} { + # A new metaclass was defined + lappend knownMetaclasses $name + $t class MetaClassToken + } + } + } - set la [llength $args] + # evaluate documentation + set doc "" + if {$la == 1} { + set doc [lindex $args 0] + } elseif {$la == 3} { + set doc [lindex $args 2] + } + $t evaluateMetadata $doc + $t set cl $class - # evaluate -superclass argument - if {($la == 3 || $la == 2) && [lindex $args 0] == "-superclass"} { - set heritage [$t set heritage [lindex $args 1]] - foreach h $heritage { - if {[lsearch $h $knownMetaclasses] != -1} { - # A new metaclass was defined - lappend knownMetaclasses $name - $t class MetaClassToken - } + #puts stderr "+++Obj $name $args" } - } - # evaluate documentation - set doc "" - if {$la == 1} { - set doc [lindex $args 0] - } elseif {$la == 3} { - set doc [lindex $args 2] - } - $t evaluateMetadata $doc - $t set cl $class + MetadataAnalyzer instproc handleFile doc { + if {[my exists fileToken]} { + [my set fileToken] evaluateMetadata $doc + } + } - #puts stderr "+++Obj $name $args" -} + MetadataAnalyzer instproc handleConstraint {constraint name args} { + set t [ConstraintToken create [my autoname ::xotcl::@::t]] + my lappend constraintList $t + $t set name $name + set doc [lindex $args 0] + $t evaluateMetadata $doc + } -MetadataAnalyzer instproc handleFile doc { - if {[my exists fileToken]} { - [my set fileToken] evaluateMetadata $doc - } -} - -MetadataAnalyzer instproc handleConstraint {constraint name args} { - set t [ConstraintToken create [my autoname ::xotcl::@::t]] - my lappend constraintList $t - $t set name $name - set doc [lindex $args 0] - $t evaluateMetadata $doc -} - -MetadataAnalyzer instproc handlePackage args { - #puts "$args" - if {[llength $args] > 2} { - set type [lindex $args 1] - if {$type == "provide" || $type == "require"} { - set t [PackageToken create [my autoname ::xotcl::@::t]] - my lappend packageList $t - $t set name [lindex $args 2] - $t set type $type - if {[llength $args] > 3} { - $t set version [lindex $args 3] - } + MetadataAnalyzer instproc handlePackage args { + #puts "$args" + if {[llength $args] > 2} { + set type [lindex $args 1] + if {$type == "provide" || $type == "require"} { + set t [PackageToken create [my autoname ::xotcl::@::t]] + my lappend packageList $t + $t set name [lindex $args 2] + $t set type $type + if {[llength $args] > 3} { + $t set version [lindex $args 3] + } + } + } } - } -} -@ MetadataAnalyzer instproc print {} { - description "Print all collected token information to stdout. + @ MetadataAnalyzer instproc print {} { + description "Print all collected token information to stdout. This method is also an exmaple how the tokens can be used." -} -MetadataAnalyzer instproc print {} { - my instvar extensions packageList - set c "" - if {[llength $packageList] > 0} { - append c "PACKAGES:" - foreach t $packageList { - if {[$t type] == "provide"} { - append c " Package provided: [$t name] [$t version]\n" - } elseif {[$t type] == "require"} { - append c " Package required: [$t name] [$t version]\n" - } } - } + MetadataAnalyzer instproc print {} { + my instvar extensions packageList + set c "" + if {[llength $packageList] > 0} { + append c "PACKAGES:" + foreach t $packageList { + if {[$t type] == "provide"} { + append c " Package provided: [$t name] [$t version]\n" + } elseif {[$t type] == "require"} { + append c " Package required: [$t name] [$t version]\n" + } + } + } - if {[my exists fileToken]} { - append c [[my set fileToken] print] - } + if {[my exists fileToken]} { + append c [[my set fileToken] print] + } - if {[my exists constraintToken]} { - append c [[my set constraintToken] print] - } + if {[my exists constraintToken]} { + append c [[my set constraintToken] print] + } - if {[info exists extensions]} { - # Add list of extensions. - foreach extension $extensions { - append c "\nExtensions: [$extension name], " \ - "Description: [$extension description]" - } - } + if {[info exists extensions]} { + # Add list of extensions. + foreach extension $extensions { + append c "\nExtensions: [$extension name], " \ + "Description: [$extension description]" + } + } - set objList [MetadataToken sortTokenList [my objList]] + set objList [MetadataToken sortTokenList [my objList]] - if {[llength $objList]>0} { - foreach obj $objList {append c [$obj print]} - } - return $c -} + if {[llength $objList]>0} { + foreach obj $objList {append c [$obj print]} + } + return $c + } -@ Class AnalyzerCmd { - description {Class that overload the unknown mechanism of @ to provide metadata analysis.} -} -Class AnalyzerCmd -parameter { - {analyzerObj ""} - {onOff 0} -} -AnalyzerCmd instproc unknown args { - my instvar analyzerObj onOff + @ Class AnalyzerCmd { + description {Class that overload the unknown mechanism of @ to provide metadata analysis.} + } + Class AnalyzerCmd -parameter { + {analyzerObj ""} + {onOff 0} + } + AnalyzerCmd instproc unknown args { + my instvar analyzerObj onOff - if {!$onOff} {return [next]} + if {!$onOff} {return [next]} - if {[llength $args] > 1} { - set abstract 0 - if {[lindex $args 1] == "abstract"} { - if {[llength $args] > 2} { - set p [lindex $args 2] - if {$p == "proc" || $p == "instproc"} { - set args [lreplace $args 1 1] - set abstract 1 + if {[llength $args] > 1} { + set abstract 0 + if {[lindex $args 1] == "abstract"} { + if {[llength $args] > 2} { + set p [lindex $args 2] + if {$p == "proc" || $p == "instproc"} { + set args [lreplace $args 1 1] + set abstract 1 + } + } + } + switch [lindex $args 1] { + proc - instproc { + set r [eval $analyzerObj handleMethod $args] + if {$abstract} {$r abstract 1} + return $r + } + default { + switch [lindex $args 0] { + @File { + return [$analyzerObj handleFile [lindex $args 1]] + } + @Constraint { + return [eval $analyzerObj handleConstraint $args] + } + default { + return [eval $analyzerObj handleObj $args] + } + } + } + } } - } + puts stderr "Unknown @ metadata: '$args'" } - switch [lindex $args 1] { - proc - instproc { - set r [eval $analyzerObj handleMethod $args] - if {$abstract} {$r abstract 1} - return $r - } - default { - switch [lindex $args 0] { - @File { - return [$analyzerObj handleFile [lindex $args 1]] - } - @Constraint { - return [eval $analyzerObj handleConstraint $args] - } - default { - return [eval $analyzerObj handleObj $args] - } - } - } + @ AnalyzerCmd @ { + description {Recreate @ with metadata analyis funtionality.} } - } - puts stderr "Unknown @ metadata: '$args'" + AnalyzerCmd @ + + namespace export \ + MetadataToken FileToken ConstraintToken PackageToken ObjToken \ + ClassToken MetaClassToken MethodToken ProcToken InstprocToken \ + MetadataAnalyzer AnalyzerCmd } -@ AnalyzerCmd @ { - description {Recreate @ with metadata analyis funtionality.} -} -AnalyzerCmd @ - +namespace import ::xotcl::metadataAnalyzer::* Index: xotcl/library/lib/mixinStrategy.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/lib/mixinStrategy.xotcl (.../mixinStrategy.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/lib/mixinStrategy.xotcl (.../mixinStrategy.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -#$Id: mixinStrategy.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +#$Id: mixinStrategy.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::mixinStrategy 0.9 package require XOTcl Index: xotcl/library/lib/package.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/lib/package.xotcl (.../package.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/lib/package.xotcl (.../package.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -#$Id: package.xotcl,v 1.3 2005/09/09 21:07:23 neumann Exp $ +#$Id: package.xotcl,v 1.4 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::package 0.91 package require xotcl::mixinStrategy Index: xotcl/library/lib/pkgIndex.tcl =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/lib/pkgIndex.tcl (.../pkgIndex.tcl) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/library/lib/pkgIndex.tcl (.../pkgIndex.tcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -10,7 +10,7 @@ package ifneeded xotcl::htmllib 0.1 [list source [file join $dir htmllib.xotcl]] package ifneeded xotcl::metadataAnalyzer 0.84 [list source [file join $dir metadataAnalyzer.xotcl]] -package ifneeded xotcl::mixinStrategy 0.8 [list source [file join $dir mixinStrategy.xotcl]] +package ifneeded xotcl::mixinStrategy 0.9 [list source [file join $dir mixinStrategy.xotcl]] package ifneeded xotcl::script 0.9 [list source [file join $dir Script.xotcl]] package ifneeded xotcl::staticMetadataAnalyzer 0.84 [list source [file join $dir staticMetadata.xotcl]] package ifneeded xotcl::test 1.03 [list source [file join $dir test.xotcl]] Index: xotcl/library/lib/staticMetadata.xotcl =================================================================== diff -u -r489071934af0126a0f768b0ced07dea3b2328a23 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/lib/staticMetadata.xotcl (.../staticMetadata.xotcl) (revision 489071934af0126a0f768b0ced07dea3b2328a23) +++ xotcl/library/lib/staticMetadata.xotcl (.../staticMetadata.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,71 +1,82 @@ package require xotcl::metadataAnalyzer package provide xotcl::staticMetadataAnalyzer 0.84 +package require XOTcl -@ @File { - description { - XOTcl file static analyzer for @ metadata. E.g. used for - doumentation with xoDoc. I.e. allows for reading in a - file and evaluating the metadata-related info only. +namespace eval ::xotcl::staticMetadataAnalyzer { + namespace import ::xotcl::* + + @ @File { + description { + XOTcl file static analyzer for @ metadata. E.g. used for + doumentation with xoDoc. I.e. allows for reading in a + file and evaluating the metadata-related info only. + } } -} -@ Class StaticMetadataAnalyzer -superclass MetadataAnalyzer { - description { - Metadata analyzer class that allows for reading in files - and evaluation of the metadata content in the file. + @ Class StaticMetadataAnalyzer -superclass MetadataAnalyzer { + description { + Metadata analyzer class that allows for reading in files + and evaluation of the metadata content in the file. + } } -} -Class StaticMetadataAnalyzer -superclass MetadataAnalyzer -StaticMetadataAnalyzer instproc cmdsplit {cmd} { - # from Jeffrey's tkcon - set inc {} - set cmds {} - foreach cmd [split [string trimleft $cmd] \n] { - if {[string compare {} $inc]} { - append inc \n$cmd - } else { - append inc [string trimleft $cmd] + Class StaticMetadataAnalyzer -superclass MetadataAnalyzer \ + -parameter {{namespace ::}} + StaticMetadataAnalyzer instproc cmdsplit {cmd} { + # from Jeffrey's tkcon + set inc {} + set cmds {} + foreach cmd [split [string trimleft $cmd] \n] { + if {[string compare {} $inc]} { + append inc \n$cmd + } else { + append inc [string trimleft $cmd] + } + if {[info complete $inc] && ![regexp {[^\\]\\$} $inc]} { + if {[regexp "^\[^#\]" $inc]} {lappend cmds $inc} + set inc {} + } } - if {[info complete $inc] && ![regexp {[^\\]\\$} $inc]} { - if {[regexp "^\[^#\]" $inc]} {lappend cmds $inc} - set inc {} - } + if {[regexp "^\[^#\]" $inc]} {lappend cmds $inc} + return $cmds } - if {[regexp "^\[^#\]" $inc]} {lappend cmds $inc} - return $cmds -} -StaticMetadataAnalyzer instproc evaluateCommands {c} { - foreach command [my cmdsplit $c] { - #puts stderr "$command===========================" - if {[regexp "^ *:*@ " $command]} { + StaticMetadataAnalyzer instproc evaluateCommands {c} { + my instvar namespace + foreach command [my cmdsplit $c] { #puts stderr "$command===========================" - eval $command - } elseif {[regexp "^ *package " $command]} { - #puts stderr "$command===========================" - eval my handlePackage $command - } elseif {[regexp "^ *namespace *eval *(\[^\{\]*) *\{(.*)\}\[^\}\]*$" $command _ namespace nsc]} { - #puts stderr "$command===========================" - my evaluateCommands $nsc - } + if {[regexp "^ *:*@ " $command]} { + #puts stderr "$command===========================" + namespace eval $namespace $command + } elseif {[regexp "^ *package " $command]} { + #puts stderr "$command===========================" + namespace eval $namespace [list my handlePackage $command] + } elseif {[regexp "^ *namespace *eval *(\[^\{\]*) *\{(.*)\}\[^\}\]*$" $command _ namespace nsc]} { + #puts stderr "$command===========================" + namespace eval $namespace [list my evaluateCommands $nsc] + } + } } -} -@ StaticMetadataAnalyzer instproc analyzeFile {name "File name"} { - description "Analyze a file and build up a token structure for each metadata token in the file." -} -StaticMetadataAnalyzer instproc analyzeFile name { - my set cmd "" + @ StaticMetadataAnalyzer instproc analyzeFile {name "File name"} { + description "Analyze a file and build up a token structure for each metadata token in the file." + } + StaticMetadataAnalyzer instproc analyzeFile name { + my set cmd "" - set t [FileToken create [my autoname t]] - $t set name $name - my set fileToken $t + set t [FileToken create [my autoname t]] + $t set name $name + my set fileToken $t - set f [open $name r] - set c [read $f] - close $f - ::@ onOff 1 - my evaluateCommands $c - ::@ onOff 0 + set f [open $name r] + set c [read $f] + close $f + ::@ onOff 1 + my evaluateCommands $c + ::@ onOff 0 + } + + namespace export StaticMetadataAnalyzer } + +namespace import ::xotcl::staticMetadataAnalyzer::* Index: xotcl/library/lib/test.xotcl =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/lib/test.xotcl (.../test.xotcl) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/library/lib/test.xotcl (.../test.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,77 +1,96 @@ -package provide xotcl::test 1.03 -@ @File {description { - Simple regression test support. - } -} +package provide xotcl::test 1.37 +package require XOTcl -@ Class Test { - description { - Class Test is used to configure test instances, which can - be configured by the following parameters: - <@ul> - <@li>cmd: the command to be executed - <@li>expected: the expected result - <@li>count: number of executions of cmd - <@li>pre: a command to be executed at the begin of the test (before cmd) - <@li>post: a command to be executed after the test (after all cmds) - - The defined tests can be executed by <@tt>Test run +namespace eval ::xotcl::test { + namespace import ::xotcl::* + + @ @File {description { + Simple regression test support. + }} + + @ Class Test { + description { + Class Test is used to configure test instances, which can + be configured by the following parameters: + <@ul> + <@li>cmd: the command to be executed + <@li>expected: the expected result + <@li>count: number of executions of cmd + <@li>pre: a command to be executed at the begin of the test (before cmd) + <@li>post: a command to be executed after the test (after all cmds) + <@li>namespace in which pre, post and cmd are evaluated; default :: + + The defined tests can be executed by <@tt>Test run + } } -} -Class Test -parameter { - cmd - {expected 1} - {count 1000} - msg setResult errorReport - pre post -} -Test set count 0 -Test proc new args { - eval my create t[format %.3d [my incr count]] $args -} -Test proc run {} { - set startTime [clock clicks -milliseconds] - foreach example [lsort [my allInstances]] { - $example run + Class Test -parameter { + cmd + {namespace ::} + {verbose 0} + {expected 1} + {count 1000} + msg setResult errorReport + pre post } - puts stderr "Total Time: [expr {[clock clicks -milliseconds]-$startTime}] ms" -} -Test proc _allInstances {C} { - set set [$C info instances] - foreach sc [$C info subclass] { - eval lappend set [my _allInstances $sc] + Test set count 0 + Test proc new args { + eval my create t[format %.3d [my incr count]] $args } - return $set -} -Test proc allInstances {} { - return [my _allInstances Test] -} + Test proc run {} { + set startTime [clock clicks -milliseconds] + foreach example [lsort [my allInstances]] { + $example run + } + puts stderr "Total Time: [expr {[clock clicks -milliseconds]-$startTime}] ms" + } + Test proc _allInstances {C} { + set set [$C info instances] + foreach sc [$C info subclass] { + eval lappend set [my _allInstances $sc] + } + return $set + } + Test proc allInstances {} { + return [my _allInstances Test] + } -Test instproc run args { - my instvar cmd expected pre post count msg - if {[info exists pre]} {eval $pre} - if {![info exists msg]} {set msg $cmd} - set r [eval $cmd] - if {[my exists setResult]} {set r [eval [my set setResult]]} - if {$r == $expected} { - if {[info exists count]} {set c $count} {set c 1000} - if {$c > 1} { - #set r0 [time $cmd $c] - #puts stderr "time {time $cmd $c}" - set r1 [time {time $cmd $c}] - #regexp {^(-?[0-9]+) +} $r0 _ mS0 - regexp {^(-?[0-9]+) +} $r1 _ mS1 - set ms [expr {$mS1*1.0/$c}] - puts stderr "[self]:\t[format %6.1f $ms] mms, $msg" + Test instproc call {msg cmd} { + if {[my verbose]} {puts stderr "$msg: $cmd"} + namespace eval [my namespace] $cmd + } + Test instproc run args { + my instvar cmd expected pre post count msg + if {[info exists pre]} {my call "pre" $pre} + if {![info exists msg]} {set msg $cmd} + set r [my call "run" $cmd] + if {[my exists setResult]} {set r [eval [my set setResult]]} + if {$r == $expected} { + if {[info exists count]} {set c $count} {set c 1000} + if {[my verbose]} { + puts stderr "running test $c times" + } + if {$c > 1} { + #set r0 [time $cmd $c] + #puts stderr "time {time $cmd $c}" + set r1 [time {time {namespace eval [my namespace] $cmd} $c}] + #regexp {^(-?[0-9]+) +} $r0 _ mS0 + regexp {^(-?[0-9]+) +} $r1 _ mS1 + set ms [expr {$mS1*1.0/$c}] + puts stderr "[self]:\t[format %6.1f $ms] mms, $msg" + } else { + puts stderr "[self]: $msg ok" + } } else { - puts stderr "[self]: $msg ok" + puts stderr "[self]:\tincorrect result for '$msg'" + puts stderr "\texpected: '$expected', got '$r' [my exists errorReport]" + if {[my exists errorReport]} {eval [my set errorReport]} + exit -1 } - } else { - puts stderr "[self]:\tincorrect result for '$msg'" - puts stderr "\texpected: '$expected', got '$r' [my exists errorReport]" - if {[my exists errorReport]} {eval [my set errorReport]} - exit -1 + if {[info exists post]} {my call "post" $post} } - if {[info exists post]} {eval $post} + + namespace export Test } + +namespace import ::xotcl::test::* Index: xotcl/library/lib/trace.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/lib/trace.xotcl (.../trace.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/lib/trace.xotcl (.../trace.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# -*- Tcl -*- $Id: trace.xotcl,v 1.4 2005/09/09 21:07:23 neumann Exp $ +# -*- Tcl -*- $Id: trace.xotcl,v 1.5 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::trace 0.91 package require XOTcl Index: xotcl/library/lib/upvarcompat.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/lib/upvarcompat.xotcl (.../upvarcompat.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/lib/upvarcompat.xotcl (.../upvarcompat.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -#$Id: upvarcompat.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +#$Id: upvarcompat.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::upvar-compat 1.0 package require XOTcl Index: xotcl/library/lib/xodoc.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/lib/xodoc.xotcl (.../xodoc.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/lib/xodoc.xotcl (.../xodoc.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: xodoc.xotcl,v 1.3 2005/09/09 21:07:23 neumann Exp $ +# $Id: xodoc.xotcl,v 1.4 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::xodoc 0.84 package require xotcl::staticMetadataAnalyzer Index: xotcl/library/patterns/ChainOfResponsibility.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/patterns/ChainOfResponsibility.xotcl (.../ChainOfResponsibility.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/patterns/ChainOfResponsibility.xotcl (.../ChainOfResponsibility.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: ChainOfResponsibility.xotcl,v 1.3 2005/09/09 21:07:23 neumann Exp $ +# $Id: ChainOfResponsibility.xotcl,v 1.4 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::pattern::chainOfResponsibility 0.9 package require XOTcl Index: xotcl/library/patterns/OnCalleeProxy.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/patterns/OnCalleeProxy.xotcl (.../OnCalleeProxy.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/patterns/OnCalleeProxy.xotcl (.../OnCalleeProxy.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: OnCalleeProxy.xotcl,v 1.3 2005/09/09 21:07:23 neumann Exp $ +# $Id: OnCalleeProxy.xotcl,v 1.4 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::pattern::onCalleeProxy 0.8 package require XOTcl Index: xotcl/library/patterns/Singleton.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/patterns/Singleton.xotcl (.../Singleton.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/patterns/Singleton.xotcl (.../Singleton.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: Singleton.xotcl,v 1.3 2005/09/09 21:07:23 neumann Exp $ +# $Id: Singleton.xotcl,v 1.4 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::pattern::singleton 0.8 package require XOTcl Index: xotcl/library/patterns/SortedComposite.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/patterns/SortedComposite.xotcl (.../SortedComposite.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/patterns/SortedComposite.xotcl (.../SortedComposite.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: SortedComposite.xotcl,v 1.3 2005/09/09 21:07:23 neumann Exp $ +# $Id: SortedComposite.xotcl,v 1.4 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::pattern::sortedCompositeWithAfter 0.9 package require XOTcl Index: xotcl/library/patterns/adapter.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/patterns/adapter.xotcl (.../adapter.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/patterns/adapter.xotcl (.../adapter.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: adapter.xotcl,v 1.3 2005/09/09 21:07:23 neumann Exp $ +# $Id: adapter.xotcl,v 1.4 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::pattern::adapter 0.9 Index: xotcl/library/patterns/composite.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/patterns/composite.xotcl (.../composite.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/patterns/composite.xotcl (.../composite.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: composite.xotcl,v 1.3 2005/09/09 21:07:23 neumann Exp $ +# $Id: composite.xotcl,v 1.4 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::pattern::composite 0.9 package require XOTcl Index: xotcl/library/patterns/link.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/patterns/link.xotcl (.../link.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/patterns/link.xotcl (.../link.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: link.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: link.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::pattern::link 0.9 package require XOTcl Index: xotcl/library/patterns/manager.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/patterns/manager.xotcl (.../manager.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/patterns/manager.xotcl (.../manager.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: manager.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: manager.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::pattern::manager 0.8 package require XOTcl Index: xotcl/library/patterns/observer.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/patterns/observer.xotcl (.../observer.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/patterns/observer.xotcl (.../observer.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: observer.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: observer.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::pattern::observer 0.8 package require XOTcl Index: xotcl/library/pkgIndex.tcl =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/pkgIndex.tcl (.../pkgIndex.tcl) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/library/pkgIndex.tcl (.../pkgIndex.tcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,5 +1,7 @@ set __dir__ $dir -foreach index [glob -nocomplain [file join $dir * pkgIndex.tcl]] { +foreach index [concat \ + [glob -nocomplain [file join $dir * pkgIndex.tcl]] \ + [glob -nocomplain [file join $dir * * pkgIndex.tcl]]] { set dir [file dirname $index] source $index } Index: xotcl/library/rdf/RDFCreator.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/rdf/RDFCreator.xotcl (.../RDFCreator.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/rdf/RDFCreator.xotcl (.../RDFCreator.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: RDFCreator.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: RDFCreator.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::rdf::tripleRecreator 0.9 package require XOTcl Index: xotcl/library/rdf/RDFTriple.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/rdf/RDFTriple.xotcl (.../RDFTriple.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/rdf/RDFTriple.xotcl (.../RDFTriple.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: RDFTriple.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: RDFTriple.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::rdf::triple 1.0 package require XOTcl Index: xotcl/library/rdf/rdfRecreatorVisitor.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/rdf/rdfRecreatorVisitor.xotcl (.../rdfRecreatorVisitor.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/rdf/rdfRecreatorVisitor.xotcl (.../rdfRecreatorVisitor.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -#$Id: rdfRecreatorVisitor.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +#$Id: rdfRecreatorVisitor.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::rdf::recreatorVisitor 0.9 package require xotcl::rdf::parser Index: xotcl/library/rdf/xoRDF.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/rdf/xoRDF.xotcl (.../xoRDF.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/rdf/xoRDF.xotcl (.../xoRDF.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: xoRDF.xotcl,v 1.3 2005/09/09 21:07:23 neumann Exp $ +# $Id: xoRDF.xotcl,v 1.4 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::rdf::parser 1.0 package require XOTcl Index: xotcl/library/registry/Registry.xotcl =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/registry/Registry.xotcl (.../Registry.xotcl) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/library/registry/Registry.xotcl (.../Registry.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -4,63 +4,70 @@ package require xotcl::rdf::triple package require xotcl::rdf::tripleRecreator package require xotcl::actiweb::agent +package require XOTcl -Class Registry -superclass Agent +namespace eval ::xotcl::registry::registry { + namespace import ::xotcl::* -Registry instproc init args { - next - my exportProcs register query queryProperty - RDFParser [self]::parser - TripleVisitor [self]::tripleVisitor -parser [self]::parser - [self]::tripleVisitor descriptionAsBag 0 - my array set services {} -} + Class Registry -superclass Agent -Registry instproc register {rdfScript} { - #my showCall - [[self]::tripleVisitor set parser] parse $rdfScript - [self]::tripleVisitor interpretNodeTree [self]::parser::topNode - [self]::tripleVisitor resetWithoutDB - foreach serviceTriple [[self]::tripleVisitor::db queryPredicate \ - "http://nestroy.wi-inf.uni-essen.de/schema/service#name"] { - set service [$serviceTriple object] - if {[info exists services($service)]} { - puts stderr "we have already such a service '$service'" - # hier koennte man ueberlegen, den service zu loeschen oder nicht - # zZT: loesche altes service + Registry instproc init args { + next + my exportProcs register query queryProperty + RDFParser [self]::parser + TripleVisitor [self]::tripleVisitor -parser [self]::parser + [self]::tripleVisitor descriptionAsBag 0 + my array set services {} } - puts stderr "REGISTRY: registering $service with [$serviceTriple subject]" - my set services($service) [$serviceTriple subject]; - } -} -Registry instproc query {service} { - my showCall - if {[info exists services($service)]} { - set s [my set services($service)] - return [[Place getInstance]::rdfCreator createFromTriples [[self]::tripleVisitor::db querySubject $s]] - } -} + Registry instproc register {rdfScript} { + #my showCall + [[self]::tripleVisitor set parser] parse $rdfScript + [self]::tripleVisitor interpretNodeTree [self]::parser::topNode + [self]::tripleVisitor resetWithoutDB + foreach serviceTriple [[self]::tripleVisitor::db queryPredicate \ + "http://nestroy.wi-inf.uni-essen.de/schema/service#name"] { + set service [$serviceTriple object] + if {[info exists services($service)]} { + puts stderr "we have already such a service '$service'" + # hier koennte man ueberlegen, den service zu loeschen oder nicht + # zZT: loesche altes service + } + puts stderr "REGISTRY: registering $service with [$serviceTriple subject]" + my set services($service) [$serviceTriple subject]; + } + } -Registry instproc queryProperty {args} { - # returns first service with matching properties - my showCall - foreach s [my array names services] { - set success 1 - foreach {att value} $args { - set t [[self]::tripleVisitor::db queryPredicateOnSubject $att [my set services($s)]] - if {$t == "" || [$t object] != $value} { - set success 0 - break - } + Registry instproc query {service} { + my showCall + if {[info exists services($service)]} { + set s [my set services($service)] + return [[Place getInstance]::rdfCreator createFromTriples [[self]::tripleVisitor::db querySubject $s]] + } } - if {$success} { - set r [my query $s] - return $r - } else { - return "" + + Registry instproc queryProperty {args} { + # returns first service with matching properties + my showCall + foreach s [my array names services] { + set success 1 + foreach {att value} $args { + set t [[self]::tripleVisitor::db queryPredicateOnSubject $att [my set services($s)]] + if {$t == "" || [$t object] != $value} { + set success 0 + break + } + } + if {$success} { + set r [my query $s] + return $r + } else { + return "" + } + } } - } + + namespace export Registry } - +namespace import ::xotcl::registry::registry::* Index: xotcl/library/serialize/RecoveryPoint.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/serialize/RecoveryPoint.xotcl (.../RecoveryPoint.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/serialize/RecoveryPoint.xotcl (.../RecoveryPoint.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: RecoveryPoint.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: RecoveryPoint.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::scriptCreation::recoveryPoint 0.8 package require XOTcl Index: xotcl/library/serialize/ScriptCreator.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/serialize/ScriptCreator.xotcl (.../ScriptCreator.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/serialize/ScriptCreator.xotcl (.../ScriptCreator.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: ScriptCreator.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: ScriptCreator.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::scriptCreation::scriptCreator 0.8 package require XOTcl Index: xotcl/library/store/JufGdbmStorage.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/store/JufGdbmStorage.xotcl (.../JufGdbmStorage.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/store/JufGdbmStorage.xotcl (.../JufGdbmStorage.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: JufGdbmStorage.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: JufGdbmStorage.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::store::jufgdbm 0.81 Index: xotcl/library/store/MemStorage.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/store/MemStorage.xotcl (.../MemStorage.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/store/MemStorage.xotcl (.../MemStorage.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: MemStorage.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: MemStorage.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::store::mem 0.84 package require xotcl::store 0.84 Index: xotcl/library/store/MultiStorage.xotcl =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/store/MultiStorage.xotcl (.../MultiStorage.xotcl) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/library/store/MultiStorage.xotcl (.../MultiStorage.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,64 +1,74 @@ + package provide xotcl::store::multi 0.9 package require xotcl::store 0.84 +package require XOTcl -Class Storage=multi -superclass Storage -Storage=multi instproc add {dbPackage args} { - my instvar storages names - if {[string length $dbPackage] == 0} { - set dbPackage [Storage defaultPackage] - } - package require xotcl::store::[string tolower $dbPackage] - lappend storages [eval Storage=$dbPackage new -childof [self] $args] +namespace eval ::xotcl::store::multi { + namespace import ::xotcl::* + + Class Storage=multi -superclass Storage + Storage=multi instproc add {dbPackage args} { + my instvar storages names + if {[string length $dbPackage] == 0} { + set dbPackage [Storage defaultPackage] + } + package require xotcl::store::[string tolower $dbPackage] + lappend storages [eval Storage=$dbPackage new -childof [self] $args] + } + Storage=multi instproc init args { + my instvar storages + set storages {} + } + Storage=multi instproc names {} { + my instvar storages + [lindex $storages 0] $names + } + Storage=multi instproc exists name { + my instvar storages + [lindex $storages 0] exists $name + } + Storage=multi instproc unset name { + my instvar storages + foreach s $storages {$s [self proc] $name} + } + Storage=multi instproc set args { + my instvar storages + set l [llength $args] + set name [lindex $args 0] + if {$l == 1} { + [lindex $storages 0] set $name + } elseif {$l == 2} { + foreach s $storages { $s set $name [lindex $args 1]} + } else { + eval set $args + } + } + Storage=multi instproc close {} { + my instvar storages + foreach s $storages {$s [self proc]} + } + Storage=multi instproc dbOpen {} { + my instvar storages + foreach s $storages {$s [self proc]} + } + Storage=multi instproc firstkey {} { + my instvar storages + [lindex $storages 0] firstkey + } + Storage=multi instproc nextkey {} { + my instvar storages + [lindex $storages 0] nextkey + } + Storage=multi instproc checkdir {} { + my instvar storages + foreach s $storages {$s [self proc]} + } + Storage=multi instproc dbOpen {} { + my instvar storages + foreach s $storages {$s [self proc]} + } + + namespace export Storage=multi } -Storage=multi instproc init args { - my instvar storages - set storages {} -} -Storage=multi instproc names {} { - my instvar storages - [lindex $storages 0] $names -} -Storage=multi instproc exists name { - my instvar storages - [lindex $storages 0] exists $name -} -Storage=multi instproc unset name { - my instvar storages - foreach s $storages {$s [self proc] $name} -} -Storage=multi instproc set args { - my instvar storages - set l [llength $args] - set name [lindex $args 0] - if {$l == 1} { - [lindex $storages 0] set $name - } elseif {$l == 2} { - foreach s $storages { $s set $name [lindex $args 1]} - } else { - eval set $args - } -} -Storage=multi instproc close {} { - my instvar storages - foreach s $storages {$s [self proc]} -} -Storage=multi instproc dbOpen {} { - my instvar storages - foreach s $storages {$s [self proc]} -} -Storage=multi instproc firstkey {} { - my instvar storages - [lindex $storages 0] firstkey -} -Storage=multi instproc nextkey {} { - my instvar storages - [lindex $storages 0] nextkey -} -Storage=multi instproc checkdir {} { - my instvar storages - foreach s $storages {$s [self proc]} -} -Storage=multi instproc dbOpen {} { - my instvar storages - foreach s $storages {$s [self proc]} -} + +namespace import ::xotcl::store::multi::* Index: xotcl/library/store/Persistence.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/store/Persistence.xotcl (.../Persistence.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/store/Persistence.xotcl (.../Persistence.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: Persistence.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: Persistence.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::store::persistence 0.8 Index: xotcl/library/store/Storage.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/store/Storage.xotcl (.../Storage.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/store/Storage.xotcl (.../Storage.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: Storage.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: Storage.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::store 0.84 package require XOTcl @@ -13,7 +13,7 @@ a memory storage, a GDBM storage, a SDBM storage, and a TextFile storage. } - date { $Date: 2005/09/09 21:07:23 $ } + date { $Date: 2005/09/09 21:09:01 $ } } # Index: xotcl/library/store/TclGdbmStorage.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/store/TclGdbmStorage.xotcl (.../TclGdbmStorage.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/store/TclGdbmStorage.xotcl (.../TclGdbmStorage.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: TclGdbmStorage.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: TclGdbmStorage.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::store::tclgdbm 0.84 Index: xotcl/library/store/TextFileStorage.xotcl =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/store/TextFileStorage.xotcl (.../TextFileStorage.xotcl) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/library/store/TextFileStorage.xotcl (.../TextFileStorage.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,151 +1,160 @@ package provide xotcl::store::textfile 0.84 package require xotcl::store +package require XOTcl -Class Storage=TextFile -superclass Storage -parameter { - filename - reorgCounter - reorgMaxValue -} +namespace eval ::xotcl::store::textfile { + namespace import ::xotcl::* -Storage=TextFile instproc init args { - my instvar reorgCounter reorgMaxValue searchID - ::set reorgCounter 0 - ::set reorgMaxValue 1000 - ::set searchID "" - next -} -Storage=TextFile instproc reorganizeDB {} { - my instvar noreorg reorgCounter reorgMaxValue filename keys - ::set reorgCounter -1 - #puts "***reorganizeDB" - if {[::info exists filename]} { - ::set noreorg 1 - ::array set bkeys [::array get keys] - ::array set keys {} - # parray bkeys + Class Storage=TextFile -superclass Storage -parameter { + filename + reorgCounter + reorgMaxValue + } - ::set bak $filename.orig - file rename -force $filename $bak - foreach k [::array names bkeys] { - ::set bf [::open $bak r] - seek $bf [lindex $bkeys($k) 0] - ::set c [read $bf [lindex $bkeys($k) 1]] - ::close $bf - #puts "***STORING $k [lindex $c 1]" - my set $k [lindex $c 1] + Storage=TextFile instproc init args { + my instvar reorgCounter reorgMaxValue searchID + ::set reorgCounter 0 + ::set reorgMaxValue 1000 + ::set searchID "" + next } - file delete -force $bak - ::unset noreorg - } -} -Storage=TextFile instproc open fn { - my instvar keys filename - ::array set keys {} - ::set position 0 - ::set filename $fn - if {[file exists $filename]} { - ::set f [::open $filename r] - ::set c [read $f] - ::close $f - foreach {k v} $c { - lappend keyList $k + Storage=TextFile instproc reorganizeDB {} { + my instvar noreorg reorgCounter reorgMaxValue filename keys + ::set reorgCounter -1 + #puts "***reorganizeDB" + if {[::info exists filename]} { + ::set noreorg 1 + ::array set bkeys [::array get keys] + ::array set keys {} + # parray bkeys + + ::set bak $filename.orig + file rename -force $filename $bak + foreach k [::array names bkeys] { + ::set bf [::open $bak r] + seek $bf [lindex $bkeys($k) 0] + ::set c [read $bf [lindex $bkeys($k) 1]] + ::close $bf + #puts "***STORING $k [lindex $c 1]" + my set $k [lindex $c 1] + } + file delete -force $bak + ::unset noreorg + } } - ::set f [::open $filename r] - while {1} { - set position [tell $f] - if {!([gets $f line] >= 0)} { - break - } + Storage=TextFile instproc open fn { + my instvar keys filename + ::array set keys {} + ::set position 0 + ::set filename $fn + if {[file exists $filename]} { + ::set f [::open $filename r] + ::set c [read $f] + ::close $f + foreach {k v} $c { + lappend keyList $k + } + ::set f [::open $filename r] + while {1} { + set position [tell $f] + if {!([gets $f line] >= 0)} { + break + } - set k [lindex $keyList 0] - if {[string match $k* $line]} { - set lastLength [string length $line] - set keys($k) [concat $position $lastLength] - set lastKey $k - set lastPosition $position - set keyList [lreplace $keyList 0 0] - } elseif {[info exists lastKey]} { - set lastLength [expr $lastLength + [string length $line] + 1] - set keys($lastKey) [concat $lastPosition $lastLength] - } + set k [lindex $keyList 0] + if {[string match $k* $line]} { + set lastLength [string length $line] + set keys($k) [concat $position $lastLength] + set lastKey $k + set lastPosition $position + set keyList [lreplace $keyList 0 0] + } elseif {[info exists lastKey]} { + set lastLength [expr $lastLength + [string length $line] + 1] + set keys($lastKey) [concat $lastPosition $lastLength] + } + } + ::close $f + + #parray keys + } } - ::close $f + Storage=TextFile instproc exists key { + my instvar keys + info exists keys($key) + } - #parray keys - } -} -Storage=TextFile instproc exists key { - my instvar keys - info exists keys($key) -} + Storage=TextFile instproc set args { + my instvar keys noreorg reorgCounter reorgMaxValue filename + ::set key [lindex $args 0] + ::set l [llength $args] + if {$l == 1} { ;# fetch + if {[::info exists keys($key)]} { + ::set f [::open $filename r] + #puts "***fetch -- $keys($key)" + seek $f [lindex $keys($key) 0] + ::set c [read $f [lindex $keys($key) 1]] + ::close $f + return [lindex $c 1] + } else { + error "no such variable '$key'" + } + } elseif {$l == 2} { ;# store + if {![::info exists noreorg] && [::info exists keys($key)]} { + ::incr reorgCounter + } + ::set f [::open $filename a+] + ::set position [tell $f] + #puts "***store -- putting [::list $key [lindex $args 1]] at $position" + ::set c [::list $key [lindex $args 1]] + puts $f $c + ::close $f + ::set keys($key) [::list $position [expr {[string length $c] + 1}]] + # parray keys + if {$reorgCounter > $reorgMaxValue} { + my reorganizeDB + } + } else { next } + } -Storage=TextFile instproc set args { - my instvar keys noreorg reorgCounter reorgMaxValue filename - ::set key [lindex $args 0] - ::set l [llength $args] - if {$l == 1} { ;# fetch - if {[::info exists keys($key)]} { - ::set f [::open $filename r] - #puts "***fetch -- $keys($key)" - seek $f [lindex $keys($key) 0] - ::set c [read $f [lindex $keys($key) 1]] - ::close $f - return [lindex $c 1] - } else { - error "no such variable '$key'" + Storage=TextFile instproc names {} { + my array names keys } - } elseif {$l == 2} { ;# store - if {![::info exists noreorg] && [::info exists keys($key)]} { - ::incr reorgCounter + Storage=TextFile instproc close {} { + my instvar filename keys + my reorganizeDB + ::unset filename + ::unset keys } - ::set f [::open $filename a+] - ::set position [tell $f] - #puts "***store -- putting [::list $key [lindex $args 1]] at $position" - ::set c [::list $key [lindex $args 1]] - puts $f $c - ::close $f - ::set keys($key) [::list $position [expr {[string length $c] + 1}]] - # parray keys - if {$reorgCounter > $reorgMaxValue} { - my reorganizeDB + Storage=TextFile instproc unset key { + my instvar keys + if {[::info exists keys($key)]} { + ::unset keys($key) + } + my reorganizeDB } - } else { next } -} -Storage=TextFile instproc names {} { - my array names keys -} -Storage=TextFile instproc close {} { - my instvar filename keys - my reorganizeDB - ::unset filename - ::unset keys -} -Storage=TextFile instproc unset key { - my instvar keys - if {[::info exists keys($key)]} { - ::unset keys($key) - } - my reorganizeDB -} + Storage=TextFile instproc firstkey {} { + my instvar keys searchID + if {$searchID != ""} { + array donesearch keys $searchID + } + ::set searchID [array startsearch keys] + return [array nextelement keys $searchID] + } + Storage=TextFile instproc nextkey {} { + my instvar keys searchID + if {$searchID == ""} { + error "[self class]: firstkey was not invoked on storage search" + } + ::set elt [array nextelement keys $searchID] + if {$elt == ""} { + # if array end is reach search is terminated automatically!! + ::set searchID "" + } + return $elt + } -Storage=TextFile instproc firstkey {} { - my instvar keys searchID - if {$searchID != ""} { - array donesearch keys $searchID - } - ::set searchID [array startsearch keys] - return [array nextelement keys $searchID] + namespace export Storage=TextFile } -Storage=TextFile instproc nextkey {} { - my instvar keys searchID - if {$searchID == ""} { - error "[self class]: firstkey was not invoked on storage search" - } - ::set elt [array nextelement keys $searchID] - if {$elt == ""} { - # if array end is reach search is terminated automatically!! - ::set searchID "" - } - return $elt -} \ No newline at end of file + +namespace import ::xotcl::store::textfile::* Index: xotcl/library/store/XOTclGdbm/Makefile =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/store/XOTclGdbm/Makefile (.../Makefile) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/store/XOTclGdbm/Makefile (.../Makefile) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -12,7 +12,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: Makefile,v 1.22 2005/09/09 21:07:23 neumann Exp $ +# RCS: @(#) $Id: Makefile,v 1.23 2005/09/09 21:09:01 neumann Exp $ #======================================================================== # Add additional lines to handle any additional AC_SUBST cases that Index: xotcl/library/store/XOTclGdbm/configure =================================================================== diff -u -r0896d4deb00780e48b5b03269bf9c4ecca948919 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/store/XOTclGdbm/configure (.../configure) (revision 0896d4deb00780e48b5b03269bf9c4ecca948919) +++ xotcl/library/store/XOTclGdbm/configure (.../configure) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -6671,14 +6671,14 @@ - vars="${XOTCL_BUILD_INCLUDE_SPEC} $GDBM_INC_SPEC" + vars="-I${with_xotcl}/generic ${XOTCL_BUILD_INCLUDE_SPEC} ${GDBM_INC_SPEC}" for i in $vars; do PKG_INCLUDES="$PKG_INCLUDES $i" done - vars="$XOTCL_BUILD_STUB_LIB_SPEC $GDBM_LIB_SPEC -lgdbm" + vars="$XOTCL_BUILD_STUB_LIB_SPEC $XOTCL_BUILD_LIB_SPEC $GDBM_LIB_SPEC -lgdbm" for i in $vars; do PKG_LIBS="$PKG_LIBS $i" done @@ -10924,3 +10924,5 @@ + + Index: xotcl/library/store/XOTclGdbm/configure.in =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/store/XOTclGdbm/configure.in (.../configure.in) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/store/XOTclGdbm/configure.in (.../configure.in) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -3,7 +3,7 @@ dnl generate the file "configure", which is run during Tcl installation dnl to configure the system for the local environment. # -# RCS: @(#) $Id: configure.in,v 1.8 2005/09/09 21:07:23 neumann Exp $ +# RCS: @(#) $Id: configure.in,v 1.9 2005/09/09 21:09:01 neumann Exp $ #----------------------------------------------------------------------- # Sample configure.in for Tcl Extensions. The only places you should Index: xotcl/library/store/XOTclSdbm/Makefile =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/store/XOTclSdbm/Makefile (.../Makefile) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/store/XOTclSdbm/Makefile (.../Makefile) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -12,7 +12,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: Makefile,v 1.22 2005/09/09 21:07:23 neumann Exp $ +# RCS: @(#) $Id: Makefile,v 1.23 2005/09/09 21:09:01 neumann Exp $ #======================================================================== # Add additional lines to handle any additional AC_SUBST cases that Index: xotcl/library/store/XOTclSdbm/configure =================================================================== diff -u -r0896d4deb00780e48b5b03269bf9c4ecca948919 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/store/XOTclSdbm/configure (.../configure) (revision 0896d4deb00780e48b5b03269bf9c4ecca948919) +++ xotcl/library/store/XOTclSdbm/configure (.../configure) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -6629,14 +6629,14 @@ - vars="${XOTCL_BUILD_INCLUDE_SPEC}" + vars="-I${with_xotcl}/generic ${XOTCL_BUILD_INCLUDE_SPEC}" for i in $vars; do PKG_INCLUDES="$PKG_INCLUDES $i" done - vars="$XOTCL_BUILD_STUB_LIB_SPEC" + vars="$XOTCL_BUILD_STUB_LIB_SPEC $XOTCL_BUILD_LIB_SPEC" for i in $vars; do PKG_LIBS="$PKG_LIBS $i" done @@ -10880,3 +10880,5 @@ + + Index: xotcl/library/store/XOTclSdbm/configure.in =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/store/XOTclSdbm/configure.in (.../configure.in) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/store/XOTclSdbm/configure.in (.../configure.in) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -3,7 +3,7 @@ dnl generate the file "configure", which is run during Tcl installation dnl to configure the system for the local environment. # -# RCS: @(#) $Id: configure.in,v 1.8 2005/09/09 21:07:23 neumann Exp $ +# RCS: @(#) $Id: configure.in,v 1.9 2005/09/09 21:09:01 neumann Exp $ #----------------------------------------------------------------------- # Sample configure.in for Tcl Extensions. The only places you should Index: xotcl/library/store/XOTclSdbm/xotclsdbm.c =================================================================== diff -u -r900ba9665a79888f0561e2c4b8574c2e4a3dad8b -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/store/XOTclSdbm/xotclsdbm.c (.../xotclsdbm.c) (revision 900ba9665a79888f0561e2c4b8574c2e4a3dad8b) +++ xotcl/library/store/XOTclSdbm/xotclsdbm.c (.../xotclsdbm.c) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -377,11 +377,16 @@ if (Tcl_PkgRequire(in, "xotcl::store", 0, 0) == NULL) { return TCL_ERROR; } - result = Tcl_VarEval (in, - "Class Storage=Sdbm -superclass Storage", + result = Tcl_VarEval (in, "Class create Storage=Sdbm -superclass Storage", (char*) 0); if (result != TCL_OK) return result; + /*{ + Tcl_Obj *res = Tcl_GetObjResult(in); + fprintf(stderr,"res='%s'\n", TclObjStr(res)); + cl = XOTclGetClass(in, "Storage=Sdbm"); + fprintf(stderr,"cl=%p\n",cl); + }*/ cl = XOTclGetClass(in, "Storage=Sdbm"); XOTclAddIMethod(in, cl, "open", XOTclSdbmOpenMethod, 0, 0); Index: xotcl/library/xml/TclExpat-1.1/Makefile =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/xml/TclExpat-1.1/Makefile (.../Makefile) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/xml/TclExpat-1.1/Makefile (.../Makefile) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -12,7 +12,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: Makefile,v 1.22 2005/09/09 21:07:23 neumann Exp $ +# RCS: @(#) $Id: Makefile,v 1.23 2005/09/09 21:09:01 neumann Exp $ #======================================================================== # Add additional lines to handle any additional AC_SUBST cases that Index: xotcl/library/xml/TclExpat-1.1/configure =================================================================== diff -u -r0896d4deb00780e48b5b03269bf9c4ecca948919 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/xml/TclExpat-1.1/configure (.../configure) (revision 0896d4deb00780e48b5b03269bf9c4ecca948919) +++ xotcl/library/xml/TclExpat-1.1/configure (.../configure) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -6629,7 +6629,7 @@ - vars="-I$XOTCL_SRC_DIR/generic" + vars="-I${with_xotcl}/generic ${XOTCL_BUILD_INCLUDE_SPEC}" for i in $vars; do PKG_INCLUDES="$PKG_INCLUDES $i" done @@ -10880,3 +10880,5 @@ + + Index: xotcl/library/xml/TclExpat-1.1/configure.in =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/xml/TclExpat-1.1/configure.in (.../configure.in) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/xml/TclExpat-1.1/configure.in (.../configure.in) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -3,7 +3,7 @@ dnl generate the file "configure", which is run during Tcl installation dnl to configure the system for the local environment. # -# RCS: @(#) $Id: configure.in,v 1.8 2005/09/09 21:07:23 neumann Exp $ +# RCS: @(#) $Id: configure.in,v 1.9 2005/09/09 21:09:01 neumann Exp $ #----------------------------------------------------------------------- # Sample configure.in for Tcl Extensions. The only places you should Index: xotcl/library/xml/printVisitor.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/xml/printVisitor.xotcl (.../printVisitor.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/xml/printVisitor.xotcl (.../printVisitor.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: printVisitor.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: printVisitor.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::xml::printVisitor 0.9 package require xotcl::xml::parser Index: xotcl/library/xml/xmlRecreatorVisitor.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/xml/xmlRecreatorVisitor.xotcl (.../xmlRecreatorVisitor.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/xml/xmlRecreatorVisitor.xotcl (.../xmlRecreatorVisitor.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: xmlRecreatorVisitor.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: xmlRecreatorVisitor.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::xml::recreatorVisitor 0.9 package require xotcl::xml::parser Index: xotcl/library/xml/xoXML.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/library/xml/xoXML.xotcl (.../xoXML.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/library/xml/xoXML.xotcl (.../xoXML.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: xoXML.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: xoXML.xotcl,v 1.3 2005/09/09 21:09:01 neumann Exp $ package provide xotcl::xml::parser 0.94 package require XOTcl Index: xotcl/tcl.m4 =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/tcl.m4 (.../tcl.m4) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/tcl.m4 (.../tcl.m4) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -9,7 +9,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: tcl.m4,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# RCS: @(#) $Id: tcl.m4,v 1.3 2005/09/09 21:09:01 neumann Exp $ AC_PREREQ(2.50) Index: xotcl/tests/UNIVERSAL.test =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/tests/UNIVERSAL.test (.../UNIVERSAL.test) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/tests/UNIVERSAL.test (.../UNIVERSAL.test) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -4,6 +4,7 @@ package require XOTcl; namespace import -force xotcl::* set pkgdir [file dir [info script]]/.. lappend auto_path $pkgdir + package require xotcl::test set tclsh [info nameofexecutable] @@ -15,7 +16,7 @@ -cssFile UNIVERSAL.css \ -root $dir/../apps/actiweb/univ \ -pkgdir $pkgdir" -#puts stderr "starting $startCmd" +puts stderr "starting $startCmd" set PIPE [open "|$startCmd"] package require xotcl::comm::httpAccess Index: xotcl/tests/actiweb.test =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/tests/actiweb.test (.../actiweb.test) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/tests/actiweb.test (.../actiweb.test) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,5 +1,5 @@ # -*- Mode: tcl -*- -# $Id: actiweb.test,v 1.5 2005/09/09 21:07:23 neumann Exp $ +# $Id: actiweb.test,v 1.6 2005/09/09 21:09:01 neumann Exp $ # regression test for actiweb examples #if {[set ::tcl_platform(platform)] == "windows"} { # lappend auto_path . Index: xotcl/tests/forwardtest.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/tests/forwardtest.xotcl (.../forwardtest.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/tests/forwardtest.xotcl (.../forwardtest.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -# $Id: forwardtest.xotcl,v 1.4 2005/09/09 21:07:23 neumann Exp $ +# $Id: forwardtest.xotcl,v 1.5 2005/09/09 21:09:01 neumann Exp $ package require XOTcl namespace import -force xotcl::* package require xotcl::test Index: xotcl/tests/speedtest.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/tests/speedtest.xotcl (.../speedtest.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/tests/speedtest.xotcl (.../speedtest.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,5 +1,5 @@ #memory trace on -# $Id: speedtest.xotcl,v 1.3 2005/09/09 21:07:23 neumann Exp $ +# $Id: speedtest.xotcl,v 1.4 2005/09/09 21:09:01 neumann Exp $ package require XOTcl namespace import -force xotcl::* lappend auto_path [file dirname [info script]]/.. Index: xotcl/tests/testx.xotcl =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/tests/testx.xotcl (.../testx.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/tests/testx.xotcl (.../testx.xotcl) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ -#$Id: testx.xotcl,v 1.25 2005/09/09 21:07:23 neumann Exp $ +#$Id: testx.xotcl,v 1.26 2005/09/09 21:09:01 neumann Exp $ package require XOTcl namespace import -force xotcl::* Index: xotcl/tests/xoRDF.test =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/tests/xoRDF.test (.../xoRDF.test) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/tests/xoRDF.test (.../xoRDF.test) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,6 +1,6 @@ #!../../src/xotclsh #!/usr/local/bin/xotclsh -# $Id: xoRDF.test,v 1.2 2005/09/09 21:07:23 neumann Exp $ +# $Id: xoRDF.test,v 1.3 2005/09/09 21:09:01 neumann Exp $ # package require XOTcl; namespace import -force xotcl::* Index: xotcl/tests/xocomm.test =================================================================== diff -u -r435b41481fb51bf000ebe736d8574fefbeec1710 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/tests/xocomm.test (.../xocomm.test) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) +++ xotcl/tests/xocomm.test (.../xocomm.test) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,5 +1,5 @@ #!../../xotcl-0.9.4/xotclsh -# $Id: xocomm.test,v 1.3 2005/09/09 21:07:23 neumann Exp $ +# $Id: xocomm.test,v 1.4 2005/09/09 21:09:01 neumann Exp $ package require XOTcl; namespace import -force xotcl::* lappend auto_path [file dirname [info script]]/.. package require xotcl::test Index: xotcl/unix/pkgIndex.unix =================================================================== diff -u -r0896d4deb00780e48b5b03269bf9c4ecca948919 -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/unix/pkgIndex.unix (.../pkgIndex.unix) (revision 0896d4deb00780e48b5b03269bf9c4ecca948919) +++ xotcl/unix/pkgIndex.unix (.../pkgIndex.unix) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,4 +1,4 @@ - package ifneeded XOTcl 1.3.5 [list load \ - [file join $dir libxotcl1.3.5.so] XOTcl] + package ifneeded XOTcl 1.3.7 [list load \ + [file join $dir libxotcl1.3.7.dylib] XOTcl] Index: xotcl/unix/xotcl.spec =================================================================== diff -u -r55764ef8921abb0e4f506e0ae6b0caf3f842276d -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/unix/xotcl.spec (.../xotcl.spec) (revision 55764ef8921abb0e4f506e0ae6b0caf3f842276d) +++ xotcl/unix/xotcl.spec (.../xotcl.spec) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -1,10 +1,10 @@ Summary: Object Oriented Extension for Tcl Name: xotcl -Version: 1.3.5 +Version: 1.3.7 Release: 0 Copyright: open source Group: Development/Languages -Source: http://www.xotcl.org/xotcl-1.3.5.tar.gz +Source: http://www.xotcl.org/xotcl-1.3.7.tar.gz URL: http://www.xotcl.org Packager: Gustaf.Neumann@wu-wien.ac.at Distribution: RedHat 8.0 @@ -21,11 +21,11 @@ consult http://www.xotcl.org %prep -%setup -q -n xotcl-1.3.5 +%setup -q -n xotcl-1.3.7 %build -./configure --with-tcl=/usr/lib --with-all --prefix=/usr --exec-prefix=/usr +./configure --with-tcl=/usr/lib --with-all --prefix=/usr/local --exec-prefix=/usr/local #make CFLAGS_DEFAULT='-O3 -mcpu=i686 -Wall -fomit-frame-pointer' make CFLAGS_DEFAULT='-O3 -Wall -fomit-frame-pointer' @@ -37,10 +37,10 @@ %undefine __check_files %doc doc -/usr/lib/xotcl1.3.5 -/usr/bin/xotclsh -/usr/bin/xowish -/usr/include/xotclDecls.h -/usr/include/xotcl.h -/usr/include/xotclIntDecls.h -/usr/include/xotclInt.h +/usr/local/lib/xotcl1.3.7 +/usr/local/bin/xotclsh +/usr/local/bin/xowish +/usr/local/include/xotclDecls.h +/usr/local/include/xotcl.h +/usr/local/include/xotclIntDecls.h +/usr/local/include/xotclInt.h Index: xotcl/xotclConfig.sh =================================================================== diff -u -r55764ef8921abb0e4f506e0ae6b0caf3f842276d -rad8a63234e44a8788efede276e811051ab891fbe --- xotcl/xotclConfig.sh (.../xotclConfig.sh) (revision 55764ef8921abb0e4f506e0ae6b0caf3f842276d) +++ xotcl/xotclConfig.sh (.../xotclConfig.sh) (revision ad8a63234e44a8788efede276e811051ab891fbe) @@ -15,7 +15,7 @@ XOTCL_VERSION='1.3' XOTCL_MAJOR_VERSION='1' XOTCL_MINOR_VERSION='3' -XOTCL_RELEASE_LEVEL='.5' +XOTCL_RELEASE_LEVEL='.7' # String to pass to compiles to pick up includes during build # (i.e., assuming nothing has been installed) @@ -24,34 +24,34 @@ # String to pass to compiles to pick up the XOTcl includes from their # installed directory. -XOTCL_INCLUDE_DIR="/usr/include/xotcl1.3.5" +XOTCL_INCLUDE_DIR="/usr/local/include/xotcl1.3.7" XOTCL_INCLUDE_SPEC="-I$XOTCL_INCLUDE_DIR" # The name of the XOTcl library (may be either a .a file or a shared library): -XOTCL_LIB_FILE=libxotcl1.3.5.so +XOTCL_LIB_FILE=libxotcl1.3.7.dylib # String to pass to linker to pick up the XOTcl library from its # build directory. -XOTCL_BUILD_LIB_SPEC='-L/home/neumann/xotcl-1.3.5 -lxotcl1.3.5' +XOTCL_BUILD_LIB_SPEC='-L/Users/neumann/src/xotcl-1.3.7 -lxotcl1.3.7' # String to pass to linker to pick up the XOTcl library from its # installed directory. -XOTCL_LIB_SPEC='-L/usr/lib/xotcl1.3.5 -lxotcl1.3.5' +XOTCL_LIB_SPEC='-L/usr/local/lib/xotcl1.3.7 -lxotcl1.3.7' # The name of the XOTcl stub library (a .a file): -# XOTCL_STUB_LIB_FILE=libxotclstub1.3.5.a +# XOTCL_STUB_LIB_FILE=libxotclstub1.3.7.a # String to pass to linker to pick up the XOTcl stub library from its # build directory. -XOTCL_BUILD_STUB_LIB_SPEC='-L/home/neumann/xotcl-1.3.5 -lxotclstub1.3.5' +XOTCL_BUILD_STUB_LIB_SPEC='-L/Users/neumann/src/xotcl-1.3.7 -lxotclstub1.3.7' # String to pass to linker to pick up the XOTcl stub library from its # installed directory. -XOTCL_STUB_LIB_SPEC='-L/usr/lib/xotcl1.3.5 -lxotclstub1.3.5' +XOTCL_STUB_LIB_SPEC='-L/usr/local/lib/xotcl1.3.7 -lxotclstub1.3.7' # Name of the xotcl stub library with full path in build and install directory -XOTCL_BUILD_STUB_LIB_PATH='/home/neumann/xotcl-1.3.5/libxotclstub1.3.5.a' -XOTCL_STUB_LIB_PATH='/usr/lib/xotcl1.3.5/libxotclstub1.3.5.a' +XOTCL_BUILD_STUB_LIB_PATH='/Users/neumann/src/xotcl-1.3.7/libxotclstub1.3.7.a' +XOTCL_STUB_LIB_PATH='/usr/local/lib/xotcl1.3.7/libxotclstub1.3.7.a' # Location of the top-level source directories from which XOTcl # was built. This is the directory that contains generic, unix, etc. @@ -61,9 +61,9 @@ XOTCL_SRC_DIR='.' # shared and unshared library suffix -XOTCL_SHARED_LIB_SUFFIX=1.3.5${DBGX}.so -XOTCL_UNSHARED_LIB_SUFFIX=1.3.5${DBGX}.a +XOTCL_SHARED_LIB_SUFFIX=1.3.7.dylib +XOTCL_UNSHARED_LIB_SUFFIX=1.3.7.a # the shell in whose installation dirs the xotcl package is installed -XOTCL_COMPATIBLE_TCLSH=/home/neumann/tcl8.4.9/unix/tclsh +XOTCL_COMPATIBLE_TCLSH=/usr/bin/tclsh8.4.4