slam readme
Legal notices
Slam is copyright© 2007 Edd Dawson.
Distributed under the Boost Software License, Version 1.0.
See accompanying file BOOST_LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt
Instructions
Thanks for downloading slam.
Please visit http://www.mr-edd.co.uk for more information on slam, including installation instructions.
-- Edd
Version History
Version 0.2.10 released on 19 July 2009
Version 0.2.9 released on 17 October 2008
- Added as-c++ flag to force source files to be compiled as C++
- Improvements and bug fixes to the dm (Digital Mars) toolset
- Tweak to Borland; iso and ansi slam flags now mean nothing
- You can now specify the name of the g++ executable used in the gcc toolset by adding g++=<name> on the command line
- gcc compiler version detection improved
- _GLIBCXX_DEBUG_PEDANTIC is now defined by the gcc toolset when the debug flag is present
- Added new msvc9 toolset (currently funtionally equivalent to msvc8)
Version 0.2.8 released on 28 August 2007
- Fixed a bug where the gcc toolset dependency calculation was failing for files with spaces in their names
- Fixed a bug where 'depends directive chains' of depth greater than 1 were being ignored under some circumstances
Version 0.2.7 released on 18 June 2007
- Fixed a bug where the installed version of g++ could not be determined under some circumstances
- Fixed a bug in the hashing of the variants in the slam.db dependencies database
Version 0.2.6 released on 17 May 2007
- Changed -Wextra switch to -W in gcc toolset if a gcc installation earlier than version 3.4 is detected
- msvcdotnet toolset now cleans up the ilk and pdb files it leaves behind for each target
- added /DEBUG switch to the msvcdotnet linker when 'debug' is specified in the slamfile flags
- Changed the switch -D_HAS_ITERATOR_DEBUGGING to -D_HAS_ITERATOR_DEBUGGING=1 for the borland compiler when the debug flag is present in the slamfile
Version 0.2.5 released on 10 May 2007
- A user pointed out, much to my embarrassment, that the version number printed by the software hadn't been updated since 0.2.2. It now says 0.2.5! Otherwise this version is functionally identical to version 0.2.4.
Version 0.2.4 released on 9 May 2007
- Added /wd4996 to the default msvc8 toolset flags
- Added -D_HAS_ITERATOR_DEBUGGING to the debug flags for the borland toolset
- Changed -p32 for -p128 in the debug flags for the librarian of the dm toolset
- Fixed a couple of bugs where slam wouldn't cope with a slamfile that had no target defined
- Fixed a bug in slamfile variable expansion
- Fixed a bug in the POSIX slam launcher executable where command line arguments weren't 0-terminated
Version 0.2.3 released on 12 April 2007
- Removed the use of the -Jb compiler switch in the dm toolset due to binary compatibility issues
- Added the -w-nak switch to the borland toolset when the ansi/iso flags are specified. See the toolset info for more information
Version 0.2.2 released on 07 April 2007
- Added -t (tidy), which is like -c (formerly --clean). This cleans all intermediate targets i.e. object files
- Slam now recognises tspath in its environment in order to specify a directory in which to pick up the toolset specified
- Slam now recognises the env variable in order to pick up an additional environment file, if needed
- Changed the form of the command-line arguments to make them snappier. Old ones will remain valid until version 0.3
- Redesigned the toolset interface. It is now much better "normalised". All existing toolsets reimplemented in terms of this interface
- Each toolset now has its own full documentation, shown with the -i switch (formerly --list-ts-flags)
- More toolsets (provisionally) implemented: digital mars (dm), borland, msvcdotnet, msvc6
- Warning messages now go to the standard error stream
- Fixed issue with exception handling
- Improved dependency analysis
- Dependency database files are now versioned (not per update, per slam-version)
- The slamfile parser has been improved to give better error messages
- Better support of pkg-config with msvc-based toolsets (to handle pkg-configs bugs)
- libdirs and libs directives are now recognised by slam. The new pkg-config support recognises and fills in args to these directives
- slam -h prints basic usage information
- Added __doc__ strings to Python code
- Added support for a .slam_ignore file that allows a more thorough directory-ignoring facility
- Fixed slam.cpp. system() behaves differently across posix and windows systems. We now have slam_posix.cpp and slam_win32api.cpp
- When -c is specified (formerly --clean), the database isn't updated
- The applegcc toolset now recognises frameworks and frameworkdirs directives
- Created Windows installer
- Lots of miscellaneous refactoring.
Version 0.2.1 released on 23 Feb 2007
- Fixed bug where Python traceback would get shown rather than details of a diagnosable error
- The --native-deps flag has been improved. The build now continues if the native dependency analysis tool fails when examining a particular file
- Tweaked the build sequence generation algorithm
- Improved error messages generated by the slamfile parser and some related bugs
Version 0.2.0 released on 21 Feb 2007