Spot o' Conf is a configuration and build systemSpot o' Conf is TEA-inspired and caters to Tcl and Jim extensions.
Release tarballs: spotoconf-0.93.tar.gz spotoconfexamples-0.93.tar.gz
- Build binary or script-only extensions for Tcl or Jim, C programs, packages containing only data files.
- Build other things; Spot o' Conf is very flexible.
- Nested builds (packages of packages).
- Build and install documentation and examples.
- Run tests and make distribution files.
- Supports pkg-config.
- Simple and fast.
Spot o' Conf is basically a shell script and a Makefile.
The script, driven by a simple spoto.conf file, sets up variables and substitutes them in the Makefile and (optionally) other files.
New for 0.92:
- Removed OpenBSD port generation
- Added --installer option; install-sh now optional
- Added README.configure, explaining Spot o' Conf
- Added ext_message() for custom package messages
New for 0.91:
- Incompatible with previous versions:
- Directory 'tclconfig' changed to 'Spotoconf'.
- Variable name changes for improved consistency.
- Options --disable-shared and --exec-prefix.
- Tk support.
- More automatic dist and install.
- General improvements, better support for cross-compiling, user hooks.
- Example projects:
- Tcl extension in C.
- Tk extension in C.
- Jim extension in C.
- Tcl/Jim extension in C. Demonstrates Ezt
- Tcl extension in Tcl.
- Tcl extension in Tcl as a Tcl Module.
- Tcl Module extension with submodules.
- C program.
- The toplevel examples directory is an example of a multi-packages configuration.
- The toplevel Spot o' Conf directory is an example of a data-files (DAT) configuration.
New for 0.9:
- Data file packages.
- Doc handling improvements.
- Multi-package improvements.
- Documentation begins.
Many new features in 0.8. No docs yet.
A Spot o' Conf user's requests, followed by my comments.
a) with-tcl= is required ((but shouldn't be) for script-only extensions, also tclConfig.sh does not add anything; make it optional; >> Use TCL_CONF_DIR=no in spoto.conf or --with-tcl=no when running configure.
b) offer a default mechanism to pre-load prefix and friends from tclsh setting; >> Tclsh doesn't provide that info.
c) moddir overloading from configure not possible right now; >> Now possible.
d) right now, i use moddir='$(shell)' to call into a Tcl script... is there a better way? can I use some Tcl version info from within spoto.conf, Makefile.in? >> Use moddir=guess in spoto.conf or --moddir=guess when running configure.
e) *.tm is a symbolic link, which precludes generating something into it upon deployment (see my top-level tm); so I need an extension target to make an actual copy ... >> Use new vars: BUILD_SCLIB, BUILD_SCBIN, BUILD_DOC
f) work better with structured .tm's >> Now posssible.
- update Jim's testing.tcl?
- Handle more than one source file per build?
- Offload particular discoveries to Autosetup/Autoconf/CMake?
- better dist: include more possibilities or reduce & make users use their own makefile.package.in?
+ Updated package and dist bits. Added Makefile.pkgs.in to the mix.
- Does Spotoconf work with .a's? Probably.
+ Static builds now supported.
- include Jim's testing.tcl?
+ Jim's testing.tcl now included.