[29] | 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 | |
---|