TEA (tclconfig) Source Code

Timeline
Login

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

200 most recent check-ins using file README.txt version 180f4215d5

2020-07-03
11:04
TIP #578: Death to TCL_DBGX check-in: fff5880706 user: jan.nijtmans tags: trunk
2020-06-24
07:26
Fix [eb3db1c765]: Missing include in tcl.m4 causes configure failure in macOS on Apple Silicon check-in: 0f70d72743 user: jan.nijtmans tags: trunk
2020-05-22
07:54
Add link flags "-lz" and "-ltommath" to the TEA_TCL_LINK_LIBS macro: Tcl 8.6 needs -lz and Tcl 8.7 will need -ltommath when available (and recent enough version), so tclkit packages (statically built) might need this. check-in: 257dd7df23 user: jan.nijtmans tags: trunk
2020-04-15
16:47
Add many double-quotes in lines using ${LIB_RUNTIME_DIR}, in case LIB_RUNTIME_DIR contains a space in its path. check-in: 2ef71de225 user: jan.nijtmans tags: trunk
2020-03-27
11:14
Add TEA_TCL_LINK_LIBS macro, might be useful for some extensions. Also add check for mktime to TEA_TIME_HANDLER. check-in: f23b15ddfd user: jan.nijtmans tags: trunk
2020-02-11
10:28
MAKE_SHARED_LIB should have ${SHLIB_LD_LIBS} at the end (and only once). check-in: f34df7f998 user: jan.nijtmans tags: trunk
10:18
Fix f20bee173b: configure script using tclconfig doesn't honor LDFLAGS on configure run check-in: f636db8084 user: jan.nijtmans tags: trunk
2020-01-23
09:34
Fix [5539b4cca6]: TEA_ADD_LIBS does not work correctly for Darwin->Windows cross-build check-in: b386ba70f1 user: jan.nijtmans tags: trunk
2020-01-06
11:16
On OpenBSD, handle possible LDFLAGS specification on "configure" command-line. check-in: 68a2eea873 user: jan.nijtmans tags: trunk
11:09
On Cygwin don't check for a real Cygwin compiler: we might be cross-compiling. check-in: 91ba3d2e0c user: jan.nijtmans tags: trunk
2019-12-30
15:32
Merge most of FreeBSD and DragonFly config into Linux check-in: eb87d49494 user: gahr tags: trunk
2019-11-14
20:03
Remove SDK special handling: It doesn't work any more with latest Microsoft SDK's, does more harm than it helps. Tested with latest Visual Studio 2019. Hopefully this gets the Travis build with cl/make working better. check-in: 11d74eabd7 user: jan.nijtmans tags: trunk
2019-10-31
12:48
DL_OBJS and DL_LIBS don't belong in the tcl.m4 from TEA check-in: 807ab20b29 user: jan.nijtmans tags: trunk
12:43
Sync tcl.m4 with version from Tcl 8.6 (e.g. path changes on MacOS and Debian patches) check-in: 0cf686bbc3 user: jan.nijtmans tags: trunk
2019-09-09
13:17
Closing fork Leaf check-in: 832915fb01 user: hypnotoad tags: practcl
13:11
Update Practcl.tcl to the latest

Workaround in tclZipFs for an internal API change in the Tcl Core post 8.6.9 check-in: 79972997da user: hypnotoad tags: practcl

