TEA (tclconfig) Source Code

Timeline
Login

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

15 check-ins using file tcl.m4 version 9af027a75e

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
14:44
Added facilities to build an internal pkgIndex.tcl file for kits

Added version detection and tracking for static packages, as well as a flag to indicate if a package should be automatically loaded when the shell initializes check-in: 3d7c8fae82 user: hypnotoad tags: practcl

2016-06-23
19:33
Adapted the build process such that dynamic C code can decide for itself to be compiled as a standalone C file rather than be massed into the main application/library loader check-in: 9244b28b3e user: hypnotoad tags: practcl
2016-06-21
23:45
Based on feedback from the community, changed the "practcl.tcl.in" template to "config.tcl.in", and it stores a key/value list instead of a stream of Tcl commands

Rewrote chunks of practcl to better handle builds in a different directory than the source checkout.

The kit builder now creates its own build folders for binary packages

Package objects now compute a builddir on startup

Replaced calls the the global ::project array with calls to [define get]. (Note: make files are still welcome to write to a ::project array. That array is simply no longer assumed to be present and populated by most of the practcl library.) check-in: b19812c359 user: hypnotoad tags: practcl

14:40
Added a --with-tclsh option, to allow dynamic build systems to utilize a known good Tcl interpreter instead of guessing when generating dynamic content check-in: 57bcbae0cb user: hypnotoad tags: practcl