BAWT

BAWT is a Tcl based configurable framework for automatically building C/C++ based software libraries from source code.

Its main usage is for the Windows operating system, where different build environments (ex. configure/make via MSYS/MinGW, nmake, CMake, Visual Studio Solutions) and compiler (MSYS/MinGW gcc, different Visual Studio versions) are needed to build these libraries.


See the release history for more details.


PO 2016/06/24 - BAWT version 0.1 released. Introduction at EuroTcl 2016.

PO 2016/08/28 - BAWT version 0.2 released. Contains more than 40 libraries, generation of tclkits as well as a Batteries Included Tcl/Tk installation program for Windows.

PO 2016/10/23 - BAWT version 0.3 released. Improved build actions. New and updated libraries. tcllib speed-optimized with critcl.

PO 2016/12/28 - BAWT version 0.4 released. Improved build actions. New and updated libraries. CMake based Tcl3D-Basic version.

PO 2017/03/19 - BAWT version 0.5 released. Improved build actions. New and updated libraries. Implemented dependency checking of libraries.

PO 2017/07/20 - BAWT version 0.6 released. Improved build actions. New and updated libraries. Applied bug fix for building Tk on Mac.

PO 2017/08/26 - BAWT version 0.7 released. Support for Tcl/Tk 8.6.7. New and updated libraries.

PO 2017/09/12 - BAWT version 0.7.1 released. Support for Tcl/Tk 8.7.

PO 2017/09/24 - BAWT version 0.7.2 released. Support for Visual Studio 2017.

PO 2018/01/04 - BAWT version 0.7.3 released. Support for Tcl/Tk 8.6.8.

PO 2018/07/04 - BAWT version 0.8.0 released. Support for nested Setup files.

PO 2018/12/28 - BAWT version 0.9.0 released. Support for Tcl/Tk 8.6.9.

PO 2019/03/09 - BAWT version 0.9.1 released. Better support for Debug build mode.

PO 2019/06/23 - BAWT version 1.0.0 released. Several incompatible changes. Support for Visual Studio 2019.


EF BAWT serves as the bootstrapping software for creating a new Docker image that provides a Tcl (and packages a plenty) compiled from source. As the content of the images is not dictated by the packages that are available in Linux distributions such as Ubuntu, Debian or Alpine, the image leverages the latest versions of a number of packages and libraries. Also, since BAWT is able to compile for Windows, the technique used in the image could be used to generate a Windows Docker image in the future.


EF What about supporting the latest version of TLS in BAWT? At the time of writing, latest is 1.7.11, while the version provided in BAWT comes from sourceforge and is 1.6.7.

PO tcltls 1.7.12 is now part of BAWT 0.6.


arjen - 2017-03-22 14:08:10

My mathemaTcl package (or rather collection of packages) has a somewhat related goal, though it adds Linux and OSX to the mix, as well as Fortran libraries besides C libraries. However, the real focus is on mathematical and numerical applications. As such its tasks are probably much more limited and therefore easier to implement.