2019-08-21
12:06
integrate msys-windows-fix: fix system recognition for some msys toolchains (providing uname -s = MSYS_NT-10.0) check-in: fb89855ce1 user: sebres tags: trunk
2019-08-20
11:31
fix system recognition for some msys toolchains (providing uname -s = MSYS_NT-10.0) Closed-Leaf check-in: 812ab92b3a user: sebres tags: msys-windows-fix
2019-07-26
13:14
Updating to the latest practcl check-in: 149b1e1e5f user: hypnotoad tags: practcl
2019-07-25
21:48
Updated Practcl from clay check-in: 9904f168a6 user: hypnotoad tags: practcl
2019-04-08
16:09
Update to Practcl check-in: 4badff3c09 user: hypnotoad tags: practcl
2019-01-23
08:16
Remove support for Windows CE. It doesn't work anyway (since it's already unsupported for a long time, even by Microsoft) check-in: cbe95d1d87 user: jan.nijtmans tags: trunk
2019-01-22
15:40
Don't use -prebind option on MacOSX any more: was only needed for OSX < 10.4, which is no longer supported (2005!!!) check-in: 33407d14ed user: jan.nijtmans tags: trunk
2019-01-17
09:45
fixes configure error "Windows/CE and GCC builds incompatible" as well as proper tcl_platform (if cross-compiled in unix) by mingw build. check-in: 8b4bbb54c8 user: sebres tags: trunk
2019-01-09
14:48
mingw cross-compile: fix 2nd mistake - invalid tcl_platform retrieved, resp. overwritten if cross-compiled in unix (tcl_platform should be windows in mingw) Closed-Leaf check-in: 0823b5e65a user: sebres tags: sebres-fix-cross-comp-mingw
13:44
fix cross-compile build for windows(mingw) from *nix: set default wince to off for all platforms exepting windows, take care the option (--enable-wince/--disable-wince) check-in: 66ccb87578 user: sebres tags: sebres-fix-cross-comp-mingw
2018-12-05
15:31
Updating Practcl from tcllib check-in: 8171d2845f user: hypnotoad tags: practcl
2018-12-03
14:35
Don't warn any more for an OK situation. check-in: 4ebdc474ec user: jan.nijtmans tags: trunk
2018-10-31
20:58
Add support for DragonFly check-in: 6ff48b25e2 user: jan.nijtmans tags: trunk
2018-10-28
06:50
Fixed a typo in practcl. Tweak to ensure inside of the practcl::module class that the make_object dict exists check-in: 64bde17a6d user: hypnotoad tags: practcl
2018-10-25
17:53
Updated practcl check-in: 4519879c71 user: hypnotoad tags: practcl
2018-10-24
02:49
Removing windows line breaks check-in: 3daecc999e user: hypnotoad tags: practcl
2018-10-16
21:12
Backout [a413acb98d], since with this change at least tclsqlite doesn't build any more check-in: 094d08a80a user: jan.nijtmans tags: trunk
2018-10-01
21:33
Modifications to skip threading checks (that no longer work) for tcl 8.7+ and just assume threading for the purposes of comparing what the package wants. check-in: 4e2ab62998 user: hypnotoad tags: practcl
2018-09-24
14:16
Pulling changes from TEA check-in: 72a7e44a99 user: hypnotoad tags: practcl
14:05
Updating Practcl to the latest version from tcllib check-in: 68c6d500d5 user: hypnotoad tags: practcl
2018-08-13
08:22
remove strings that break CFLAGS at configure time check-in: a413acb98d user: pooryorick tags: trunk
2018-07-13
18:51
Pulling changes from trunk check-in: 19783bad7e user: hypnotoad tags: practcl
18:51
Updating practcl check-in: d290270581 user: hypnotoad tags: practcl
2018-06-20
07:17
Undo TEA_PATH_CONFIG changes regarding addtional paths until it's more clear where OpenBSD/FreeBSD stores it's 'official' itclConfig.sh/tdbcConfig.sh. Fix [923f400aa03a5608]: New paths required for Darwin

Stu adds: This has nothing to do with where any one os stores itcl/itkConfig.sh.

It shouldn't matter to *tclconfig* where any anything stores anything, should it?

This is supposed to be a generic routine, used to pick up the *Config.sh of any extension.

There is no "common store" for *Config.sh files on any platform, afaict. Extensions currently keep their *Config.sh files in their own dirs. I believe this to be the case currently for all extensions and platforms. Perhaps changing this convention is a good idea.

The way things are currently, adding dirs for itcl would then mean adding dirs fors tdbc, tdom, etc.? I don't see that as being viable in the long-term. check-in: df3b672e10 user: jan.nijtmans tags: trunk

