Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 check-ins occurring around c8eddeddb9bbabc4.
2017-01-11
| ||
16:35 | Removing "inline" from headers, and placing that information in the C source files. The behavior of "extern inline" is well into the realm of dragons when trying to reconcile gcc and clang check-in: 2587b67f73 user: hypnotoad tags: practcl | |
16:03 | Fix to close the "config.tcl" file when finished generating it check-in: 4ba20c502c user: hypnotoad tags: practcl | |
16:00 | Added new markup and handling for extern inline functions check-in: eb2e416b87 user: hypnotoad tags: practcl | |
2016-12-16
| ||
00:01 |
Fixes to the build process for shells that statically link Tk (and generally require
access to the Tk headers)
Fixed a typo check-in: 4d5df47620 user: hypnotoad tags: practcl | |
2016-12-15
| ||
21:46 | Reverted the zipfs path prefix to zipfs:/ based on further testing in Windows check-in: d727a76322 user: hypnotoad tags: practcl | |
20:37 |
Practcl 0.8a1
The prefix for zip volumes is now selectable at compile time. The default has been changed to //zipfs:, based on feedback from Christian Werner and Roy Keene Users can select the sandbox location per-project now with the ::practcl::config array (which also allows other parameters to be modified). These changes have to be present in memory before ::practcl::config.tcl is called ::practcl::LOCAL defers as long as possible before instantiating itself. check-in: ff60b31c63 user: hypnotoad tags: practcl | |
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 | |
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: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-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
| ||
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 | |
2016-06-20
| ||
18:59 |
Added a built-in tool to fill in the gaps provided by autoconf for platforms where
autoconf is not available.
Added a mechanism for the tclkit integrator to derive ./configure time information from the Makefile for packages where a "practcl.rc" file is not generated. The process of substituting DEFS and generating self contained executables are now procedures instead of object methods. Added a mechanism for compiled objects to specify their output product's file name. Added handlers for compiling and linking C++ code. Added hooks to exploit the new static library build features of TEA 3.10 Incorporated the SUBPACKAGE method defined in IRM to the main practcl library. Added several common subpackage component classes to the practcl library Added a new export PRACTCL_CFLAGS, which provides a snapshot of the CFLAGS generated by autoconf for a package minus the package specific flags check-in: 148be84c92 user: hypnotoad tags: practcl | |