| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317 |
- Copyright 2004-2007 Vladimir Prus
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- Milestone 13 (in development)
- Changes in this release:
- The following bugs were fixed:
- - gcc support did not work on HP-UX systems
- Milestone 12 (Oct 1, 2007)
- Changes in this release:
- - The Pathscale, PGI and mipspro compilers are now supported.
- - Support for autoconfiguration of toolset based on command-line
- toolset=xxxx request, and for default toolset
- configuration as a fallback.
- - Support for precompiled headers for gcc toolset,
- and improvements for msvc.
- - Mechanism for removing inherited requirements.
- - The 'make' rule support specifying usage-requirements.
- - New 'project.extension' rule for declaring standalone
- projects.
- - New 'conditional' convenience rule.
- - New 'glob-tree' rule.
- - The 'glob' rule accepts patterns to exclude.
- - Inline targets are now marked explicit automatically.
- - Toolsets can now implicitly add requirements to
- all targets.
- - New 'generate' rule.
- - The executables produced by the 'run' rule are automatically
- removed after run.
- - The gcc toolset uses the version obtained by running
- the compiler, if no explicit one is provided.
- - The sun toolset now supports the 'address-model' feature,
- and uses -KPIC for shared libraries.
- - Free features on command line affect all targets, not
- just 'directly requested' ones.
- Documentation changes:
- - Installation instructions for Linux distributors.
- - Configuration options for all supported C++ compilers
- are now documented.
- The following bugs were fixed:
- - The 'cflags' and 'linkflags' now work on Darwin.o
- - The intel toolset now works on Windows.
- - Fix library search options for CodeWarriour toolset.
- - The <install-source-root> could cause duplicate
- mkdir commands.
- - Numerious fixes in Boost autolink support
- - Numerious fixes in Boost.Python support.
- - Indirect properties not evaluated in usage requirements.
- - Generator that returns a property set but not target is
- considered successful.
- - On Darwin, when several compiler versions
- are configured, -fcoalesce-templates is applied only to
- versions that need it.
- Milestone 11 (Jule 20, 2006)
- Changes in this release:
- - New C++ compilers: IBM xlf, HP aCC, HP CXX, Intel fortran compiler.
- - New tools: Qt4 support, MS message compiler and IDL compiler.
- - New main targets: 'notfile' and 'cast'.
- - Core changes:
- - Only one file required at top level of a project, named Jamroot.
- - Jamfiles can now contain project-specific help messages.
- - "Indirect conditional requirements" introduced
- (http://tinyurl.com/mn3jp)
- - Strip suffix in main target names when computing names of generated
- files (URL)
- - The 'source-location' project attribute can contain
- several directories.
- - Usage requirements are propagated not only direct dependents,
- but to indirect dependents.
- - Command line option changes (see http://tinyurl.com/zbycz)
- - New option --build-dir
- - The --clean option cleans only target below the current directory,
- not globally.
- - New --clean-all option was added.
- - New option --debug-building
- - Running "bjam some_directory" works even if there's no Jamfile
- in the current directory.
- - Toolset improvements:
- - Assembling support with gcc, borland and msvc.
- - Support amd64/ia64 cross-compiling with msvc.
- - Improved, registry-based autodetection for msvc.
- - Serialize execution of gcc.link actions
- - Precompiled headers supported on MSVC
- (Need documentation)
- - New features <warnings> and <warnings-as-errors>
- - The 'glob' rule accepts wildcards in directory names.
- - The 'stage' rule was renamed to 'install'
- (the old name still available for compatibility)
- - The <tag> feature can accept user-defined function as value
- (URL)
- - The 'install' rule can install a directory hierarchy preserving relative
- paths.
- - The 'install' rule no longer allows to change library
- name during install.
- - The Jamfile referred via 'use-project' may declare project id different
- from the one in 'use-project'.
- - The 'using' rule now searches the directory of containing Jamfile.
-
- The following bugs were fixed:
- - The <library> feature was ignored for static linking
- - Fix #include scanning for C files.
- - Child projects were sometimes loaded before parent projects.
- - Fix project references with absolute paths on Windows.
- - The <dependency> feature was ignored for 'install' targets.
- - A generator having the same type in sources and targets was causing hang.
- - Use 'icpc' command for Intel, fixing errors with 8.1 and higher.
- - Generation of PS files with the FOP tool really produces .PS files.
- - No dependency scanning was done for C files.
- - The 'constant' and 'path-constant' rules did not accept multi-element
- value.
- - Don't pass -fcoalesce-templates to gcc on OSX 10.4
- - Fix static lib suffix on OSX.
- - Fix rpath setting on Intel/Linux.
- - The 'install' rule don't unnecessary scans #includes in installed
- headers.
-
- Developer visible changes:
- - Ability to customize type's prefix depending on build properties.
- - Generator's 'run' method can return usage-requirements.
- - Main target rule is automatically declared for each new target type.
- - 'Link incompatible' feature attribute was removed
- - Generators no longer bypass unhandled sources, they just ignore them.
- - If there are several applicable generators, immediately report ambiguity.
- Provide a way to explicitly resolve conflicts between generators.
- - The 'flags' rule can match absence of feature.
- - Great improvement in response files handling
- - The 'toolset.flags' rules allows value-less feature to signify
- absence of this feature (fix hack-hack).
- - Automatically declare main target rule for each declared target type.
- - When inheriting types, inherit generators for the base type, as opposed
- to using various hacks to invoke base generators when needed.
- - Improve diagnostic for "duplicate actual target" and generator ambiguity.
- Milestone 10 (October 29, 2004)
- Changes in this release:
- Many toolsets were added: Intel, Metrowerks, Comeau, aCC, vacpp.
- Documentation was converted to BoostBook and improved.
- Performance was improved.
-
- - Toolsets initialization syntax is much more uniform. Compiler and linker
- flags can now be specified.
- - The algorithm for computing build properties was improved. Conditional
- requirements can be chained, and a number of bugs were fixed.
- - Specific order of properties can be specified.
- - The main target rules can be called from everywhere, not necessary from
- Jamfile.
- - Check for "unused sources" removed.
- - The <library> feature affects only linking now.
- - The <file> feature now works only for libraries.
- - Simpler syntax for "searched" libraries was added.
- - New <dependency> feature.
-
- Unix:
- The right order of static libraries on Unix is automatically
- computed.
- The <hardcode-dll-paths> feature is the default.
- gcc:
- The -fPIC option is passed when creating shared libraries.
- Problems with distcc were solved.
- Sun:
- It's now possible to use the sun linker (as opposed to gnu), and
- to compile C files.
- Darwin:
- Shared libraries are now supported.
- MSVC: Before resource files compilation, the setup script is invoked.
- Options deprecated in 8.0 are not longer used.
- The following bugs were fixed:
- - The <unit-test> rule did not handle the <library> property (!!!!!!)
- - Don't add "bin" to the build directory explicitly specified by the user.
- - Allow <include-type> to select staged targets,
- even with <traverse-dependencies>off.
- - Includes for the form '# include <whatever>" did not work.
- - (Qt) Add paths to all dependent libs to uic command
- line, which helps if the UI files uses plugins.
- - Using <toolset-msvc:version>xxx in requirements was broken.
- - Error message printed when target can be found is much more clear.
- - Inline targets in sources of 'stage' did not work.
- - Don't produce 'independent target' warnings on Windows
- - (gcc) The <link-runtime>static did not work.
- - (gcc) Suppress warnings from the 'ar' tool on some systems.
- - (gcc) Don't try to set soname on NT.
- Developer visible changes:
- - Generator priorities are gone, explicit overrides are used.
- - 'Active' features were removed
- - Support for VMS paths was added.
- Thanks to Christopher Currie, Pedro Ferreira, Philipp Frauenfelder,
- Andre Hentz, Jurgen Hunold, Toon Knapen, Johan Nilsson, Alexey Pakhunov,
- Brock Peabody, Michael Stevens and Zbynek Winkler who contributed
- code to this release.
-
- Milestone 9.1 (Nov 6, 2003)
- The following bugs were fixed:
- - The 'unit-test' rule used to ignore <library> properties.
- - The gcc toolset used to ignore <threading> property.
- Milestone 9 (Nov 6, 2003)
- Changes in this release
- - Putting library in sources of other library now works even for static
- linking, which makes expressing library->library dependency much
- simpler.
- - Performance was considerably improved.
- - Regression testing framework now works on windows.
- - The "alias" rule can have usage requirements and passes on usage
- requirements of sources.
- - The "stage" rule can traverse dependencies.
- - Support for "def files" was implemented.
- - Targets paths are now shorter.
- - Darwin toolset was improved.
- The following bugs were fixed:
- - It was not possible to specify empty suffix for a target type derived
- from other type.
- - The stage rules used to generate incorrect suffix in some cases.
- - It was possible to load Jamfile twice.
- - The 'use-project' rule was broken when referring to a child project.
- - Use of composite properties in requirements did not work.
- Developer visible changes:
- - New CALC builtin, which considerable improves performance.
- - Source layout was reorganized.
- - Handling of response file was simplified.
- Thanks to Pedro Ferreira, Kirill Lapshin, Andre Hentz, Paul Lin,
- Jurgen Hunold, Christopher Currie, and Brock Peabody, who contributed to
- this release.
- Milestone 8 (Oct 15, 2003)
- Changes in this release:
-
- - A regression testing framework was implemented.
- - New <implicit-dependency> feature was added for better handling
- of dependencies to generated headers.
- - The link-compatibility checks not longer cause projects to be skipped,
- and issue warning, not error, for main targets.
- - Algorithm for selecting main target alternative was improved.
- - The <dependency> feature was renamed to <use>.
- - Project root constants were made available in project root itself.
- The following bugs were fixed:
- - failure to recognize shared libraries with version as such
- - the 'path-constant' rule was mishandling absolute paths on Windows.
- Milestone 7 (Sep 11, 2003)
- Changes in this release:
- - Performance was improved.
- - Support for Sun and Darwin toolsets was added.
- - <tag> feature, which changes the name of target depending of build
- variant, was implemented.
- - Old-style targets-ids are no longer supported.
- - New 'glob' rule allows to easily perform wildcard matching in Jamfile.
- - Improve bison/flex support to understand C++.
- The following bugs were fixed:
- - bogus error on use of project default-build attribute with several
- main target alternatives.
- - broken toolset inheritance
- - hard error after skipping a target due to incompatible requirements
- - incorrect behaviour of a generator when producing several targets of
- the same type
- - errors on use of the 'project-root' rule in Jamfile context
- - inability to require specific compiler version for a main target.
- - incorrect behaviour of "bjam msvc" when msvc is configured with explicit
- version.
-
- Thanks to Christopher Currie, Pedro Ferreira and Michael Stevens, who
- contributed to this release.
-
|