2018-06-18
08:01
Minor fix in search oder for Tcl/Tk installations, and implement similar paths to search for in TEA_PATH_CONFIG too.

Stu adds: I believe this is incorrect. The tcl/tk paths should not be searched. TEA_PATH_CONFIG is for extensions, not tcl/tk. Extensions should not be putting their *Config.sh files in tcl/tk dirs. I didn't change anything here because I saw nothing needed changing; I didn't forget or omit.

Was the order changed because the order was problematic? check-in: 655a668f73 user: jan.nijtmans tags: trunk

2018-06-15
10:01
Align common install locations in TEA_PATH_TCLCONFIG and TEA_PATH_TKCONFIG. Add FreeBSD and OpenBSD paths. check-in: 111e9cf7e4 user: stu tags: trunk
2018-05-07
16:12
Fix to practcl to handle compiling a tclkit with debugging symbols under MinGW cross compiles check-in: 5ab3f8defd user: hypnotoad tags: practcl
2018-03-21
22:21
Fix [b886654413]: TEA_INIT does not detect MINGW64_NT as windows. check-in: 0a530cebd7 user: jan.nijtmans tags: trunk
2018-03-13
23:29
Updated practcl check-in: 56de62439d user: hypnotoad tags: practcl
2018-03-12
22:08
Updating practcl check-in: 73921e6a67 user: hypnotoad tags: practcl
2018-02-25
18:08
Remove TEA_MISSING_POSIX_HEADERS for the same reason as TEA_TCL_LINK_LIBS: The C flags determined should come in through tclConfig.sh check-in: 676f585860 user: jan.nijtmans tags: trunk
2018-02-23
18:06
Making the version number for practcl 4.0 check-in: a6d9f5e62f user: hypnotoad tags: practcl
18:02
Pulling changes from trunk check-in: 6f6a4f642f user: hypnotoad tags: practcl
17:53
Removed the TEA_TCL_LINK_LIBS macro. It wasn't being used, and had the potential to introduce dependencies that weren't called for in the tclConfig.sh file check-in: d25e5c0691 user: hypnotoad tags: trunk
2018-01-22
17:23
Added a substitution to config.tcl.in to capture Tea's prefered name for the zip archive the package will produce.

New version of practcl from tcllib

Update from the core of tclZipfs.c to fix windows platform compile problems check-in: fb80000a6f user: hypnotoad tags: practcl

2018-01-17
15:59
Added facilities to mount data blocks as zip archives

Updated practcl from tcllib with new headers for non tip430 kits check-in: 1871415cb9 user: hypnotoad tags: practcl

02:44
Modifications to the TEA zipfs implementation to index file systems by mount point. check-in: 02d71a5423 user: hypnotoad tags: practcl
00:22
Separated the indexing of zip contents from the opening of the zip file stream check-in: af56cbe24a user: hypnotoad tags: practcl
2018-01-16
23:27
New version of practcl.tcl from tcllib.

New version of the tclZipfs.c file. Now an identical file is checked into set core itself. check-in: 3785abe658 user: hypnotoad tags: practcl

