| 1 | Copyright 2004, 2006 Vladimir Prus |
|---|
| 2 | Distributed under the Boost Software License, Version 1.0. |
|---|
| 3 | (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) |
|---|
| 4 | |
|---|
| 5 | Milestone 12 (in development) |
|---|
| 6 | |
|---|
| 7 | Changes in this release: |
|---|
| 8 | |
|---|
| 9 | - Support for autoconfiguration of toolset based on command-line |
|---|
| 10 | toolset=xxxx or --toolset=xxxx options, and for default toolset |
|---|
| 11 | configuration as a fallback. |
|---|
| 12 | - Support for precompiled headers for gcc toolset, |
|---|
| 13 | and improvements for msvc. |
|---|
| 14 | - Mechanism for removing inherited requirements. |
|---|
| 15 | - The 'make' rule support specifying usage-requirements. |
|---|
| 16 | - New 'project.extension' rule for declaring standalone |
|---|
| 17 | projects. |
|---|
| 18 | - New 'conditional' convenience rule. |
|---|
| 19 | - New 'glob-tree' rule. |
|---|
| 20 | - The 'glob' rule accepts patterns to exclude. |
|---|
| 21 | - Inline targets are now marked explicit automatically. |
|---|
| 22 | - Toolsets can now implicitly add requirements to |
|---|
| 23 | all targets. |
|---|
| 24 | - New 'generate' rule. |
|---|
| 25 | |
|---|
| 26 | Documentation changes: |
|---|
| 27 | |
|---|
| 28 | - Installation instructions for Linux distributors. |
|---|
| 29 | |
|---|
| 30 | The following bugs were fixed: |
|---|
| 31 | |
|---|
| 32 | - The 'cflags' and 'linkflags' features not working for Darwin. |
|---|
| 33 | - The intel toolset not working on Windows. |
|---|
| 34 | - Fix library search options for CodeWarriour toolset. |
|---|
| 35 | - The <install-source-root> could cause duplicate |
|---|
| 36 | mkdir commands. |
|---|
| 37 | - Numerious fixes in Boost autolink support |
|---|
| 38 | - Numerious fixes in Boost.Python support. |
|---|
| 39 | - Indirect properties not evaluates in usage requirements. |
|---|
| 40 | |
|---|
| 41 | Milestone 11 (Jule 20, 2006) |
|---|
| 42 | |
|---|
| 43 | Changes in this release: |
|---|
| 44 | |
|---|
| 45 | - New C++ compilers: IBM xlf, HP aCC, HP CXX, Intel fortran compiler. |
|---|
| 46 | - New tools: Qt4 support, MS message compiler and IDL compiler. |
|---|
| 47 | - New main targets: 'notfile' and 'cast'. |
|---|
| 48 | |
|---|
| 49 | - Core changes: |
|---|
| 50 | |
|---|
| 51 | - Only one file required at top level of a project, named Jamroot. |
|---|
| 52 | - Jamfiles can now contain project-specific help messages. |
|---|
| 53 | - "Indirect conditional requirements" introduced |
|---|
| 54 | (http://tinyurl.com/mn3jp) |
|---|
| 55 | - Strip suffix in main target names when computing names of generated |
|---|
| 56 | files (URL) |
|---|
| 57 | - The 'source-location' project attribute can contain |
|---|
| 58 | several directories. |
|---|
| 59 | - Usage requirements are propagated not only direct dependents, |
|---|
| 60 | but to indirect dependents. |
|---|
| 61 | |
|---|
| 62 | - Command line option changes (see http://tinyurl.com/zbycz) |
|---|
| 63 | - New option --build-dir |
|---|
| 64 | - The --clean option cleans only target below the current directory, |
|---|
| 65 | not globally. |
|---|
| 66 | - New --clean-all option was added. |
|---|
| 67 | - New option --debug-building |
|---|
| 68 | - Running "bjam some_directory" works even if there's no Jamfile |
|---|
| 69 | in the current directory. |
|---|
| 70 | |
|---|
| 71 | - Toolset improvements: |
|---|
| 72 | - Assembling support with gcc, borland and msvc. |
|---|
| 73 | - Support amd64/ia64 cross-compiling with msvc. |
|---|
| 74 | - Improved, registry-based autodetection for msvc. |
|---|
| 75 | - Serialize execution of gcc.link actions |
|---|
| 76 | - Precompiled headers supported on MSVC |
|---|
| 77 | (Need documentation) |
|---|
| 78 | |
|---|
| 79 | - New features <warnings> and <warnings-as-errors> |
|---|
| 80 | - The 'glob' rule accepts wildcards in directory names. |
|---|
| 81 | - The 'stage' rule was renamed to 'install' |
|---|
| 82 | (the old name still available for compatibility) |
|---|
| 83 | - The <tag> feature can accept user-defined function as value |
|---|
| 84 | (URL) |
|---|
| 85 | - The 'install' rule can install a directory hierarchy preserving relative |
|---|
| 86 | paths. |
|---|
| 87 | - The 'install' rule no longer allows to change library |
|---|
| 88 | name during install. |
|---|
| 89 | - The Jamfile referred via 'use-project' may declare project id different |
|---|
| 90 | from the one in 'use-project'. |
|---|
| 91 | - The 'using' rule now searches the directory of containing Jamfile. |
|---|
| 92 | |
|---|
| 93 | |
|---|
| 94 | The following bugs were fixed: |
|---|
| 95 | |
|---|
| 96 | - The <library> feature was ignored for static linking |
|---|
| 97 | - Fix #include scanning for C files. |
|---|
| 98 | - Child projects were sometimes loaded before parent projects. |
|---|
| 99 | - Fix project references with absolute paths on Windows. |
|---|
| 100 | - The <dependency> feature was ignored for 'install' targets. |
|---|
| 101 | - A generator having the same type in sources and targets was causing hang. |
|---|
| 102 | - Use 'icpc' command for Intel, fixing errors with 8.1 and higher. |
|---|
| 103 | - Generation of PS files with the FOP tool really produces .PS files. |
|---|
| 104 | - No dependency scanning was done for C files. |
|---|
| 105 | - The 'constant' and 'path-constant' rules did not accept multi-element |
|---|
| 106 | value. |
|---|
| 107 | - Don't pass -fcoalesce-templates to gcc on OSX 10.4 |
|---|
| 108 | - Fix static lib suffix on OSX. |
|---|
| 109 | - Fix rpath setting on Intel/Linux. |
|---|
| 110 | - The 'install' rule don't unnecessary scans #includes in installed |
|---|
| 111 | headers. |
|---|
| 112 | |
|---|
| 113 | |
|---|
| 114 | Developer visible changes: |
|---|
| 115 | |
|---|
| 116 | - Ability to customize type's prefix depending on build properties. |
|---|
| 117 | - Generator's 'run' method can return usage-requirements. |
|---|
| 118 | - Main target rule is automatically declared for each new target type. |
|---|
| 119 | - 'Link incompatible' feature attribute was removed |
|---|
| 120 | - Generators no longer bypass unhandled sources, they just ignore them. |
|---|
| 121 | - If there are several applicable generators, immediately report ambiguity. |
|---|
| 122 | Provide a way to explicitly resolve conflicts between generators. |
|---|
| 123 | - The 'flags' rule can match absense of feature. |
|---|
| 124 | - Great improvement in response files handling |
|---|
| 125 | - The 'toolset.flags' rules allows value-less feature to signify |
|---|
| 126 | absense of this feature (fix hack-hack). |
|---|
| 127 | - Automatically declare main target rule for each declared target type. |
|---|
| 128 | - When inheriting types, inherit generators for the base type, as opposed |
|---|
| 129 | to using various hacks to invoke base generators when needed. |
|---|
| 130 | - Improve diagnostic for "duplicate actual target" and generator ambiguity. |
|---|
| 131 | |
|---|
| 132 | |
|---|
| 133 | Milestone 10 (October 29, 2004) |
|---|
| 134 | |
|---|
| 135 | Changes in this release: |
|---|
| 136 | |
|---|
| 137 | Many toolsets were added: Intel, Metrowerks, Comeau, aCC, vacpp. |
|---|
| 138 | Documentation was converted to BoostBook and improved. |
|---|
| 139 | Performance was improved. |
|---|
| 140 | |
|---|
| 141 | - Toolsets initialization syntax is much more uniform. Compiler and linker |
|---|
| 142 | flags can now be specified. |
|---|
| 143 | - The algorithm for computing build properties was improved. Conditional |
|---|
| 144 | requirements can be chained, and a number of bugs were fixed. |
|---|
| 145 | - Specific order of properties can be specified. |
|---|
| 146 | - The main target rules can be called from everywhere, not necessary from |
|---|
| 147 | Jamfile. |
|---|
| 148 | - Check for "unused sources" removed. |
|---|
| 149 | - The <library> feature affects only linking now. |
|---|
| 150 | - The <file> feature now works only for libraries. |
|---|
| 151 | - Simpler syntax for "searched" libraries was added. |
|---|
| 152 | - New <dependency> feature. |
|---|
| 153 | |
|---|
| 154 | |
|---|
| 155 | Unix: |
|---|
| 156 | The right order of static libraries on Unix is automatically |
|---|
| 157 | computed. |
|---|
| 158 | The <hardcode-dll-paths> feature is the default. |
|---|
| 159 | gcc: |
|---|
| 160 | The -fPIC option is passed when creating shared libraries. |
|---|
| 161 | Problems with distcc were solved. |
|---|
| 162 | Sun: |
|---|
| 163 | It's now possible to use the sun linker (as opposed to gnu), and |
|---|
| 164 | to compile C files. |
|---|
| 165 | Darwin: |
|---|
| 166 | Shared libraries are now supported. |
|---|
| 167 | MSVC: Before resource files compilation, the setup script is invoked. |
|---|
| 168 | Options deprecated in 8.0 are not longer used. |
|---|
| 169 | |
|---|
| 170 | |
|---|
| 171 | The following bugs were fixed: |
|---|
| 172 | |
|---|
| 173 | - The <unit-test> rule did not handle the <library> property (!!!!!!) |
|---|
| 174 | - Don't add "bin" to the build directory explicitly specified by the user. |
|---|
| 175 | - Allow <include-type> to select staged targets, |
|---|
| 176 | even with <traverse-dependencies>off. |
|---|
| 177 | - Includes for the form '# include <whatever>" did not work. |
|---|
| 178 | - (Qt) Add paths to all dependent libs to uic command |
|---|
| 179 | line, which helps if the UI files uses plugins. |
|---|
| 180 | - Using <toolset-msvc:version>xxx in requirements was broken. |
|---|
| 181 | - Error message printed when target can be found is much more clear. |
|---|
| 182 | - Inline targets in sources of 'stage' did not work. |
|---|
| 183 | - Don't produce 'independent target' warnings on Windows |
|---|
| 184 | - (gcc) The <link-runtime>static did not work. |
|---|
| 185 | - (gcc) Suppress warnings from the 'ar' tool on some systems. |
|---|
| 186 | - (gcc) Don't try to set soname on NT. |
|---|
| 187 | |
|---|
| 188 | Developer visible changes: |
|---|
| 189 | |
|---|
| 190 | - Generator priorities are gone, explicit overrides are used. |
|---|
| 191 | - 'Active' features were removed |
|---|
| 192 | - Support for VMS paths was added. |
|---|
| 193 | |
|---|
| 194 | Thanks to Christopher Currie, Pedro Ferreira, Philipp Frauenfelder, |
|---|
| 195 | Andre Hentz, Jurgen Hunold, Toon Knapen, Johan Nilsson, Alexey Pakhunov, |
|---|
| 196 | Brock Peabody, Michael Stevens and Zbynek Winkler who contributed |
|---|
| 197 | code to this release. |
|---|
| 198 | |
|---|
| 199 | |
|---|
| 200 | Milestone 9.1 (Nov 6, 2003) |
|---|
| 201 | |
|---|
| 202 | The following bugs were fixed: |
|---|
| 203 | |
|---|
| 204 | - The 'unit-test' rule used to ignore <library> properties. |
|---|
| 205 | - The gcc toolset used to ignore <threading> property. |
|---|
| 206 | |
|---|
| 207 | Milestone 9 (Nov 6, 2003) |
|---|
| 208 | |
|---|
| 209 | Changes in this release |
|---|
| 210 | |
|---|
| 211 | - Putting library in sources of other library now works even for static |
|---|
| 212 | linking, which makes expressing library->library dependency much |
|---|
| 213 | simpler. |
|---|
| 214 | - Performance was considerably improved. |
|---|
| 215 | - Regression testing framework now works on windows. |
|---|
| 216 | - The "alias" rule can have usage requirements and passes on usage |
|---|
| 217 | requirements of sources. |
|---|
| 218 | - The "stage" rule can traverse dependencies. |
|---|
| 219 | - Support for "def files" was implemented. |
|---|
| 220 | - Targets paths are now shorter. |
|---|
| 221 | - Darwin toolset was improved. |
|---|
| 222 | |
|---|
| 223 | The following bugs were fixed: |
|---|
| 224 | |
|---|
| 225 | - It was not possible to specify empty suffix for a target type derived |
|---|
| 226 | from other type. |
|---|
| 227 | - The stage rules used to generate incorrect suffix in some cases. |
|---|
| 228 | - It was possible to load Jamfile twice. |
|---|
| 229 | - The 'use-project' rule was broken when referring to a child project. |
|---|
| 230 | - Use of composite properties in requirements did not work. |
|---|
| 231 | |
|---|
| 232 | Developer visible changes: |
|---|
| 233 | |
|---|
| 234 | - New CALC builtin, which considerable improves performance. |
|---|
| 235 | - Source layout was reorganized. |
|---|
| 236 | - Handling of response file was simplified. |
|---|
| 237 | |
|---|
| 238 | Thanks to Pedro Ferreira, Kirill Lapshin, Andre Hentz, Paul Lin, |
|---|
| 239 | Jurgen Hunold, Christopher Currie, and Brock Peabody, who contributed to |
|---|
| 240 | this release. |
|---|
| 241 | |
|---|
| 242 | Milestone 8 (Oct 15, 2003) |
|---|
| 243 | |
|---|
| 244 | Changes in this release: |
|---|
| 245 | |
|---|
| 246 | - A regression testing framework was implemented. |
|---|
| 247 | - New <implicit-dependency> feature was added for better handling |
|---|
| 248 | of dependencies to generated headers. |
|---|
| 249 | - The link-compatibility checks not longer cause projects to be skipped, |
|---|
| 250 | and issue warning, not error, for main targets. |
|---|
| 251 | - Algorithm for selecting main target alternative was improved. |
|---|
| 252 | - The <dependency> feature was renamed to <use>. |
|---|
| 253 | - Project root constants were made available in project root itself. |
|---|
| 254 | |
|---|
| 255 | The following bugs were fixed: |
|---|
| 256 | |
|---|
| 257 | - failure to recognize shared libraries with version as such |
|---|
| 258 | - the 'path-constant' rule was mishandling absolute paths on Windows. |
|---|
| 259 | |
|---|
| 260 | |
|---|
| 261 | Milestone 7 (Sep 11, 2003) |
|---|
| 262 | |
|---|
| 263 | Changes in this release: |
|---|
| 264 | |
|---|
| 265 | - Performance was improved. |
|---|
| 266 | - Support for Sun and Darwin toolsets was added. |
|---|
| 267 | - <tag> feature, which changes the name of target depending of build |
|---|
| 268 | variant, was implemented. |
|---|
| 269 | - Old-style targets-ids are no longer supported. |
|---|
| 270 | - New 'glob' rule allows to easily perform wildcard matching in Jamfile. |
|---|
| 271 | - Improve bison/flex support to understand C++. |
|---|
| 272 | |
|---|
| 273 | The following bugs were fixed: |
|---|
| 274 | |
|---|
| 275 | - bogus error on use of project default-build attribute with several |
|---|
| 276 | main target alternatives. |
|---|
| 277 | - broken toolset inheritance |
|---|
| 278 | - hard error after skipping a target due to incompatible requirements |
|---|
| 279 | - incorrect behaviour of a generator when producing several targets of |
|---|
| 280 | the same type |
|---|
| 281 | - errors on use of the 'project-root' rule in Jamfile context |
|---|
| 282 | - inability to require specific compiler version for a main target. |
|---|
| 283 | - incorrect behaviour of "bjam msvc" when msvc is configured with explicit |
|---|
| 284 | version. |
|---|
| 285 | |
|---|
| 286 | Thanks to Christopher Currie, Pedro Ferreira and Michael Stevens, who |
|---|
| 287 | contributed to this release. |
|---|
| 288 | |
|---|
| 289 | |
|---|
| 290 | |
|---|
| 291 | |
|---|