TEA (tclconfig) Source Code

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 events occurring around c8eddeddb9bbabc4.

2016-12-09
16:22 Ticket [ab69a602bf] MSVC rules.vc: Set HAVE_UINTPTR_T & HAVE_INTPTR_T status still Open with 3 other changes artifact: 030bdcb637 user: mr_calvin ... 2 similar events omitted.
2016-11-19
09:08
Adding provisions to support multiple tool chains

GCC style implemented as the first, with an empty implemenation intended for MSVC check-in: d810d2ecd7 user: hypnotoad tags: practcl

2016-11-02
15:15
Fixes to ensure prefix setting are consistent across the core and extensions check-in: 37039116de user: hypnotoad tags: practcl
2016-10-26
19:01
Added a PRACTCL_WINDOWINGSYSSTEM flag

Added better handling for Cocoa/Hitheme and SDL check-in: 260e64606d user: hypnotoad tags: practcl

17:10
Fixed the routine that was supposed to be converting .lib files to -l flags

Fixed how TEA platform strings and architectures are computed during cross compiles check-in: 52d135a32d user: hypnotoad tags: practcl

15:14
Added a copy of http::wget from tcllib check-in: 8ada06f13f user: hypnotoad tags: practcl
00:08
Tweak to ensure the config.site trumps autoconf. check-in: dd4163508c user: hypnotoad tags: practcl
2016-10-25
22:10
Replace [define get os] calls to [define get TEAPOT_OS] check-in: 0effaa95ee user: hypnotoad tags: practcl
21:44
Fixed a problem with the Package index maker

Fixed a problem with the {package ifneeded} generated for a static library

Removed several chatty PARRAY lines check-in: ef37cbe372 user: hypnotoad tags: practcl

20:40
Fixed a goof in the TEA_CONFIG_TEAPOT mechanism. It wasn't checking that TEA_CONFIG_SYSTEM had run first check-in: 1fe2fc0c6d user: hypnotoad tags: practcl
19:33
Changed the install-vfs method on subprojects to the install method

Made the destroot a manditory argument check-in: 9306bcea5f user: hypnotoad tags: practcl

18:20
Removed compiler and toolset detection from [local_os] moved those checks (with xcompile aware logic) into config.tcl

Standardized srcroot -> srcdir

Added a critcl invoker

Revamped where projects get tclconfig from

Added tool handlers for critcl, kettle, and tcllib check-in: e35781ffa1 user: hypnotoad tags: practcl

2016-10-22
02:07
Fine tuning check-in: 568593190d user: hypnotoad tags: practcl
01:00
Bumped version to 0.7

Added support for Tcl 8.5 by either reimplementing features or providing an alternate implementation

Added a local preference file for storing persistent data

Removed a lot of chatty PUTS statements

Creates an object called ::pratcl::LOCAL which stores the local platform data, and can act as a project for the purpose of installing local build tools

Added a facility to load a package from tcllib (and go so far as to install a resident tcllib)

Created a modular plugin architecture for software distribution and local tools check-in: 7890e70c40 user: hypnotoad tags: practcl

2016-10-20
18:59
Updating a few calls to ::debug to point to ::practcl::debug instead check-in: d0a296b832 user: hypnotoad tags: practcl
18:49 Edit [fae8456ce9363754|fae8456ce9]: Add propagating "hidden". Mark "Closed". artifact: 2afd320d0e user: hypnotoad
2016-10-18
16:34
Moved all commands to the ::practcl namespace check-in: b3592dd5a3 user: hypnotoad tags: practcl
2016-10-06
22:10
Further efforts to keep DEFS from shell/GCC from being passed through subst check-in: e86ee9359a user: hypnotoad tags: practcl
18:41
Eliminated the effort in trying to sanitize compiler flags and replace the PACKAGE_NAME, PACKAGE_VERSION, etc.

Now we just append -D entries to the end of the block. Needed because many of the quoting fixes to allow Mac to work directly conflict with quoting fixes needed to make MinGW work. check-in: 19c24ccebd user: hypnotoad tags: practcl

2016-10-05
02:21
Pulling changes from trunk check-in: a70b84cb3e user: hypnotoad tags: practcl
2016-10-04
19:55 Closed ticket [5c9aac9213]: Update tcl.m4 to include NetBSD install path plus 5 other changes artifact: 9c5e0c866c user: hypnotoad ... 1 similar event omitted.
19:37
Added /usr/pkg/lib to the paths searched on the journey to find tclConfig.sh check-in: c8eddeddb9 user: hypnotoad tags: trunk
2016-10-03
21:18
Fixed a quoting problem in de_shell

Added better handling for ranlib check-in: 61c2cff8a3 user: hypnotoad tags: practcl

2016-10-02
19:23
Clarified how shells compiled against a core implementing tip#430 should be different to those where we are utilizing an external zipfs implemention check-in: b6593bbc14 user: hypnotoad tags: practcl
11:57
Adding support for cross compiling. Practcl now looks for a "CONFIG_SITE" element in the master project's define array. If present, practcl adapts itself to perform a cross compile.

If ::practcl::config.tcl is run, this entry will be automatically created if a config.site file is in the directory of the master project build.

CONFIG_SITE points to a file containing a sh compadible description of the cross compiler environment. Practcl will also read and respond to flags in this file check-in: 17134ff7ac user: hypnotoad tags: practcl

2016-09-30
03:30 Ticket [5c9aac9213] Update tcl.m4 to include NetBSD install path status still Open with 3 other changes artifact: b2f8e611e3 user: anonymous ... 1 similar event omitted.
2016-09-23
14:57
Fix to cut down on the number of empty trace comments in generated C code

Added provisions of private (i.e. static) typedefs and structs in C files

Moved where verbatim headers are read in from