2018-01-12
19:31
Move installer setup into its own function. Set installer perms per system. check-in: 620fee994e user: stu tags: trunk
2018-01-11
19:38
Updated practcl from tcllib check-in: f6a89ef414 user: hypnotoad tags: practcl
18:09
Update version to 4.0. Added an implementation of tclzipfs.c in the compat/ directory. Updated the practcl library check-in: 310f8e80f8 user: hypnotoad tags: practcl
17:16
Fix the name of the zipfs implementation in odie check-in: 441230505a user: hypnotoad tags: practcl
2018-01-04
07:14
Move INSTALL_* setup from TEA_SETUP_COMPILER_CC (doesn't really belong there) to TEA_INIT so they will be available for non-compiled extensions as well. Remove another TEA version comment. check-in: e4eeee011d user: stu tags: trunk
04:25
Remove now irrelevant comment. check-in: 764f416790 user: stu tags: trunk
04:03
No longer require TEA version. Addresses [1703170]. Bump version to 3.12. check-in: f8fa7e4905 user: stu tags: trunk
03:40
Make each INSTALL_* its own thing and give it perms. check-in: 49dd1ee9e2 user: stu tags: trunk
2017-12-12
20:32
Practcl fixes to git repo management check-in: c9ba01fef0 user: hypnotoad tags: practcl
2017-12-10
19:34
No longer worry about <float.h>. See: http://core.tcl.tk/tcl/info/bf8e546c42d6973c check-in: b1e4e676ea user: jan.nijtmans tags: trunk
19:33
Fix 4f51e1c5dc: patch to correct linker flag sequence check-in: 41bfda29a8 user: jan.nijtmans tags: trunk
2017-12-06
11:50
Tweak to gloss over corrupted .tm files when indexing packages check-in: d28e2babbf user: hypnotoad tags: practcl
2017-12-02
01:10
Tweak to how kits index teapot caches check-in: bc30af25be user: hypnotoad tags: practcl
2017-11-30
20:14
Updated practcl. Wrappers now make the teapot directory unique for each platform check-in: a16bf83306 user: hypnotoad tags: practcl
2017-11-29
22:09
Updating to practcl 0.10.1 from tcllib check-in: 8526551d20 user: hypnotoad tags: practcl
12:24
Adaptations to non tip 430 kit builds to use a version of zipfs which is featureset compatible with tip430 check-in: efdc257473 user: hypnotoad tags: practcl
10:21
Updating practcl from tcllib check-in: 1c421720fa user: hypnotoad tags: practcl
2017-11-28
19:14
Minor tweak to mingw executables check-in: c0e00e3fe8 user: hypnotoad tags: practcl
11:47
Improvement to prevent -framework calls from being filtere d check-in: c685935d22 user: root tags: practcl
11:36
Experimental build. Changes the way binaries are linked by using more data from tclConfig.in check-in: 83845d507e user: root tags: practcl
2017-11-27
17:45
Updating to the latest practcl check-in: dd0d9fad47 user: hypnotoad tags: practcl
2017-11-21
22:47
Pulling changes from trunk check-in: eebc05f037 user: hypnotoad tags: practcl
22:45
Adding zipfs support for TEA extensions check-in: b87ca83339 user: hypnotoad tags: trunk
2017-11-04
09:50
Tweak to practcl check-in: 47bbe99bd5 user: hypnotoad tags: practcl
09:27
More improvements to practcl. See tcllib checkin check-in: 5408a1a323 user: hypnotoad tags: practcl
06:03
Another update to practcl check-in: 14e167783c user: hypnotoad tags: practcl
2017-11-03
19:20
Updating practcl.tcl check-in: f2fa2eb449 user: hypnotoad tags: practcl
2017-10-24
19:43
Updated practcl to the latest version check-in: 69e0145691 user: hypnotoad tags: practcl
2017-10-18
20:19
Small checkin to trigger sha3 conversion check-in: e79d0c8936 user: hypnotoad tags: practcl
2017-10-16
12:11
Updated practcl to the new version build from tcllib check-in: 776b90accb user: hypnotoad tags: practcl
2017-10-13
03:53
Changed the mountroot for zipfs back to zipfs:/ check-in: 6b199f8337 user: hypnotoad tags: practcl
2017-10-05
17:14
Updated zipkit builder to use the new practcl implementation of zipfs tucked into odielib. check-in: 42db8cee48 user: hypnotoad tags: practcl
2017-09-25
16:37
Update Zipfs implementation to track with changes in tip#430 check-in: 2fc7b89c39 user: hypnotoad tags: practcl
2017-09-06
09:23
Tweaks to allow builds on MSVC check-in: 311894543e user: hypnotoad tags: practcl
2017-08-30
23:07
Fix to ensure that when we unpack tclconfig it opens with the practcl tagged sources check-in: 8e8b151b25 user: hypnotoad tags: practcl
2017-07-16
10:54
Pulling fixes from trunk check-in: 4d56606632 user: hypnotoad tags: practcl
2017-06-23
11:13
Modified the names of several methods to make it clearer what is going on in the notation

generate-cmethod -> generate-tcl_c_api

cmethod -> c_tcloomethod

c_tclproc_raw > c_tclcmd

Aliases for cmethod and c_tcl_proc raw have been kept to allow old practcl build to continue to work check-in: ee4fe788b9 user: hypnotoad tags: practcl

2017-06-03
11:54
More enhancements for debugging builds

Added names to practcl managed TclObjTypes

Each sub-project gets the name of the Tcl interpreter that called practcl as a --with-tclsh option

Added "clean" mechanisms for practcl managed builds

Created a seperate code checkout sandbox for Tcl and Tk when So that the switch between dubbing and normal builds is seemless

Added an additional pattern match for static compiled Tcl shells on Windows under MSYS/MinGW check-in: 7ca9d650cb user: hypnotoad tags: practcl

2017-05-22
08:37
On OpenBSD, make SHLIB_VERSION default to ".1.0" if not specified (as in Tcl/Tk's tcl.m4)

No,that's wrong. It was the way it was for a reason. I purposely set it up that way. Tcl/Tk's tcl.m4 is not the same as TEA's Tcl.m4 (as I said before). Why don't you ask me before doing things? Bro, do you even OpenBSD? Not happy at all, here. Closed-Leaf check-in: 5dd2f839c6 user: jan.nijtmans tags: mistake

2017-05-17
15:37
Added a dedicated library handler which allows a module to be pure code (as opposed to a compile product.) check-in: a54ea71f17 user: hypnotoad tags: practcl
15:34
Allow the package indexer to handle an empty or missing path check-in: cd0c6dfd0c user: hypnotoad tags: practcl
2017-05-14
08:46
All the world was a VAX. check-in: 18e79736d2 user: stu tags: trunk
2017-04-21
14:01
Added a mechanism to allow the distribution of binary extensions via kits without invoking the Tcl built-in behavior of unpacking dlls to a temporary location for each process

Any kits that contain a "teapot" directory will copy the contents to a designated path in the users' home directory, and run the packages from there. check-in: c5f23ff480 user: hypnotoad tags: practcl

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

2016-06-11
11:42
Pulling changes from trunk check-in: b9ed8aa410 user: hypnotoad tags: practcl
11:22
Updating comments

Condensing the STUBS_BUILD behaviors to one subroutine check-in: ba3a2928e5 user: hypnotoad tags: trunk

11:19
Fixing a typo in TEA check-in: e8d611141b user: hypnotoad tags: practcl
10:47
Pulling changes from trunk check-in: 1279f82873 user: hypnotoad tags: practcl
10:47
Added an --disable-stubs flag which can be used in conjuction with the --disable-shared flag will prevent the USE_TCL_STUBS and USE_TK_STUBS flags from being set check-in: ba73067b41 user: hypnotoad tags: trunk
2016-05-25
08:18
Modified the kitbuilder to no longer require a seperate KIT array. The data needed was already encoded in TCL and TK check-in: a82acf8adb user: hypnotoad tags: practcl
2016-04-07
23:37
Improvements to practcl:

Updated version to 0.3

Introduces some platform auto-dectect functions

Embeds a local copy of zip::mkzip

Adds a rudimentary build dependency system

Allows direct compilation of executables, shared libraries, and static libraries

Allows the downloading, compiling, and embedding of external Tcl binary (and script) packages check-in: 96175a5ab5 user: hypnotoad tags: practcl

2016-03-15
21:00
Fixes to practcl.

Practcl's package-ifneeded method now writes code that wraps properly inside of an amaglamated pkgIndex script check-in: e315779c3b user: hypnotoad tags: practcl

15:52
Bumped practcl to 0.2 check-in: cbe5f3d89b user: hypnotoad tags: practcl
15:48
Merging changes from trunk check-in: 986d80d3f4 user: hypnotoad tags: practcl
15:46
Improvments to practcl to allow for the creation of multiple static or dynamic libraries for a project.

Added several PRACTCL_ defines which allow a practcl enable build script to synthesize the instructions needed to compile libraries on the target platform. (MAKE_LIB, etc are unchanged) check-in: 5fce60ae04 user: hypnotoad tags: practcl

15:31
Fixes in the implementation to support odielib. This branch *should* be ready for others to start playing with it. check-in: dbb639b5c0 user: hypnotoad tags: practcl
2016-03-11
18:32
Fixed a missing quote. check-in: 3c009701ef user: hypnotoad tags: trunk
17:02
Creating a branch to explore using Tcl for package building automation. This project is build around the concepts introduced in the "practcl" package. check-in: b1a033f31d user: hypnotoad tags: practcl
15:40
Update the changelog check-in: 13585b8aa2 user: hypnotoad tags: trunk
15:25
Fixed whitespace and a typo on that last patch check-in: 82dfb08bb7 user: hypnotoad tags: trunk
15:07
Added tests to detect a static or threads built shell in the TCLSRC/win or TKSRC/win directory check-in: cf351061fd user: hypnotoad tags: trunk
2015-10-05
12:24
Fix for [3f2849aefcd09a] (ahum): square brackets must be doubled, otherwise they will be eliminated in the configure script :-) check-in: 60ecf0f95c user: jan.nijtmans tags: trunk
10:55
Fix [06f1692bbe]: cross compilation with native mingw compiler in Cygwin environment check-in: e0eb523adc user: jan.nijtmans tags: trunk
2015-09-30
11:19
Don't limit Universal runtime support to VisualStudio version 14 only, future versions will probably have it as well. check-in: 3f2849aefc user: jan.nijtmans tags: trunk
2015-08-28
13:33
Fix 00189c4afc: Allow semi-static UCRT build on Windows with VC 14.0 check-in: b433d084bb user: jan.nijtmans tags: trunk
2015-04-21
09:53
Fix comment, stating configure.in in stead of configure.ac. No functional change. check-in: a9aa1b9ba1 user: jan.nijtmans tags: trunk
2015-01-20
01:43
Add support for PACKAGE_LIB_PREFIX, useful when the library name cannot simply be 'libPkgName'. check-in: 1b09bad17f user: mistachkin tags: trunk
2014-09-27
23:18
Make SHLIB_VERSION optional. Only affects OpenBSD. check-in: 0c902862aa user: stwo tags: trunk
2014-09-11
08:40
Add INSTALL_DATA_DIR and INSTALL_LIBRARY for use in Makefile.in. Suggested by Stuart Cassoff [604f8d1457] check-in: 983f5da9f2 user: jan.nijtmans tags: trunk
2014-09-09
22:54
Better pic flag for OpenBSD. check-in: 6dc8f5ce34 user: stwo tags: trunk
2014-09-03
10:47
Cherry-pick a37bbd81ea from Tcl, for use in TEA as well: Combine TCL_SHLIB_LD_EXTRAS+TK_SHLIB_LD_EXTRAS (for Cygwin and FreeBSD) to a single SHLIB_LD_LIBS usable for both Tcl and Tk. check-in: a5c46e4a5b user: jan.nijtmans tags: trunk
2014-07-03
07:30
Restore FreeBSD-3.* rules to what they were before (unintended change in previous commit) check-in: 7f7291daf2 user: jan.nijtmans tags: trunk
2014-03-20
11:18
Fix 2f7cbd01c3: tcl8.6.1 fails to build on FreeBSD 10.0 check-in: 8d7373477b user: jan.nijtmans tags: trunk
2014-02-10
15:33
Some win32 compilers don't define __WIN32__ check-in: a0146cdddc user: jan.nijtmans tags: trunk
2014-01-23
13:15
Follow-up to [3324676]: Some TEA makefiles use INSTALL_(DATA|PROGRAM|SCRIPT), which should be provided for compatibility too. check-in: 8abeae4c1f user: jan.nijtmans tags: trunk
2013-12-29
10:57
Ticket [00ed054f4f]: Search in Debian per-version directories check-in: 9fb41ed228 user: jan.nijtmans tags: trunk
2013-11-21
12:52
Allow (dummy) enable-64bit on Cygwin64 check-in: 723e1db525 user: jan.nijtmans tags: trunk
2013-10-08
12:43
Bug [172223e008]: Wrong filename in --disable-shared compile on MinGW check-in: fd8dcd53b1 user: jan.nijtmans tags: trunk
2013-10-04
12:06
When compiling with MSVC++, no longer link the stub library with msvcrt??.dll. This way, workarounds in extensions like http://core.tcl.tk/itcl/info/a961f0729c are no longer necessary. check-in: 1f965ec888 user: jan.nijtmans tags: trunk
11:40
Follow-up on previous commit: -static-libgcc is gcc-specific check-in: 23e10752a6 user: jan.nijtmans tags: trunk
2013-10-01
12:39
Workaround for MinGW bug #2065: "gcc --shared" links with libgcc_s_dw2-1.dll when using 64-bit division in C check-in: 3d006aecf9 user: jan.nijtmans tags: trunk
2013-07-06
23:43
OpenBSD/m88k is now elf. Remove unneeded elf check. check-in: 19ae7b935c user: stwo tags: trunk
2013-07-05
09:48
TEA uses PACKAGE_VERSION in stead of VERSION everywhere, but in one place this was forgotten. check-in: a2eb340d1c user: jan.nijtmans tags: trunk
2013-07-04
11:58
Slightly better solution for [3606445]: Does the same for EXCEPTION_DISPOSITION and HAVE_WINNT_IGNORE_VOID as well, and skips the test completely. check-in: 23f89dce77 user: jan.nijtmans tags: trunk
11:27
Bug [3606445]: Unneeded -DHAVE_NO_SEH=1 when not building on Windows check-in: d012747da0 user: jan.nijtmans tags: trunk
11:01
Bug [3324676]: AC_PROG_INSTALL incompat check-in: 1671def19b user: jan.nijtmans tags: trunk
2013-07-02
07:42
Bug 32afa6e256: dirent64 check is incorrect in tcl.m4. Thanks to Brian Griffin. check-in: 9318c5dc6f user: jan.nijtmans tags: trunk
2013-06-20
09:42
Use X11/Xlib.h for checking where X11 can be found in stead of X11/XIntrinsic.h. Suggested by Pietro Cerutti. check-in: 4bdaaeb112 user: jan.nijtmans tags: trunk
2013-06-04
08:00
Eliminate NO_VIZ macro as current zlib uses HAVE_HIDDEN in stead. One more fix for FreeBSD by Pietro Cerutti check-in: cf2091cd7a user: jan.nijtmans tags: trunk
2013-05-19
20:09
Fix for FreeBSD, and remove support for old FreeBSD versions. Patch by Pietro Cerutti check-in: 0eba1eeab7 user: jan.nijtmans tags: trunk
2013-03-12
13:59
Patch by Tomasz Konojacki, adding support for UnixWare to TEA. check-in: ee63ff0133 user: jan.nijtmans tags: trunk
08:53
Patch by Andrew Shadura, providing better support for three architectures they have in Debian. check-in: 577a1fe45c user: jan.nijtmans tags: trunk
2012-08-07
17:05
Added "-DNDEBUG" to CFLAGS_DEFAULT when building with --disable-symbols. check-in: 0e8ea61af3 user: stwo tags: trunk
09:27
[Bug 3555058]: Checkin [30736d63f0] broke CFLAGS_DEFAULT, LDFLAGS_DEFAULT check-in: a509c369e2 user: stwo tags: trunk
08:57
[Bug 3511806]: Checkin [30736d63f0] broke CFLAGS check-in: 6aa559734c user: stwo tags: trunk
07:02
[Bug 3511806]: Checkin [30736d63f0] broke CFLAGS check-in: bb0dbe4186 user: jan.nijtmans tags: trunk