Added a the concept of a "pre C loaded" tcl init script and "post C loaded" tcl init script check-in: dd33f1cac6 user: hypnotoad tags: practcl

2016-08-31
16:16
Closing a local branch check-in: 0022e43c53 user: hypnotoad tags: practcl
16:03
Corrected a logic bug in the struct access macros used to pull metadata from objects.

Defined a thisObject variable for every method's implementation which will be pre-populated with the current object the method is servicing.

Macros now refer to thisObject instead of constantly hammering the Tcl_ObjectContextObject() function check-in: 897a86da1e user: hypnotoad tags: practcl

2016-08-15
22:30
Fix to exercise the install-package keyword when installing a practcl package check-in: 42843bd2f2 user: hypnotoad tags: practcl
2016-08-12
14:21
Rewrote the compiler option digester

It's a long story. A long, long story actually... check-in: 39000ffade user: hypnotoad tags: practcl

11:54
Added an AC_SUBST to capture if this extension is a Tk extension

Added a "fossil_status" command to capture data from fossil (because the standard fossil command redirects stdout)

Eliminated the internal mkzip implementation, and replaced with a mechanism to download a local copy of tcllib

Added a Tcl->C encoder

Bootstrap Tcl scripts are now embedded in C rather than distributed as a seperate file

Tweaks to the kitbuilding process

Added a "Collate_Source" method, which allows a project to generate its dynamic sources during the compilation sequence, instead of during initialization of the object

Created a class to handle behaviors particular to autoconf based projects, and split that behavior from the library class.

Created a new "project" class to act as a high level abstraction for projects which may implement both a kit and a dynamic library

Eliminated the need to have a copy of odie in order to generate a basic kit.

Added behaviors to exercise a practcl style make.tcl script if present within a project. check-in: aa9025645c user: hypnotoad tags: practcl

2016-08-03
10:15
Tweaked how option escape characteres are managed

Added CFLAGS and PKG_CFLAGS to the config.tcl.in substitution template check-in: 3529a5fc6d user: hypnotoad tags: practcl

2016-08-01
21:26
Moved where the IncrRefCount is applied so it happens BEFORE we check for the existence of the init script check-in: 873469a3cf user: hypnotoad tags: practcl
20:54
Added the concept of aliases to practcl triggers/depends/targets

Added a compute flag for dependencies that returns a cached answer to prevent infinite recursion check-in: 88edbd2f64 user: hypnotoad tags: practcl

18:45
Added a general purpose Tcl script -> constant C string encoder.

Added a complete zipkit implementation. (We no longer need to go out to odie for hard coded C sources.)

If zipfs.c is present in the Tcl sources, that is used. If zipfs.c is not present, odie is automatically added as a sub-project and the zipfs implementation from there is used. (Helpful while we transition from 8.6 -> 8.7)

The "main" file produced for a zipkit now includes a complete TCL_LOCAL_APPINIT and TCL_LOCAL_MAINHOOK implementation, as well as a package index and zipfs mounter. This file is generated at implementation time.

Re-arranged the kit building process such that dynamically added sources have a chance to influence compile flags check-in: a99373f005 user: hypnotoad tags: practcl

2016-07-31
13:22
New version 0.5

Removed the seperate classes tracking static vs. dynamic binary extensions. They are now a single class and the build strategy is determined by the "static" define.

Created a unified "Configure" method which used by both the config.sh and compile method. It turns out that much of what config.sh needs isn't known until autoconf is run.

Fixed a quoting problem for spaces in -D flags

Simplified the arguments for ::practcl::build::static-tclsh. We now only need to pass the master object, the script can figure out the rest. (For now, so long as there are two sub-objects TCLCORE and TKCORE) check-in: 8b2c5d5403 user: hypnotoad tags: practcl

2016-07-25
15:09
Developed a new mechanism for advertising a package, but not invoking its loader. The key part is to build a minimalist proc in the tcl interp that can invoke the PROJ_Init from the interpreter in response to a "package require".

We can't use Tcl_StaticPackage, because that assumes the Init call was already loaded check-in: 6979153dcc user: hypnotoad tags: practcl

2016-07-05
13:40
Pulled a puts statement check-in: 0c2b56e291 user: hypnotoad tags: practcl
2016-06-29
22:54
Going back to disabling stubs for static libraries. Something in stock make files for TEA packages dies horribly on [make all] with --disable-shared but -enable-stubs check-in: a6169325e2 user: hypnotoad tags: practcl
20:59
Adding a new "domake.tcl" which is designed to exercise a practcl tcl make system.

Behavioral fixes for sub-components which can have elements of the Init() process farmed to them

Added handlers for compiling a library and basekit in debug mode

Added a mechanism for the build system to compile a different obj file for debug mode

Added tweaks for Tk extensions

Fixed the pkgindex.tcl file generator for static libraries.

Practcl libraries now burn Tcl initialization code into the C library itself, eliminating the need for an external tcl file check-in: 3dfb97da54 user: hypnotoad tags: practcl

2016-06-27
13:51
Tweaked modules and libraries to honor the desire of sub-modules and dynamic sources to express themselves as seperate C files check-in: b684dbfbf8 user: hypnotoad tags: practcl
2016-06-25
15:03
Finally have a working implementation to build shared libraries from Tcl.

Moved the makefile snippet generator to a proc.

Added a few more substitutions that the tcl based make system requires check-in: d1d02eb80e user: hypnotoad tags: practcl

2016-06-24
16:22 Changes to wiki page Practcl Retrofit artifact: 10383a362f user: hypnotoad
16:21 Changes to wiki page Practcl Retrofit artifact: 94bcf5d5f1 user: hypnotoad
16:21 Changes to wiki page practcl make.tcl artifact: 8b4cf193fc user: hypnotoad