OLD | NEW |
(Empty) | |
| 1 |
| 2 |
| 3 SCons - a software construction tool |
| 4 |
| 5 Change Log |
| 6 |
| 7 |
| 8 RELEASE 2.0.1 - Mon, 15 Aug 2010 15:46:32 -0700 |
| 9 |
| 10 From Dirk Baechle: |
| 11 |
| 12 - Fix XML in documentation. |
| 13 |
| 14 From Joe Zuntz: |
| 15 |
| 16 - Fixed a case-sensitivity problem with Fortran modules. |
| 17 |
| 18 From Bauke Conijn: |
| 19 |
| 20 - Added Users Guide example for auto-generated source code |
| 21 |
| 22 From Steven Knight: |
| 23 |
| 24 - Fix explicit dependencies (Depends()) on Nodes that don't have |
| 25 attached Builders. |
| 26 |
| 27 - Provide forward compatibility for the 'profile' module. |
| 28 |
| 29 - Provide forward compatibility for the 'pickle' module. |
| 30 |
| 31 - Provide forward compatibility for the 'io' module. |
| 32 |
| 33 - Provide forward compatibility for the 'queue' module. |
| 34 |
| 35 - Provide forward compatibility for the 'collections' module. |
| 36 |
| 37 - Provide forward compatibility for the 'builtins' module. |
| 38 |
| 39 - Provide forward compatibility for 'sys.intern()'. |
| 40 |
| 41 - Convert to os.walk() from of os.path.walk(). |
| 42 |
| 43 - Remove compatibility logic no longer needed. |
| 44 |
| 45 - Add a '-3' option to runtest to print 3.x incompatibility warnings. |
| 46 |
| 47 - Convert old-style classes into new-style classes. |
| 48 |
| 49 - Fix "Ignoring corrupt sconsign entry" warnings when building |
| 50 in a tree with a pre-2.0 .sconsign file. |
| 51 |
| 52 - Fix propagation from environment of VS*COMNTOOLS to resolve issues |
| 53 initializing MSVC/MSVS/SDK issues. |
| 54 |
| 55 - Handle detecting Visual C++ on Python verions with upper-case |
| 56 platform architectures like 'AMD64'. |
| 57 |
| 58 From Matt Hughes: |
| 59 |
| 60 - Fix the ability to append to default $*FLAGS values (which are |
| 61 implemented as CLVar instances) in a copied construction environment |
| 62 without affecting the original construction environment's value. |
| 63 |
| 64 From Rob Managan: |
| 65 |
| 66 - Updated the TeX command strings to include a /D on Windows in |
| 67 case the new directory is on a different drive letter. |
| 68 |
| 69 - Fixed the LaTeX scanner so dependencies are found in commands that |
| 70 are broken across lines with a comment or have embedded spaces. |
| 71 |
| 72 From W. Trevor King: |
| 73 |
| 74 - Revisions to README. |
| 75 |
| 76 From Greg Noel: |
| 77 |
| 78 - Apply numerous Python fixers to update code to more modern idioms. |
| 79 Find where fixers should be applied to code in test strings and |
| 80 apply the fixers there, too. |
| 81 |
| 82 - Write a fixer to convert string functions to string methods. |
| 83 |
| 84 - Modify the 'dict' fixer to be less conservative. |
| 85 |
| 86 - Modify the 'apply' fixer to handle more cases. |
| 87 |
| 88 - Create a modified 'types' fixer that converts types to 2.x |
| 89 equivalents rather than 3.x equivalents. |
| 90 |
| 91 - Write a 'division' fixer to highlight uses of the old-style |
| 92 division operator. Correct usage where needed. |
| 93 |
| 94 - Add forward compatibility for the new 'memoryview' function |
| 95 (which replaces the 'buffer' function). |
| 96 |
| 97 - Add forward compatibility for the 'winreg' module. |
| 98 |
| 99 - Remove no-longer-needed 'platform' module. |
| 100 |
| 101 - Run tests with the '-3' option to Python 2.6 and clear up |
| 102 various reported incompatibilities. |
| 103 |
| 104 - Comb out code paths specialized to Pythons older than 2.4. |
| 105 |
| 106 - Update deprecation warnings; most now become mandatory. |
| 107 |
| 108 - Start deprecation cycle for BuildDir() and build_dir. |
| 109 |
| 110 - Start deprecation cycle for SourceCode() and related factories |
| 111 |
| 112 - Fixed a problem with is_Dict() not identifying some objects derived |
| 113 from UserDict. |
| 114 |
| 115 From Jim Randall: |
| 116 |
| 117 - Document the AllowSubstExceptions() function in the User's Guide. |
| 118 |
| 119 From William Deegan: |
| 120 |
| 121 - Migrate MSVC/MSVS/SDK improvements from 1.3 branch. |
| 122 |
| 123 |
| 124 RELEASE 1.3.0 - Tue, 23 Mar 2010 21:44:19 -0400 |
| 125 |
| 126 From Steven Knight: |
| 127 |
| 128 - Update man page and documentation. |
| 129 |
| 130 From William Deegan (plus minor patch from Gary Oberbrunner): |
| 131 |
| 132 - Support Visual Studio 8.0 Express |
| 133 |
| 134 RELEASE 1.2.0.d20100306 - Sat, 06 Mar 2010 16:18:33 -0800 |
| 135 |
| 136 From Luca Falavigna: |
| 137 |
| 138 - Fix typos in the man page. |
| 139 |
| 140 From Gottfried Ganssauge: |
| 141 |
| 142 - Support execution when SCons is installed via easy_install. |
| 143 |
| 144 From Steven Knight: |
| 145 |
| 146 - Make the messages for Configure checks of compilers consistent. |
| 147 |
| 148 - Issue an error message if a BUILDERS entry is not a Builder |
| 149 object or a callable wrapper. |
| 150 |
| 151 From Rob Managan: |
| 152 |
| 153 - Update tex builder to handle the case where a \input{foo} |
| 154 command tries to work with a directory named foo instead of the |
| 155 file foo.tex. The builder now ignores a directory and continues |
| 156 searching to find the correct file. Thanks to Lennart Sauerbeck |
| 157 for the test case and initial patch |
| 158 |
| 159 Also allow the \include of files in subdirectories when variantDir |
| 160 is used with duplicate=0. Previously latex would crash since |
| 161 the directory in which the .aux file is written was not created. |
| 162 Thanks to Stefan Hepp for finding this and part of the solution. |
| 163 |
| 164 From James Teh: |
| 165 - Patches to fix some issues using MS SDK V7.0 |
| 166 |
| 167 From William Deegan: |
| 168 - Lots of testing and minor patches to handle mixed MS VC and SDK |
| 169 installations, as well as having only the SDK installed. |
| 170 |
| 171 |
| 172 RELEASE 1.2.0.d20100117 - Sun, 17 Jan 2010 14:26:59 -0800 |
| 173 |
| 174 From Jim Randall: |
| 175 - Fixed temp filename race condition on Windows with long cmd lines. |
| 176 |
| 177 From David Cournapeau: |
| 178 - Fixed tryRun when sconf directory is in a variant dir. |
| 179 - Do not add -fPIC for ifort tool on non-posix platforms (darwin and |
| 180 windows). |
| 181 - Fix bug 2294 (spurious CheckCC failures). |
| 182 - Fix scons bootstrap process on windows 64 (wrong wininst name) |
| 183 |
| 184 From William Deegan: |
| 185 - Final merge from vs_revamp branch to main |
| 186 |
| 187 - Added definition and usage of HOST_OS, HOST_ARCH, TARGET_OS, |
| 188 TARGET_ARCH, currently only defined/used by Visual Studio |
| 189 Compilers. This will be rolled out to other platforms/tools |
| 190 in the future. |
| 191 |
| 192 - Add check for python >= 3.0.0 and exit gracefully. |
| 193 For 1.3 python >= 1.5.2 and < 3.0.0 are supported |
| 194 |
| 195 - Fix bug 1944 - Handle non-existent .i file in swig emitter, previously |
| 196 it would crash with an IOError exception. Now it will try to make an |
| 197 educated guess on the module name based on the filename. |
| 198 |
| 199 From Lukas Erlinghagen: |
| 200 |
| 201 - Have AddOption() remove variables from the list of |
| 202 seen-but-unknown variables (which are reported later). |
| 203 |
| 204 - An option name and aliases can now be specified as a tuple. |
| 205 |
| 206 From Hartmut Goebel: |
| 207 |
| 208 - Textfile builder. |
| 209 |
| 210 From Jared Grubb: |
| 211 |
| 212 - use "is/is not" in comparisons with None instead of "==" or "!=". |
| 213 |
| 214 From Jim Hunziker: |
| 215 |
| 216 - Avoid adding -gphobos to a command line multiple times |
| 217 when initializing use of the DMD compiler. |
| 218 |
| 219 From Jason Kenney: |
| 220 |
| 221 - Sugguested HOST/TARGET OS/ARCH separation. |
| 222 |
| 223 From Steven Knight: |
| 224 |
| 225 - Fix the -n option when used with VariantDir(duplicate=1) |
| 226 and the variant directory doesn't already exist. |
| 227 |
| 228 - Fix scanning of Unicode files for both UTF-16 endian flavors. |
| 229 |
| 230 - Fix a TypeError on #include of file names with Unicode characters. |
| 231 |
| 232 - Fix an exception if a null command-line argument is passed in. |
| 233 |
| 234 - Evaluate Requires() prerequisites before a Node's direct children |
| 235 (sources and dependencies). |
| 236 |
| 237 From Greg Noel: |
| 238 |
| 239 - Remove redundant __metaclass__ initializations in Environment.py. |
| 240 |
| 241 - Correct the documentation of text returned by sconf.Result(). |
| 242 |
| 243 - Document that filenames with '.' as the first character are |
| 244 ignored by Glob() by default (matching UNIX glob semantics). |
| 245 |
| 246 - Fix SWIG testing infrastructure to work on Mac OS X. |
| 247 |
| 248 - Restructure a test that occasionally hung so that the test would |
| 249 detect when it was stuck and fail instead. |
| 250 |
| 251 - Substfile builder. |
| 252 |
| 253 From Gary Oberbrunner: |
| 254 |
| 255 - When reporting a target that SCons doesn't know how to make, |
| 256 specify whether it's a File, Dir, etc. |
| 257 |
| 258 From Ben Webb: |
| 259 |
| 260 - Fix use of $SWIGOUTDIR when generating Python wrappers. |
| 261 |
| 262 - Add $SWIGDIRECTORSUFFIX and $SWIGVERSION construction variables. |
| 263 |
| 264 From Rob Managan: |
| 265 |
| 266 - Add -recorder flag to Latex commands and updated internals to |
| 267 use the output to find files TeX creates. This allows the MiKTeX |
| 268 installations to find the created files |
| 269 |
| 270 - Notify user of Latex errors that would get buried in the |
| 271 Latex output |
| 272 |
| 273 - Remove LATEXSUFFIXES from environments that don't initialize Tex. |
| 274 |
| 275 - Add support for the glosaaries package for glossaries and acronyms |
| 276 |
| 277 - Fix problem that pdftex, latex, and pdflatex tools by themselves did |
| 278 not create the actions for bibtex, makeindex,... by creating them |
| 279 and other environment settings in one routine called by all four |
| 280 tex tools. |
| 281 |
| 282 - Fix problem with filenames of sideeffects when the user changes |
| 283 the name of the output file from the latex default |
| 284 |
| 285 - Add scanning of files included in Latex by means of \lstinputlisting{} |
| 286 Patch from Stefan Hepp. |
| 287 |
| 288 - Change command line for epstopdf to use --outfile= instead of -o |
| 289 since this works on all platforms. |
| 290 Patch from Stefan Hepp. |
| 291 |
| 292 - Change scanner to properly search for included file from the |
| 293 directory of the main file instead of the file it is included from. |
| 294 Also update the emitter to add the .aux file associated with |
| 295 \include{filename} commands. This makes sure the required directories |
| 296 if any are created for variantdir cases. |
| 297 Half of the patch from Stefan Hepp. |
| 298 |
| 299 RELEASE 1.2.0.d20090223 - Mon, 23 Feb 2009 08:41:06 -0800 |
| 300 |
| 301 From Stanislav Baranov: |
| 302 |
| 303 - Make suffix-matching for scanners case-insensitive on Windows. |
| 304 |
| 305 From David Cournapeau: |
| 306 |
| 307 - Change the way SCons finds versions of Visual C/C++ and Visual |
| 308 Studio to find and use the Microsoft v*vars.bat files. |
| 309 |
| 310 From Robert P. J. Day: |
| 311 |
| 312 - User's Guide updates. |
| 313 |
| 314 From Dan Eaton: |
| 315 |
| 316 - Fix generation of Visual Studio 8 project files on x64 platforms. |
| 317 |
| 318 From Allan Erskine: |
| 319 |
| 320 - Set IncludeSearchPath and PreprocessorDefinitions in generated |
| 321 Visual Studio 8 project files, to help IntelliSense work. |
| 322 |
| 323 From Mateusz Gruca: |
| 324 |
| 325 - Fix deletion of broken symlinks by the --clean option. |
| 326 |
| 327 From Steven Knight: |
| 328 |
| 329 - Fix the error message when use of a non-existent drive on Windows |
| 330 is detected. |
| 331 |
| 332 - Add sources for files whose targets don't exist in $CHANGED_SOURCES. |
| 333 |
| 334 - Detect implicit dependencies on commands even when the command is |
| 335 quoted. |
| 336 |
| 337 - Fix interaction of $CHANGED_SOURCES with the --config=force option. |
| 338 |
| 339 - Fix finding #include files when the string contains escaped |
| 340 backslashes like "C:\\some\\include.h". |
| 341 |
| 342 - Pass $CCFLAGS to Visual C/C++ precompiled header compilation. |
| 343 |
| 344 - Remove unnecessary nested $( $) around $_LIBDIRFLAGS on link lines |
| 345 for the Microsoft linker, the OS/2 ilink linker and the Phar Lap |
| 346 linkloc linker. |
| 347 |
| 348 - Spell the Windows environment variables consistently "SystemDrive" |
| 349 and "SystemRoot" instead of "SYSTEMDRIVE" and "SYSTEMROOT". |
| 350 |
| 351 |
| 352 |
| 353 RELEASE 1.2.0.d20090113 - Tue, 13 Jan 2009 02:50:30 -0800 |
| 354 |
| 355 From Stanislav Baranov, Ted Johnson and Steven Knight: |
| 356 |
| 357 - Add support for batch compilation of Visual Studio C/C++ source |
| 358 files, controlled by a new $MSVC_BATCH construction variable. |
| 359 |
| 360 From Steven Knight: |
| 361 |
| 362 - Print the message, "scons: Build interrupted." on error output, |
| 363 not standard output. |
| 364 |
| 365 - Add a --warn=future-deprecated option for advance warnings about |
| 366 deprecated features that still have warnings hidden by default. |
| 367 |
| 368 - Fix use of $SOURCE and $SOURCES attributes when there are no |
| 369 sources specified in the Builder call. |
| 370 |
| 371 - Add support for new $CHANGED_SOURCES, $CHANGED_TARGETS, |
| 372 $UNCHANGED_SOURCES and $UNCHANGED_TARGETS variables. |
| 373 |
| 374 - Add general support for batch builds through new batch_key= and |
| 375 targets= keywords to Action object creation. |
| 376 |
| 377 From Arve Knudsen: |
| 378 |
| 379 - Make linker tools differentiate properly between SharedLibrary |
| 380 and LoadableModule. |
| 381 |
| 382 - Document TestCommon.shobj_prefix variable. |
| 383 |
| 384 - Support $SWIGOUTDIR values with spaces. |
| 385 |
| 386 From Rob Managan: |
| 387 |
| 388 - Don't automatically try to build .pdf graphics files for |
| 389 .eps files in \includegraphics{} calls in TeX/LaTeX files |
| 390 when building with the PDF builder (and thus using pdflatex). |
| 391 |
| 392 From Gary Oberbrunner: |
| 393 |
| 394 - Allow AppendENVPath() and PrependENVPath() to interpret '#' |
| 395 for paths relative to the top-level SConstruct directory. |
| 396 |
| 397 - Use the Borland ilink -e option to specify the output file name. |
| 398 |
| 399 - Document that the msvc Tool module uses $PCH, $PCHSTOP and $PDB. |
| 400 |
| 401 - Allow WINDOWS_INSERT_DEF=0 to disable --output-def when linking |
| 402 under MinGW. |
| 403 |
| 404 From Zia Sobhani: |
| 405 |
| 406 - Fix typos in the User's Guide. |
| 407 |
| 408 From Greg Spencer: |
| 409 |
| 410 - Support implicit dependency scanning of files encoded in utf-8 |
| 411 and utf-16. |
| 412 |
| 413 From Roberto de Vecchi: |
| 414 |
| 415 - Remove $CCFLAGS from the the default definitions of $CXXFLAGS for |
| 416 Visual C/C++ and MIPSpro C++ on SGI so, they match other tools |
| 417 and avoid flag duplication on C++ command lines. |
| 418 |
| 419 From Ben Webb: |
| 420 |
| 421 - Handle quoted module names in SWIG source files. |
| 422 |
| 423 - Emit *_wrap.h when SWIG generates header file for directors |
| 424 |
| 425 From Matthew Wesley: |
| 426 |
| 427 - Copy file attributes so we identify, and can link a shared library |
| 428 from, shared object files in a Repository. |
| 429 |
| 430 |
| 431 |
| 432 RELEASE 1.2.0 - Sat, 20 Dec 2008 22:47:29 -0800 |
| 433 |
| 434 From Steven Knight: |
| 435 |
| 436 - Don't fail if can't import a _subprocess module on Windows. |
| 437 |
| 438 - Add warnings for use of the deprecated Options object. |
| 439 |
| 440 |
| 441 |
| 442 RELEASE 1.1.0.d20081207 - Sun, 07 Dec 2008 19:17:23 -0800 |
| 443 |
| 444 From Benoit Belley: |
| 445 |
| 446 - Improve the robustness of GetBuildFailures() by refactoring |
| 447 SCons exception handling (especially BuildError exceptions). |
| 448 |
| 449 - Have the --taskmastertrace= option print information about |
| 450 individual Task methods, not just the Taskmaster control flow. |
| 451 |
| 452 - Eliminate some spurious dependency cycles by being more aggressive |
| 453 about pruning pending children from the Taskmaster walk. |
| 454 |
| 455 - Suppress mistaken reports of a dependency cycle when a child |
| 456 left on the pending list is a single Node in EXECUTED state. |
| 457 |
| 458 From David Cournapeau: |
| 459 |
| 460 - Fix $FORTRANMODDIRPREFIX for the ifort (Intel Fortran) tool. |
| 461 |
| 462 From Brad Fitzpatrick: |
| 463 |
| 464 - Don't pre-generate an exception message (which will likely be |
| 465 ignored anyway) when an EntryProxy re-raises an AttributeError. |
| 466 |
| 467 From Jared Grubb: |
| 468 |
| 469 - Clean up coding style and white space in Node/FS.py. |
| 470 |
| 471 - Fix a typo in the documentation for $_CPPDEFFLAGS. |
| 472 |
| 473 - Issue 2401: Fix usage of comparisons with None. |
| 474 |
| 475 From Ludwig Hähne: |
| 476 |
| 477 - Handle Java inner classes declared within a method. |
| 478 |
| 479 From Steven Knight: |
| 480 |
| 481 - Fix label placement by the "scons-time.py func" subcommand |
| 482 when a profile value was close to (or equal to) 0.0. |
| 483 |
| 484 - Fix env.Append() and env.Prepend()'s ability to add a string to |
| 485 list-like variables like $CCFLAGS under Python 2.6. |
| 486 |
| 487 - Other Python2.6 portability: don't use "as" (a Python 2.6 keyword). |
| 488 Don't use the deprecated Exception.message attribute. |
| 489 |
| 490 - Support using the -f option to search for a different top-level |
| 491 file name when walking up with the -D, -U or -u options. |
| 492 |
| 493 - Fix use of VariantDir when the -n option is used and doesn't, |
| 494 therefore, actually create the variant directory. |
| 495 |
| 496 - Fix a stack trace from the --debug=includes option when passed a |
| 497 static or shared library as an argument. |
| 498 |
| 499 - Speed up the internal find_file() function (used for searching |
| 500 CPPPATH, LIBPATH, etc.). |
| 501 |
| 502 - Add support for using the Python "in" keyword on construction |
| 503 environments (for example, if "CPPPATH" in env: ...). |
| 504 |
| 505 - Fix use of Glob() when a repository or source directory contains |
| 506 an in-memory Node without a corresponding on-disk file or directory. |
| 507 |
| 508 - Add a warning about future reservation of $CHANGED_SOURCES, |
| 509 $CHANGED_TARGETS, $UNCHANGED_SOURCES and $UNCHANGED_TARGETS. |
| 510 |
| 511 - Enable by default the existing warnings about setting the resource |
| 512 $SOURCE, $SOURCES, $TARGET and $TARGETS variable. |
| 513 |
| 514 From Rob Managan: |
| 515 |
| 516 - Scan for TeX files in the paths specified in the $TEXINPUTS |
| 517 construction variable and the $TEXINPUTS environment variable. |
| 518 |
| 519 - Configure the PDF() and PostScript() Builders as single_source so |
| 520 they know each source file generates a separate target file. |
| 521 |
| 522 - Add $EPSTOPDF, $EPSTOPDFFLAGS and $EPSTOPDFCOM |
| 523 |
| 524 - Add .tex as a valid extension for the PDF() builder. |
| 525 |
| 526 - Add regular expressions to find \input, \include and |
| 527 \includegraphics. |
| 528 |
| 529 - Support generating a .pdf file from a .eps source. |
| 530 |
| 531 - Recursive scan included input TeX files. |
| 532 |
| 533 - Handle requiring searched-for TeX input graphics files to have |
| 534 extensions (to avoid trying to build a .eps from itself, e.g.). |
| 535 |
| 536 From Greg Noel: |
| 537 |
| 538 - Make the Action() function handle positional parameters consistently. |
| 539 |
| 540 - Clarify use of Configure.CheckType(). |
| 541 |
| 542 - Make the File.{Dir,Entry,File}() methods create their entries |
| 543 relative to the calling File's directory, not the SConscript |
| 544 directory. |
| 545 |
| 546 - Use the Python os.devnull variable to discard error output when |
| 547 looking for the $CC or $CXX version. |
| 548 |
| 549 - Mention LoadableModule() in the SharedLibrary() documentation. |
| 550 |
| 551 From Gary Oberbrunner: |
| 552 |
| 553 - Update the User's Guide to clarify use of the site_scons/ |
| 554 directory and the site_init.py module. |
| 555 |
| 556 - Make env.AppendUnique() and env.PrependUnique remove duplicates |
| 557 within a passed-in list being added, too. |
| 558 |
| 559 From Randall Spangler: |
| 560 |
| 561 - Fix Glob() so an on-disk file or directory beginning with '#' |
| 562 doesn't throw an exception. |
| 563 |
| 564 |
| 565 |
| 566 RELEASE 1.1.0 - Thu, 09 Oct 2008 08:33:47 -0700 |
| 567 |
| 568 From Chris AtLee |
| 569 |
| 570 - Use the specified environment when checking for the GCC compiler |
| 571 version. |
| 572 |
| 573 From Ian P. Cardenas: |
| 574 |
| 575 - Fix Glob() polluting LIBPATH by returning copy of list |
| 576 |
| 577 From David Cournapeau: |
| 578 |
| 579 - Add CheckCC, CheckCXX, CheckSHCC and CheckSHCXX tests to |
| 580 configuration contexts. |
| 581 |
| 582 - Have the --profile= argument use the much faster cProfile module |
| 583 (if it's available in the running Python version). |
| 584 |
| 585 - Reorder MSVC compilation arguments so the /Fo is first. |
| 586 |
| 587 From Bill Deegan: |
| 588 |
| 589 - Add scanning Windows resource (.rc) files for implicit dependencies. |
| 590 |
| 591 From John Gozde: |
| 592 |
| 593 - When scanning for a #include file, don't use a directory that |
| 594 has the same name as the file. |
| 595 |
| 596 From Ralf W. Grosse-Kunstleve |
| 597 |
| 598 - Suppress error output when checking for the GCC compiler version. |
| 599 |
| 600 From Jared Grubb: |
| 601 |
| 602 - Fix VariantDir duplication of #included files in subdirectories. |
| 603 |
| 604 From Ludwig Hähne: |
| 605 |
| 606 - Reduce memory usage when a directory is used as a dependency of |
| 607 another Node (such as an Alias) by returning a concatenation |
| 608 of the children's signatures + names, not the children's contents, |
| 609 as the directory contents. |
| 610 |
| 611 - Raise AttributeError, not KeyError, when a Builder can't be found. |
| 612 |
| 613 - Invalidate cached Node information (such as the contenst returned |
| 614 by the get_contents() method) when calling actions with Execute(). |
| 615 |
| 616 - Avoid object reference cycles from frame objects. |
| 617 |
| 618 - Reduce memory usage from Null Executor objects. |
| 619 |
| 620 - Compute MD5 checksums of large files without reading the entire |
| 621 file contents into memory. Add a new --md5-chunksize option to |
| 622 control the size of each chunk read into memory. |
| 623 |
| 624 From Steven Knight: |
| 625 |
| 626 - Fix the ability of the add_src_builder() method to add a new |
| 627 source builder to any other builder. |
| 628 |
| 629 - Avoid an infinite loop on non-Windows systems trying to find the |
| 630 SCons library directory if the Python library directory does not |
| 631 begin with the string "python". |
| 632 |
| 633 - Search for the SCons library directory in "scons-local" (with |
| 634 no version number) after "scons-local-{VERSION}". |
| 635 |
| 636 From Rob Managan: |
| 637 |
| 638 - Fix the user's ability to interrupt the TeX build chain. |
| 639 |
| 640 - Fix the TeX builder's allowing the user to specify the target name, |
| 641 instead of always using its default output name based on the source. |
| 642 |
| 643 - Iterate building TeX output files until all warning are gone |
| 644 and the auxiliary files stop changing, or until we reach the |
| 645 (configurable) maximum number of retries. |
| 646 |
| 647 - Add TeX scanner support for: glossaries, nomenclatures, lists of |
| 648 figures, lists of tables, hyperref and beamer. |
| 649 |
| 650 - Use the $BIBINPUTS, $BSTINPUTS, $TEXINPUTS and $TEXPICTS construction |
| 651 variables as search paths for the relevant types of input file. |
| 652 |
| 653 - Fix building TeX with VariantDir(duplicate=0) in effect. |
| 654 |
| 655 - Fix the LaTeX scanner to search for graphics on the TEXINPUTS path. |
| 656 |
| 657 - Have the PDFLaTeX scanner search for .gif files as well. |
| 658 |
| 659 From Greg Noel: |
| 660 |
| 661 - Fix typos and format bugs in the man page. |
| 662 |
| 663 - Add a first draft of a wrapper module for Python's subprocess |
| 664 module. |
| 665 |
| 666 - Refactor use of the SCons.compat module so other modules don't |
| 667 have to import it individually. |
| 668 |
| 669 - Add .sx as a suffix for assembly language files that use the |
| 670 C preprocessor. |
| 671 |
| 672 From Gary Oberbrunner: |
| 673 |
| 674 - Make Glob() sort the returned list of Files or Nodes |
| 675 to prevent spurious rebuilds. |
| 676 |
| 677 - Add a delete_existing keyword argument to the AppendENVPath() |
| 678 and PrependENVPath() Environment methods. |
| 679 |
| 680 - Add ability to use "$SOURCE" when specifying a target to a builder |
| 681 |
| 682 From Damyan Pepper: |
| 683 |
| 684 - Add a test case to verify that SConsignFile() files can be |
| 685 created in previously non-existent subdirectories. |
| 686 |
| 687 From Jim Randall: |
| 688 |
| 689 - Make the subdirectory in which the SConsignFile() file will |
| 690 live, if the subdirectory doesn't already exist. |
| 691 |
| 692 From Ali Tofigh: |
| 693 |
| 694 - Add a test to verify duplication of files in VariantDir subdirectories. |
| 695 |
| 696 |
| 697 |
| 698 RELEASE 1.0.1 - Sat, 06 Sep 2008 07:29:34 -0700 |
| 699 |
| 700 From Greg Noel: |
| 701 |
| 702 - Add a FindFile() section to the User's Guide. |
| 703 |
| 704 - Fix the FindFile() documentation in the man page. |
| 705 |
| 706 - Fix formatting errors in the Package() description in the man page. |
| 707 |
| 708 - Escape parentheses that appear within variable names when spawning |
| 709 command lines using os.system(). |
| 710 |
| 711 |
| 712 |
| 713 RELEASE 1.0.0 - XXX |
| 714 |
| 715 From Jared Grubb: |
| 716 |
| 717 - Clear the Node state when turning a generic Entry into a Dir. |
| 718 |
| 719 From Ludwig Hähne: |
| 720 |
| 721 - Fix sporadic output-order failures in test/GetBuildFailures/parallel.py. |
| 722 |
| 723 - Document the ParseDepends() function in the User's Guide. |
| 724 |
| 725 From khomenko: |
| 726 |
| 727 - Create a separate description and long_description for RPM packages. |
| 728 |
| 729 From Steven Knight: |
| 730 |
| 731 - Document the GetLaunchDir() function in the User's Guide. |
| 732 |
| 733 - Have the env.Execute() method print an error message if the |
| 734 executed command fails. |
| 735 |
| 736 - Add a script for creating a standard SCons development system on |
| 737 Ubuntu Hardy. Rewrite subsidiary scripts for install Python and |
| 738 SCons versions in Python (from shell). |
| 739 |
| 740 From Greg Noel: |
| 741 |
| 742 - Handle yacc/bison on newer Mac OS X versions creating file.hpp, |
| 743 not file.cpp.h. |
| 744 |
| 745 - In RPCGEN tests, ignore stderr messages from older versions of |
| 746 rpcgen on some versions of Mac OS X. |
| 747 |
| 748 - Fix typos in man page descriptions of Tag() and Package(), and in |
| 749 the scons-time man page. |
| 750 |
| 751 - Fix documentation of SConf.CheckLibWithHeader and other SConf methods. |
| 752 |
| 753 - Update documentation of SConscript(variant_dir) usage. |
| 754 |
| 755 - Fix SWIG tests for (some versions of) Mac OS X. |
| 756 |
| 757 From Jonas Olsson: |
| 758 |
| 759 - Print the warning about -j on Windows being potentially unreliable if |
| 760 the pywin32 extensions are unavailable or lack file handle operations. |
| 761 |
| 762 From Jim Randall: |
| 763 |
| 764 - Fix the env.WhereIs() method to expand construction variables. |
| 765 |
| 766 From Rogier Schouten: |
| 767 |
| 768 - Enable building of shared libraries with the Bordand ilink32 linker. |
| 769 |
| 770 |
| 771 |
| 772 RELEASE 1.0.0 - Sat, 09 Aug 2008 12:19:44 -0700 |
| 773 |
| 774 From Luca Falavigna: |
| 775 |
| 776 - Fix SCons man page indentation under Debian's man page macros. |
| 777 |
| 778 From Steven Knight: |
| 779 |
| 780 - Clarify the man page description of the SConscript(src_dir) argument. |
| 781 |
| 782 - User's Guide updates: |
| 783 |
| 784 - Document the BUILD_TARGETS, COMMAND_LINE_TARGETS and |
| 785 DEFAULT_TARGETS variables. |
| 786 |
| 787 - Document the AddOption(), GetOption() and SetOption() functions. |
| 788 |
| 789 - Document the Requires() function; convert to the Variables |
| 790 object, its UnknownOptions() method, and its associated |
| 791 BoolVariable(), EnumVariable(), ListVariable(), PackageVariable() |
| 792 and PathVariable() functions. |
| 793 |
| 794 - Document the Progress() function. |
| 795 |
| 796 - Reorganize the chapter and sections describing the different |
| 797 types of environments and how they interact. Document the |
| 798 SetDefault() method. Document the PrependENVPath() and |
| 799 AppendENVPath() functions. |
| 800 |
| 801 - Reorganize the command-line arguments chapter. Document the |
| 802 ARGLIST variable. |
| 803 |
| 804 - Collect some miscellaneous sections into a chapter about |
| 805 configuring build output. |
| 806 |
| 807 - Man page updates: |
| 808 |
| 809 - Document suggested use of the Visual C/C++ /FC option to fix |
| 810 the ability to double-click on file names in compilation error |
| 811 messages. |
| 812 |
| 813 - Document the need to use Clean() for any SideEffect() files that |
| 814 must be explicitly removed when their targets are removed. |
| 815 |
| 816 - Explicitly document use of Node lists as input to Dependency(). |
| 817 |
| 818 From Greg Noel: |
| 819 |
| 820 - Document MergeFlags(), ParseConfig(), ParseFlags() and SideEffect() |
| 821 in the User's Guide. |
| 822 |
| 823 From Gary Oberbrunner: |
| 824 |
| 825 - Document use of the GetBuildFailures() function in the User's Guide. |
| 826 |
| 827 From Adam Simpkins: |
| 828 |
| 829 - Add man page text clarifying the behavior of AddPreAction() and |
| 830 AddPostAction() when called with multiple targets. |
| 831 |
| 832 From Alexey Zezukin: |
| 833 |
| 834 - Fix incorrectly swapped man page descriptions of the --warn= options |
| 835 for duplicate-environment and missing-sconscript. |
| 836 |
| 837 |
| 838 |
| 839 RELEASE 0.98.5 - Sat, 07 Jun 2008 08:20:35 -0700 |
| 840 |
| 841 From Benoit Belley: |
| 842 |
| 843 - Fix the Intel C++ compiler ABI specification for EMT64 processors. |
| 844 |
| 845 From David Cournapeau: |
| 846 |
| 847 - Issue a (suppressable) warning, not an error, when trying to link |
| 848 C++ and Fortran object files into the same executable. |
| 849 |
| 850 From Steven Knight: |
| 851 |
| 852 - Update the scons.bat file so that it returns the real exit status |
| 853 from SCons, even though it uses setlocal + endlocal. |
| 854 |
| 855 - Fix the --interactive post-build messages so it doesn't get stuck |
| 856 mistakenly reporting failures after any individual build fails. |
| 857 |
| 858 - Fix calling File() as a File object method in some circumstances. |
| 859 |
| 860 - Fix setup.py installation on Mac OS X so SCons gets installed |
| 861 under /usr/lcoal by default, not in the Mac OS X Python framework. |
| 862 |
| 863 |
| 864 |
| 865 RELEASE 0.98.4 - Sat, 17 May 2008 22:14:46 -0700 |
| 866 |
| 867 From Benoit Belley: |
| 868 |
| 869 - Fix calculation of signatures for Python function actions with |
| 870 closures in Python versions before 2.5. |
| 871 |
| 872 From David Cournapeau: |
| 873 |
| 874 - Fix the initialization of $SHF77FLAGS so it includes $F77FLAGS. |
| 875 |
| 876 From Jonas Olsson: |
| 877 |
| 878 - Fix a syntax error in the Intel C compiler support on Windows. |
| 879 |
| 880 From Steven Knight: |
| 881 |
| 882 - Change how we represent Python Value Nodes when printing and when |
| 883 stored in .sconsign files (to avoid blowing out memory by storing |
| 884 huge strings in .sconsign files after multiple runs using Configure |
| 885 contexts cause the Value strings to be re-escaped each time). |
| 886 |
| 887 - Fix a regression in not executing configuration checks after failure |
| 888 of any configuration check that used the same compiler or other tool. |
| 889 |
| 890 - Handle multiple destinations in Visual Studio 8 settings for the |
| 891 analogues to the INCLUDE, LIBRARY and PATH variables. |
| 892 |
| 893 From Greg Noel: |
| 894 |
| 895 - Update man page text for VariantDir(). |
| 896 |
| 897 |
| 898 |
| 899 RELEASE 0.98.3 - Tue, 29 Apr 2008 22:40:12 -0700 |
| 900 |
| 901 From Greg Noel: |
| 902 |
| 903 - Fix use of $CXXFLAGS when building C++ shared object files. |
| 904 |
| 905 From Steven Knight: |
| 906 |
| 907 - Fix a regression when a Builder's source_scanner doesn't select |
| 908 a more specific scanner for the suffix of a specified source file. |
| 909 |
| 910 - Fix the Options object backwards compatibility so people can still |
| 911 "import SCons.Options.{Bool,Enum,List,Package,Path}Option" submodules. |
| 912 |
| 913 - Fix searching for implicit dependencies when an Entry Node shows up |
| 914 in the search path list. |
| 915 |
| 916 From Stefano: |
| 917 |
| 918 - Fix expansion of $FORTRANMODDIR in the default Fortran command line(s) |
| 919 when it's set to something like ${TARGET.dir}. |
| 920 |
| 921 |
| 922 |
| 923 RELEASE 0.98.2 - Sun, 20 Apr 2008 23:38:56 -0700 |
| 924 |
| 925 From Steven Knight: |
| 926 |
| 927 - Fix a bug in Fortran suffix computation that would cause SCons to |
| 928 run out of memory on Windows systems. |
| 929 |
| 930 - Fix being able to specify --interactive mode command lines with |
| 931 \ (backslash) path name separators on Windows. |
| 932 |
| 933 From Gary Oberbrunner: |
| 934 |
| 935 - Document Glob() in the User's Guide. |
| 936 |
| 937 |
| 938 |
| 939 RELEASE 0.98.1 - Fri, 18 Apr 2008 19:11:58 -0700 |
| 940 |
| 941 From Benoit Belley: |
| 942 |
| 943 - Speed up the SCons.Util.to_string*() functions. |
| 944 |
| 945 - Optimize various Node intialization and calculations. |
| 946 |
| 947 - Optimize Executor scanning code. |
| 948 |
| 949 - Optimize Taskmaster execution, including dependency-cycle checking. |
| 950 |
| 951 - Fix the --debug=stree option so it prints its tree once, not twice. |
| 952 |
| 953 From Johan BoulÃ: |
| 954 |
| 955 - Fix the ability to use LoadableModule() under MinGW. |
| 956 |
| 957 From David Cournapeau: |
| 958 |
| 959 - Various missing Fortran-related construction variables have been added. |
| 960 |
| 961 - SCons now uses the program specified in the $FORTRAN construction |
| 962 variable to link Fortran object files. |
| 963 |
| 964 - Fortran compilers on Linux (Intel, g77 and gfortran) now add the -fPIC |
| 965 option by default when compilling shared objects. |
| 966 |
| 967 - New 'sunf77', 'sunf90' and 'sunf95' Tool modules have been added to |
| 968 support Sun Fortran compilers. On Solaris, the Sun Fortran compilers |
| 969 are used in preference to other compilers by default. |
| 970 |
| 971 - Fortran support now uses gfortran in preference to g77. |
| 972 |
| 973 - Fortran file suffixes are now configurable through the |
| 974 $F77FILESUFFIXES, $F90FILESUFFIXES, $F95FILESUFFIXES and |
| 975 $FORTRANFILESUFFIXES variables. |
| 976 |
| 977 From Steven Knight: |
| 978 |
| 979 - Make the -d, -e, -w and --no-print-directory options "Ignored for |
| 980 compatibility." (We're not going to implement them.) |
| 981 |
| 982 - Fix a serious inefficiency in how SCons checks for whether any source |
| 983 files are missing when a Builder call creates many targets from many |
| 984 input source files. |
| 985 |
| 986 - In Java projects, make the target .class files depend only on the |
| 987 specific source .java files where the individual classes are defined. |
| 988 |
| 989 - Don't store duplicate source file entries in the .sconsign file so |
| 990 we don't endlessly rebuild the target(s) for no reason. |
| 991 |
| 992 - Add a Variables object as the first step towards deprecating the |
| 993 Options object name. Similarly, add BoolVariable(), EnumVariable(), |
| 994 ListVariable(), PackageVariable() and PathVariable() functions |
| 995 as first steps towards replacing BoolOption(), EnumOption(), |
| 996 ListOption(), PackageOption() and PathOption(). |
| 997 |
| 998 - Change the options= keyword argument to the Environment() function |
| 999 to variables=, to avoid confusion with SCons command-line options. |
| 1000 Continue supporting the options= keyword for backwards compatibility. |
| 1001 |
| 1002 - When $SWIGFLAGS contains the -python flag, expect the generated .py |
| 1003 file to be in the same (sub)directory as the target. |
| 1004 |
| 1005 - When compiling C++ files, allow $CCFLAGS settings to show up on the |
| 1006 command line even when $CXXFLAGS has been redefined. |
| 1007 |
| 1008 - Fix --interactive with -u/-U/-D when a VariantDir() is used. |
| 1009 |
| 1010 From Anatoly Techtonik: |
| 1011 |
| 1012 - Have the scons.bat file add the script execution directory to its |
| 1013 local %PATH% on Windows, so the Python executable can be found. |
| 1014 |
| 1015 From Mike Wake: |
| 1016 |
| 1017 - Fix passing variable names as a list to the Return() function. |
| 1018 |
| 1019 From Matthew Wesley: |
| 1020 |
| 1021 - Add support for the GDC 'D' language compiler. |
| 1022 |
| 1023 |
| 1024 |
| 1025 RELEASE 0.98 - Sun, 30 Mar 2008 23:33:05 -0700 |
| 1026 |
| 1027 From Benoit Belley: |
| 1028 |
| 1029 - Fix the --keep-going flag so it builds all possible targets even when |
| 1030 a later top-level target depends on a child that failed its build. |
| 1031 |
| 1032 - Fix being able to use $PDB and $WINDWOWS_INSERT_MANIFEST together. |
| 1033 |
| 1034 - Don't crash if un-installing the Intel C compiler leaves left-over, |
| 1035 dangling entries in the Windows registry. |
| 1036 |
| 1037 - Improve support for non-standard library prefixes and suffixes by |
| 1038 stripping all prefixes/suffixes from file name string as appropriate. |
| 1039 |
| 1040 - Reduce the default stack size for -j worker threads to 256 Kbytes. |
| 1041 Provide user control over this value by adding --stack-size and |
| 1042 --warn=stack-size options, and a SetOption('stack_size') function. |
| 1043 |
| 1044 - Fix a crash on Linux systems when trying to use the Intel C compiler |
| 1045 and no /opt/intel_cc_* directories are found. |
| 1046 |
| 1047 - Improve using Python functions as actions by incorporating into |
| 1048 a FunctionAction's signature: |
| 1049 - literal values referenced by the byte code. |
| 1050 - values of default arguments |
| 1051 - code of nested functions |
| 1052 - values of variables captured by closures |
| 1053 - names of referenced global variables and functions |
| 1054 |
| 1055 - Fix the closing message when --clean and --keep-going are both |
| 1056 used and no errors occur. |
| 1057 |
| 1058 - Add support for the Intel C compiler on Mac OS X. |
| 1059 |
| 1060 - Speed up reading SConscript files by about 20% (for some |
| 1061 configurations) by: 1) optimizing the SCons.Util.is_*() and |
| 1062 SCons.Util.flatten() functions; 2) avoiding unnecessary os.stat() |
| 1063 calls by using a File's .suffix attribute directly instead of |
| 1064 stringifying it. |
| 1065 |
| 1066 From Jérôme Berger: |
| 1067 |
| 1068 - Have the D language scanner search for .di files as well as .d files. |
| 1069 |
| 1070 - Add a find_include_names() method to the Scanner.Classic class to |
| 1071 abstract out how included names can be generated by subclasses. |
| 1072 |
| 1073 - Allow the D language scanner to detect multiple modules imported by |
| 1074 a single statement. |
| 1075 |
| 1076 From Konstantin Bozhikov: |
| 1077 |
| 1078 - Support expansion of construction variables that contain or refer |
| 1079 to lists of other variables or Nodes within expansions like $CPPPATH. |
| 1080 |
| 1081 - Change variable substitution (the env.subst() method) so that an |
| 1082 input sequence (list or tuple) is preserved as a list in the output. |
| 1083 |
| 1084 From David Cournapeau: |
| 1085 |
| 1086 - Add a CheckDeclaration() call to configure contexts. |
| 1087 |
| 1088 - Improve the CheckTypeSize() code. |
| 1089 |
| 1090 - Add a Define() call to configure contexts, to add arbitrary #define |
| 1091 lines to a generated configure header file. |
| 1092 |
| 1093 - Add a "gfortran" Tool module for the GNU F95/F2003 compiler. |
| 1094 |
| 1095 - Avoid use of -rpath with the Mac OS X linker. |
| 1096 |
| 1097 - Add comment lines to the generated config.h file to describe what |
| 1098 the various #define/#undef lines are doing. |
| 1099 |
| 1100 From Steven Knight: |
| 1101 |
| 1102 - Support the ability to subclass the new-style "str" class as input |
| 1103 to Builders. |
| 1104 |
| 1105 - Improve the performance of our type-checking by using isinstance() |
| 1106 with new-style classes. |
| 1107 |
| 1108 - Fix #include (and other $*PATH variables searches) of files with |
| 1109 absolute path names. Don't die if they don't exist (due to being |
| 1110 #ifdef'ed out or the like). |
| 1111 |
| 1112 - Fix --interactive mode when Default(None) is used. |
| 1113 |
| 1114 - Fix --debug=memoizer to work around a bug in base Python 2.2 metaclass |
| 1115 initialization (by just not allowing Memoization in Python versions |
| 1116 that have the bug). |
| 1117 |
| 1118 - Have the "scons-time time" subcommand handle empty log files, and |
| 1119 log files that contain no results specified by the --which option. |
| 1120 |
| 1121 - Fix the max Y of vertical bars drawn by "scons-time --fmt=gnuplot". |
| 1122 |
| 1123 - On Mac OS X, account for the fact that the header file generated |
| 1124 from a C++ file will be named (e.g.) file.cpp.h, not file.hpp. |
| 1125 |
| 1126 - Fix floating-point numbers confusing the Java parser about |
| 1127 generated .class file names in some configurations. |
| 1128 |
| 1129 - Document (nearly) all the values you can now fetch with GetOption(). |
| 1130 |
| 1131 - Fix use of file names containing strings of multiple spaces when |
| 1132 using ActionFactory instances like the Copy() or Move() function. |
| 1133 |
| 1134 - Fix a 0.97 regression when using a variable expansion (like |
| 1135 $OBJSUFFIX) in a source file name to a builder with attached source |
| 1136 builders that match suffix (like Program()+Object()). |
| 1137 |
| 1138 - Have the Java parser recognize generics (surrounded by angle brackets) |
| 1139 so they don't interfere with identifying anonymous inner classes. |
| 1140 |
| 1141 - Avoid an infinite loop when trying to use saved copies of the |
| 1142 env.Install() or env.InstallAs() after replacing the method |
| 1143 attributes. |
| 1144 |
| 1145 - Improve the performance of setting construction variables. |
| 1146 |
| 1147 - When cloning a construction environment, avoid over-writing an |
| 1148 attribute for an added method if the user explicitly replaced it. |
| 1149 |
| 1150 - Add a warning about deprecated support for Python 1.5, 2.0 and 2.1. |
| 1151 |
| 1152 - Fix being able to SetOption('warn', ...) in SConscript files. |
| 1153 |
| 1154 - Add a warning about env.Copy() being deprecated. |
| 1155 |
| 1156 - Add warnings about the --debug={dtree,stree,tree} options |
| 1157 being deprecated. |
| 1158 |
| 1159 - Add VariantDir() as the first step towards deprecating BuildDir(). |
| 1160 Add the keyword argument "variant_dir" as the replacement for |
| 1161 "build_dir". |
| 1162 |
| 1163 - Add warnings about the {Target,Source}Signatures() methods and |
| 1164 functions being deprecated. |
| 1165 |
| 1166 From Rob Managan: |
| 1167 |
| 1168 - Enhance TeX and LaTeX support to work with BuildDir(duplicate=0). |
| 1169 |
| 1170 - Re-run LaTeX when it issues a package warning that it must be re-run. |
| 1171 |
| 1172 From Leanid Nazdrynau: |
| 1173 |
| 1174 - Have the Copy() action factory preserve file modes and times |
| 1175 when copying individual files. |
| 1176 |
| 1177 From Jan Nijtmans: |
| 1178 |
| 1179 - If $JARCHDIR isn't set explicitly, use the .java_classdir attribute |
| 1180 that was set when the Java() Builder built the .class files. |
| 1181 |
| 1182 From Greg Noel: |
| 1183 |
| 1184 - Document the Dir(), File() and Entry() methods of Dir and File Nodes. |
| 1185 |
| 1186 - Add the parse_flags option when creating Environments |
| 1187 |
| 1188 From Gary Oberbrunner: |
| 1189 |
| 1190 - Make File(), Dir() and Entry() return a list of Nodes when passed |
| 1191 a list of names, instead of trying to make a string from the name |
| 1192 list and making a Node from that string. |
| 1193 |
| 1194 - Fix the ability to build an Alias in --interactive mode. |
| 1195 |
| 1196 - Fix the ability to hash the contents of actions for nested Python |
| 1197 functions on Python versions where the inability to pickle them |
| 1198 returns a TypeError (instead of the documented PicklingError). |
| 1199 |
| 1200 From Jonas Olsson: |
| 1201 |
| 1202 - Fix use of the Intel C compiler when the top compiler directory, |
| 1203 but not the compiler version, is specified. |
| 1204 |
| 1205 - Handle Intel C compiler network license files (port@system). |
| 1206 |
| 1207 From Jim Randall: |
| 1208 |
| 1209 - Fix how Python Value Nodes are printed in --debug=explain output. |
| 1210 |
| 1211 From Adam Simpkins: |
| 1212 |
| 1213 - Add a --interactive option that starts a session for building (or |
| 1214 cleaning) targets without re-reading the SConscript files every time. |
| 1215 |
| 1216 - Fix use of readline command-line editing in --interactive mode. |
| 1217 |
| 1218 - Have the --interactive mode "build" command with no arguments |
| 1219 build the specified Default() targets. |
| 1220 |
| 1221 - Fix the Chmod(), Delete(), Mkdir() and Touch() Action factories to |
| 1222 take a list (of Nodes or strings) as arguments. |
| 1223 |
| 1224 From Vaclav Smilauer: |
| 1225 |
| 1226 - Fix saving and restoring an Options value of 'all' on Python |
| 1227 versions where all() is a builtin function. |
| 1228 |
| 1229 From Daniel Svensson: |
| 1230 |
| 1231 - Code correction in SCons.Util.is_List(). |
| 1232 |
| 1233 From Ben Webb: |
| 1234 |
| 1235 - Support the SWIG %module statement with following modifiers in |
| 1236 parenthese (e.g., '%module(directors="1")'). |
| 1237 |
| 1238 |
| 1239 |
| 1240 RELEASE 0.97.0d20071212 - Wed, 12 Dec 2007 09:29:32 -0600 |
| 1241 |
| 1242 From Benoit Belley: |
| 1243 |
| 1244 - Fix occasional spurious rebuilds and inefficiency when using |
| 1245 --implicit-cache and Builders that produce multiple targets. |
| 1246 |
| 1247 - Allow SCons to not have to know about the builders of generated |
| 1248 files when BuildDir(duplicate=0) is used, potentially allowing some |
| 1249 SConscript files to be ignored for smaller builds. |
| 1250 |
| 1251 From David Cournapeau: |
| 1252 |
| 1253 - Add a CheckTypeSize() call to configure contexts. |
| 1254 |
| 1255 From Ken Deeter: |
| 1256 |
| 1257 - Make the "contents" of Alias Nodes a concatenation of the children's |
| 1258 content signatures (MD5 checksums), not a concatenation of the |
| 1259 children's contents, to avoid using large amounts of memory during |
| 1260 signature calculation. |
| 1261 |
| 1262 From Malte Helmert: |
| 1263 |
| 1264 - Fix a lot of typos in the man page and User's Guide. |
| 1265 |
| 1266 From Geoffrey Irving: |
| 1267 |
| 1268 - Speed up conversion of paths in .sconsign files to File or Dir Nodes. |
| 1269 |
| 1270 From Steven Knight: |
| 1271 |
| 1272 - Add an Options.UnknownOptions() method that returns any settings |
| 1273 (from the command line, or whatever dictionary was passed in) |
| 1274 that aren't known to the Options object. |
| 1275 |
| 1276 - Add a Glob() function. |
| 1277 |
| 1278 - When removing targets with the -c option, use the absolute path (to |
| 1279 avoid problems interpreting BuildDir() when the top-level directory |
| 1280 is the source directory). |
| 1281 |
| 1282 - Fix problems with Install() and InstallAs() when called through a |
| 1283 clone (of a clone, ...) of a cloned construction environment. |
| 1284 |
| 1285 - When executing a file containing Options() settings, add the file's |
| 1286 directory to sys.path (so modules can be imported from there) and |
| 1287 explicity set __name__ to the name of the file so the statement's |
| 1288 in the file can deduce the location if they need to. |
| 1289 |
| 1290 - Fix an O(n^2) performance problem when adding sources to a target |
| 1291 through calls to a multi Builder (including Aliases). |
| 1292 |
| 1293 - Redefine the $WINDOWSPROGMANIFESTSUFFIX and |
| 1294 $WINDOWSSHLIBMANIFESTSUFFIX variables so they pick up changes to |
| 1295 the underlying $SHLIBSUFFIX and $PROGSUFFIX variables. |
| 1296 |
| 1297 - Add a GetBuildFailures() function that can be called from functions |
| 1298 registered with the Python atexit module to print summary information |
| 1299 about any failures encountered while building. |
| 1300 |
| 1301 - Return a NodeList object, not a Python list, when a single_source |
| 1302 Builder like Object() is called with more than one file. |
| 1303 |
| 1304 - When searching for implicit dependency files in the directories |
| 1305 in a $*PATH list, don't create Dir Nodes for directories that |
| 1306 don't actually exist on-disk. |
| 1307 |
| 1308 - Add a Requires() function to allow the specification of order-only |
| 1309 prerequisites, which will be updated before specified "downstream" |
| 1310 targets but which don't actually cause the target to be rebuilt. |
| 1311 |
| 1312 - Restore the FS.{Dir,File,Entry}.rel_path() method. |
| 1313 |
| 1314 - Make the default behavior of {Source,Target}Signatures('timestamp') |
| 1315 be equivalent to 'timestamp-match', not 'timestamp-newer'. |
| 1316 |
| 1317 - Fix use of CacheDir with Decider('timestamp-newer') by updating |
| 1318 the modification time when copying files from the cache. |
| 1319 |
| 1320 - Fix random issues with parallel (-j) builds on Windows when Python |
| 1321 holds open file handles (especially for SCons temporary files, |
| 1322 or targets built by Python function actions) across process creation. |
| 1323 |
| 1324 From Maxim Kartashev: |
| 1325 |
| 1326 - Fix test scripts when run on Solaris. |
| 1327 |
| 1328 From Gary Oberbrunner: |
| 1329 |
| 1330 - Fix Glob() when a pattern is in an explicitly-named subdirectory. |
| 1331 |
| 1332 From Philipp Scholl: |
| 1333 |
| 1334 - Fix setting up targets if multiple Package builders are specified |
| 1335 at once. |
| 1336 |
| 1337 |
| 1338 |
| 1339 RELEASE 0.97.0d20070918 - Tue, 18 Sep 2007 10:51:27 -0500 |
| 1340 |
| 1341 From Steven Knight: |
| 1342 |
| 1343 - Fix the wix Tool module to handle null entries in $PATH variables. |
| 1344 |
| 1345 - Move the documentation of Install() and InstallAs() from the list |
| 1346 of functions to the list of Builders (now that they're implemented |
| 1347 as such). |
| 1348 |
| 1349 - Allow env.CacheDir() to be set per construction environment. The |
| 1350 global CacheDir() function now sets an overridable global default. |
| 1351 |
| 1352 - Add an env.Decider() method and a Node.Decider() method that allow |
| 1353 flexible specification of an arbitrary function to decide if a given |
| 1354 dependency has changed since the last time a target was built. |
| 1355 |
| 1356 - Don't execute Configure actions (while reading SConscript files) |
| 1357 when cleaning (-c) or getting help (-h or -H). |
| 1358 |
| 1359 - Add to each target an implicit dependency on the external command(s) |
| 1360 used to build the target, as found by searching env['ENV']['PATH'] |
| 1361 for the first argument on each executed command line. |
| 1362 |
| 1363 - Add support for a $IMPLICIT_COMMAND_DEPENDENCIES construction |
| 1364 variabe that can be used to disable the automatic implicit |
| 1365 dependency on executed commands. |
| 1366 |
| 1367 - Add an "ensure_suffix" keyword to Builder() definitions that, when |
| 1368 true, will add the configured suffix to the targets even if it looks |
| 1369 like they already have a different suffix. |
| 1370 |
| 1371 - Add a Progress() function that allows for calling a function or string |
| 1372 (or list of strings) to display progress while walking the DAG. |
| 1373 |
| 1374 - Allow ParseConfig(), MergeFlags() and ParseFlags() to handle output |
| 1375 from a *config command with quoted path names that contain spaces. |
| 1376 |
| 1377 - Make the Return() function stop processing the SConscript file and |
| 1378 return immediately. Add a "stop=" keyword argument that can be set |
| 1379 to False to preserve the old behavior. |
| 1380 |
| 1381 - Fix use of exitstatfunc on an Action. |
| 1382 |
| 1383 - Introduce all man page function examples with "Example:" or "Examples:". |
| 1384 |
| 1385 - When a file gets added to a directory, make sure the directory gets |
| 1386 re-scanned for the new implicit dependency. |
| 1387 |
| 1388 - Fix handling a file that's specified multiple times in a target |
| 1389 list so that it doesn't cause dependent Nodes to "disappear" from |
| 1390 the dependency graph walk. |
| 1391 |
| 1392 From Carsten Koch: |
| 1393 |
| 1394 - Avoid race conditions with same-named files and directory creation |
| 1395 when pushing copies of files to CacheDir(). |
| 1396 |
| 1397 From Tzvetan Mikov: |
| 1398 |
| 1399 - Handle $ in Java class names. |
| 1400 |
| 1401 From Gary Oberbrunner: |
| 1402 |
| 1403 - Add support for the Intel C compiler on Windows64. |
| 1404 |
| 1405 - On SGI IRIX, have $SHCXX use $CXX by default (like other platforms). |
| 1406 |
| 1407 From Sohail Somani: |
| 1408 |
| 1409 - When Cloning a construction environment, set any variables before |
| 1410 applying tools (so the tool module can access the configured settings) |
| 1411 and re-set them after (so they end up matching what the user set). |
| 1412 |
| 1413 From Matthias Troffaes: |
| 1414 |
| 1415 - Make sure extra auxiliary files generated by some LaTeX packages |
| 1416 and not ending in .aux also get deleted by scons -c. |
| 1417 |
| 1418 From Greg Ward: |
| 1419 |
| 1420 - Add a $JAVABOOTCLASSPATH variable for directories to be passed to the |
| 1421 javac -bootclasspath option. |
| 1422 |
| 1423 From Christoph Wiedemann: |
| 1424 |
| 1425 - Add implicit dependencies on the commands used to build a target. |
| 1426 |
| 1427 |
| 1428 |
| 1429 |
| 1430 RELEASE 0.97.0d20070809 - Fri, 10 Aug 2007 10:51:27 -0500 |
| 1431 |
| 1432 From Lars Albertsson: |
| 1433 |
| 1434 - Don't error if a #include line happens to match a directory |
| 1435 somewhere on a path (like $CPPPATH, $FORTRANPATH, etc.). |
| 1436 |
| 1437 From Mark Bertoglio: |
| 1438 |
| 1439 - Fix listing multiple projects in Visual Studio 7.[01] solution files, |
| 1440 including generating individual project GUIDs instead of re-using |
| 1441 the solution GUID. |
| 1442 |
| 1443 From Jean Brouwers: |
| 1444 |
| 1445 - Add /opt/SUNWspro/bin to the default execution PATH on Solaris. |
| 1446 |
| 1447 From Allan Erskine: |
| 1448 |
| 1449 - Only expect the Microsoft IDL compiler to emit *_p.c and *_data.c |
| 1450 files if the /proxy and /dlldata switches are used (respectively). |
| 1451 |
| 1452 From Steven Knight: |
| 1453 |
| 1454 - Have --debug=explain report if a target is being rebuilt because |
| 1455 AlwaysBuild() is specified (instead of "unknown reasons"). |
| 1456 |
| 1457 - Support {Get,Set}Option('help') to make it easier for SConscript |
| 1458 files to tell if a help option (-h, --help, etc.) has been specified. |
| 1459 |
| 1460 - Support {Get,Set}Option('random') so random-dependency interaction |
| 1461 with CacheDir() is controllable from SConscript files. |
| 1462 |
| 1463 - Add a new AddOption() function to support user-defined command- |
| 1464 line flags (like --prefix=, --force, etc.). |
| 1465 |
| 1466 - Push and retrieve built symlinks to/from a CacheDir() as actual |
| 1467 symlinks, not by copying the file contents. |
| 1468 |
| 1469 - Fix how the Action module handles stringifying the shared library |
| 1470 generator in the Tool/mingw.py module. |
| 1471 |
| 1472 - When generating a config.h file, print "#define HAVE_{FEATURE} 1" |
| 1473 instad of just "#define HAVE_{FEATURE}", for more compatibility |
| 1474 with Autoconf-style projects. |
| 1475 |
| 1476 - Fix expansion of $TARGET, $TARGETS, $SOURCE and $SOURCES keywords in |
| 1477 Visual C/C++ PDB file names. |
| 1478 |
| 1479 - Fix locating Visual C/C++ PDB files in build directories. |
| 1480 |
| 1481 - Support an env.AddMethod() method and an AddMethod() global function |
| 1482 for adding a new method, respectively, to a construction environment |
| 1483 or an arbitrary object (such as a class). |
| 1484 |
| 1485 - Fix the --debug=time option when the -j option is specified and all |
| 1486 files are up to date. |
| 1487 |
| 1488 - Add a $SWIGOUTDIR variable to allow setting the swig -outdir option, |
| 1489 and use it to identify files created by the swig -java option. |
| 1490 |
| 1491 - Add a $SWIGPATH variable that specifies the path to be searched |
| 1492 for included SWIG files, Also add related $SWIGINCPREFIX and |
| 1493 $SWIGINCSUFFIX variables that specify the prefix and suffix to |
| 1494 be be added to each $SWIGPATH directory when expanded on the SWIG |
| 1495 command line. |
| 1496 |
| 1497 - More efficient copying of construction environments (mostly borrowed |
| 1498 from copy.deepcopy() in the standard Python library). |
| 1499 |
| 1500 - When printing --tree=prune output, don't print [brackets] around |
| 1501 source files, only do so for built targets with children. |
| 1502 |
| 1503 - Fix interpretation of Builder source arguments when the Builder has |
| 1504 a src_suffix *and* a source_builder and the argument has no suffix. |
| 1505 |
| 1506 - Fix use of expansions like ${TARGET.dir} or ${SOURCE.dir} in the |
| 1507 following construction variables: $FORTRANMODDIR, $JARCHDIR, |
| 1508 $JARFLAGS, $LEXFLAGS, $SWIGFLAGS, $SWIGOUTDIR and $YACCFLAGS. |
| 1509 |
| 1510 - Fix dependencies on Java files generated by SWIG so they can be |
| 1511 detected and built in one pass. |
| 1512 |
| 1513 - Fix SWIG when used with a BuildDir(). |
| 1514 |
| 1515 From Leanid Nazdrynau: |
| 1516 |
| 1517 - When applying Tool modules after a construction environment has |
| 1518 already been created, don't overwrite existing $CFILESUFFIX and |
| 1519 $CXXFILESUFFIX value. |
| 1520 |
| 1521 - Support passing the Java() builder a list of explicit .java files |
| 1522 (not only a list of directories to be scanned for .java files). |
| 1523 |
| 1524 - Support passing .java files to the Jar() and JavaH() builders, which |
| 1525 then use the builder underlying the Java() builder to turn them into |
| 1526 .class files. (That is, the Jar()-Java() chain of builders become |
| 1527 multi-step, like the Program()-Object()-CFile() builders.) |
| 1528 |
| 1529 - Support passing SWIG .i files to the Java builders (Java(), |
| 1530 Jar(), JavaH()), to cause intermediate .java files to be created |
| 1531 automatically. |
| 1532 |
| 1533 - Add $JAVACLASSPATH and $JAVASOURCEPATH variables, that get added to |
| 1534 the javac "-classpath" and "-sourcepath" options. (Note that SCons |
| 1535 does *not* currently search these paths for implicit dependencies.) |
| 1536 |
| 1537 - Commonize initialization of Java-related builders. |
| 1538 |
| 1539 From Jan Nijtmans: |
| 1540 |
| 1541 - Find Java anonymous classes when the next token after the name is |
| 1542 an open parenthesis. |
| 1543 |
| 1544 From Gary Oberbrunner: |
| 1545 |
| 1546 - Fix a code example in the man page. |
| 1547 |
| 1548 From Tilo Prutz: |
| 1549 |
| 1550 - Add support for the file names that Java 1.5 (and 1.6) generates for |
| 1551 nested anonymous inner classes, which are different from Java 1.4. |
| 1552 |
| 1553 From Adam Simpkins: |
| 1554 |
| 1555 - Allow worker threads to terminate gracefully when all jobs are |
| 1556 finished. |
| 1557 |
| 1558 From Sohail Somani: |
| 1559 |
| 1560 - Add LaTeX scanner support for finding dependencies specified with |
| 1561 the \usepackage{} directive. |
| 1562 |
| 1563 |
| 1564 |
| 1565 RELEASE 0.97 - Thu, 17 May 2007 08:59:41 -0500 |
| 1566 |
| 1567 From Steven Knight: |
| 1568 |
| 1569 - Fix a bug that would make parallel builds stop in their tracks if |
| 1570 Nodes that depended on lists that contained some Nodes built together |
| 1571 caused the reference count to drop below 0 if the Nodes were visited |
| 1572 and commands finished in the wrong order. |
| 1573 |
| 1574 - Make sure the DirEntryScanner doesn't choke if it's handed something |
| 1575 that's not a directory (Node.FS.Dir) Node. |
| 1576 |
| 1577 |
| 1578 |
| 1579 RELEASE 0.96.96 - Thu, 12 Apr 2007 12:36:25 -0500 |
| 1580 |
| 1581 NOTE: This is (Yet) a(nother) pre-release of 0.97 for testing purposes. |
| 1582 |
| 1583 From Joe Bloggs: |
| 1584 |
| 1585 - Man page fix: remove cut-and-paste sentence in NoCache() description. |
| 1586 |
| 1587 From Dmitry Grigorenko and Gary Oberbrunner: |
| 1588 |
| 1589 - Use the Intel C++ compiler, not $CC, to link C++ source. |
| 1590 |
| 1591 From Helmut Grohne: |
| 1592 |
| 1593 - Fix the man page example of propagating a user's external environment. |
| 1594 |
| 1595 From Steven Knight: |
| 1596 |
| 1597 - Back out (most of) the Windows registry installer patch, which |
| 1598 seems to not work on some versions of Windows. |
| 1599 |
| 1600 - Don't treat Java ".class" attributes as defining an inner class. |
| 1601 |
| 1602 - Fix detecting an erroneous Java anonymous class when the first |
| 1603 non-skipped token after a "new" keyword is a closing brace. |
| 1604 |
| 1605 - Fix a regression when a CPPDEFINES list contains a tuple, the second |
| 1606 item of which (the option value) is a construction variable expansion |
| 1607 (e.g. $VALUE) and the value of the variable isn't a string. |
| 1608 |
| 1609 - Improve the error message if an IOError (like trying to read a |
| 1610 directory as a file) occurs while deciding if a node is up-to-date. |
| 1611 |
| 1612 - Fix "maximum recursion" / "unhashable type" errors in $CPPPATH |
| 1613 PathList expansion if a subsidiary expansion yields a stringable, |
| 1614 non-Node object. |
| 1615 |
| 1616 - Generate API documentation from the docstrings (using epydoc). |
| 1617 |
| 1618 - Fix use of --debug=presub with Actions for out-of-the-box Builders. |
| 1619 |
| 1620 - Fix handling nested lists within $CPPPATH, $LIBPATH, etc. |
| 1621 |
| 1622 - Fix a "builders_used" AttributeError that real-world Qt initialization |
| 1623 triggered in the refactored suffix handling for Builders. |
| 1624 |
| 1625 - Make the reported --debug=time timings meaningful when used with -j. |
| 1626 Better documentation of what the times mean. |
| 1627 |
| 1628 - User Guide updates: --random, AlwaysBuild(), --tree=, |
| 1629 --debug=findlibs, --debug=presub, --debug=stacktrace, |
| 1630 --taskmastertrace. |
| 1631 |
| 1632 - Document (in both man page and User's Guide) that --implicit-cache |
| 1633 ignores changes in $CPPPATH, $LIBPATH, etc. |
| 1634 |
| 1635 From Jean-Baptiste Lab: |
| 1636 |
| 1637 - Remove hard-coded dependency on Python 2.2 from Debian packaging files. |
| 1638 |
| 1639 From Jeff Mahovsky: |
| 1640 |
| 1641 - Handle spaces in the build target name in Visual Studio project files. |
| 1642 |
| 1643 From Rob Managan: |
| 1644 |
| 1645 - Re-run LaTeX after BibTeX has been re-run in response to a changed |
| 1646 .bib file. |
| 1647 |
| 1648 From Joel B. Mohler: |
| 1649 |
| 1650 - Make additional TeX auxiliary files (.toc, .idx and .bbl files) |
| 1651 Precious so their removal doesn't affect whether the necessary |
| 1652 sections are included in output PDF or PostScript files. |
| 1653 |
| 1654 From Gary Oberbrunner: |
| 1655 |
| 1656 - Fix the ability to import modules in the site_scons directory from |
| 1657 a subdirectory. |
| 1658 |
| 1659 From Adam Simpkins: |
| 1660 |
| 1661 - Make sure parallel (-j) builds all targets even if they show up |
| 1662 multiple times in the child list (as a source and a dependency). |
| 1663 |
| 1664 From Matthias Troffaes: |
| 1665 |
| 1666 - Don't re-run TeX if the triggering strings (\makeindex, \bibliography |
| 1667 \tableofcontents) are commented out. |
| 1668 |
| 1669 From Richard Viney: |
| 1670 |
| 1671 - Fix use of custom include and lib paths with Visual Studio 8. |
| 1672 |
| 1673 - Select the default .NET Framework SDK Dir based on the version of |
| 1674 Visual Studio being used. |
| 1675 |
| 1676 |
| 1677 |
| 1678 RELEASE 0.96.95 - Mon, 12 Feb 2007 20:25:16 -0600 |
| 1679 |
| 1680 From Anatoly: |
| 1681 |
| 1682 - Add the scons.org URL and a package description to the setup.py |
| 1683 arguments. |
| 1684 |
| 1685 - Have the Windows installer add a registry entry for scons.bat in the |
| 1686 "App Paths" key, so scons.bat can be executed without adding the |
| 1687 directory to the %PATH%. (Python itself works this way.) |
| 1688 |
| 1689 From Anonymous: |
| 1690 |
| 1691 - Fix looking for default paths in Visual Studio 8.0 (and later). |
| 1692 |
| 1693 - Add -lm to the list of default D libraries for linking. |
| 1694 |
| 1695 From Matt Doar: |
| 1696 |
| 1697 - Provide a more complete write-your-own-Scanner example in the man page. |
| 1698 |
| 1699 From Ralf W. Grosse-Kunstleve: |
| 1700 |
| 1701 - Contributed upstream Python change to our copied subprocess.py module |
| 1702 for more efficient standard input processing. |
| 1703 |
| 1704 From Steven Knight: |
| 1705 |
| 1706 - Fix the Node.FS.Base.rel_path() method when the two nodes are on |
| 1707 different drive letters. (This caused an infinite loop when |
| 1708 trying to write .sconsign files.) |
| 1709 |
| 1710 - Fully support Scanners that use a dictionary to map file suffixes |
| 1711 to other scanners. |
| 1712 |
| 1713 - Support delayed evaluation of the $SPAWN variable to allow selection |
| 1714 of a function via ${} string expansions. |
| 1715 |
| 1716 - Add --srcdir as a synonym for -Y/--repository. |
| 1717 |
| 1718 - Document limitations of #include "file.h" with Repository(). |
| 1719 |
| 1720 - Fix use of a toolpath under the source directory of a BuildDir(). |
| 1721 |
| 1722 - Fix env.Install() with a file name portion that begins with '#'. |
| 1723 |
| 1724 - Fix ParseConfig()'s handling of multiple options in a string that's |
| 1725 replaced a *FLAGS construction variable. |
| 1726 |
| 1727 - Have the C++ tools initialize common C compilation variables ($CCFLAGS, |
| 1728 $SHCCFLAGS and $_CCCOMCOM) even if the 'cc' Tool isn't loaded. |
| 1729 |
| 1730 From Leanid Nazdrynau: |
| 1731 |
| 1732 - Fix detection of Java anonymous classes if a newline precedes the |
| 1733 opening brace. |
| 1734 |
| 1735 From Gary Oberbrunner: |
| 1736 |
| 1737 - Document use of ${} to execute arbitrary Python code. |
| 1738 |
| 1739 - Add support for: |
| 1740 1) automatically adding a site_scons subdirectory (in the top-level |
| 1741 SConstruct directory) to sys.path (PYTHONPATH); |
| 1742 2) automatically importing site_scons/site_init.py; |
| 1743 3) automatically adding site_scons/site_tools to the toolpath. |
| 1744 |
| 1745 From John Pye: |
| 1746 |
| 1747 - Change ParseConfig() to preserve white space in arguments passed in |
| 1748 as a list. |
| 1749 |
| 1750 From a smith: |
| 1751 |
| 1752 - Fix adding explicitly-named Java inner class files (and any |
| 1753 other file names that may contain a '$') to Jar files. |
| 1754 |
| 1755 From David Vitek: |
| 1756 |
| 1757 - Add a NoCache() function to mark targets as unsuitable for propagating |
| 1758 to (or retrieving from) a CacheDir(). |
| 1759 |
| 1760 From Ben Webb: |
| 1761 |
| 1762 - If the swig -noproxy option is used, it won't generate a .py file, |
| 1763 so don't emit it as a target that we expect to be built. |
| 1764 |
| 1765 |
| 1766 |
| 1767 RELEASE 0.96.94 - Sun, 07 Jan 2007 18:36:20 -0600 |
| 1768 |
| 1769 NOTE: This is a pre-release of 0.97 for testing purposes. |
| 1770 |
| 1771 From Anonymous: |
| 1772 |
| 1773 - Allow arbitrary white space after a SWIG %module declaration. |
| 1774 |
| 1775 From Paul: |
| 1776 |
| 1777 - When compiling resources under MinGW, make sure there's a space |
| 1778 between the --include-dir option and its argument. |
| 1779 |
| 1780 From Jay Kint: |
| 1781 |
| 1782 - Alleviate long command line issues on Windows by executing command |
| 1783 lines directly via os.spawnv() if the command line doesn't need |
| 1784 shell interpretation (has no pipes, redirection, etc.). |
| 1785 |
| 1786 From Walter Franzini: |
| 1787 |
| 1788 - Exclude additional Debian packaging files from the copyright check. |
| 1789 |
| 1790 From Fawad Halim: |
| 1791 |
| 1792 - Handle the conflict between the impending Python 2.6 'as' keyword |
| 1793 and our Tool/as.py module name. |
| 1794 |
| 1795 From Steven Knight: |
| 1796 |
| 1797 - Speed up the Node.FS.Dir.rel_path() method used to generate path names |
| 1798 that get put into the .sconsign* file(s). |
| 1799 |
| 1800 - Optimize Node.FS.Base.get_suffix() by computing the suffix once, up |
| 1801 front, when we set the Node's name. (Duh...) |
| 1802 |
| 1803 - Reduce the Memoizer's responsibilities to simply counting hits and |
| 1804 misses when the --debug=memoizer option is used, not to actually |
| 1805 handling the key calculation and memoization itself. This speeds |
| 1806 up some configurations significantly, and should cause no functional |
| 1807 differences. |
| 1808 |
| 1809 - Add a new scons-time script with subcommands for generating |
| 1810 consistent timing output from SCons configurations, extracting |
| 1811 various information from those timings, and displaying them in |
| 1812 different formats. |
| 1813 |
| 1814 - Reduce some unnecessary stat() calls from on-disk entry type checks. |
| 1815 |
| 1816 - Fix SideEffect() when used with -j, which was badly broken in 0.96.93. |
| 1817 |
| 1818 - Propagate TypeError exceptions when evaluating construction variable |
| 1819 expansions up the stack, so users can see what's going on. |
| 1820 |
| 1821 - When disambiguating a Node.FS.Entry into a Dir or File, don't look |
| 1822 in the on-disk source directory until we've confirmed there's no |
| 1823 on-disk entry locally and there *is* one in the srcdir. This avoids |
| 1824 creating a phantom Node that can interfere with dependencies on |
| 1825 directory contents. |
| 1826 |
| 1827 - Add an AllowSubstExceptions() function that gives the SConscript |
| 1828 files control over what exceptions cause a string to expand to '' |
| 1829 vs. terminating processing with an error. |
| 1830 |
| 1831 - Allow the f90.py and f95.py Tool modules to compile earlier source |
| 1832 source files of earlier Fortran version. |
| 1833 |
| 1834 - Fix storing signatures of files retrieved from CacheDir() so they're |
| 1835 correctly identified as up-to-date next invocation. |
| 1836 |
| 1837 - Make sure lists of computed source suffixes cached by Builder objects |
| 1838 don't persist across changes to the list of source Builders (so the |
| 1839 addition of suffixes like .ui by the qt.py Tool module take effect). |
| 1840 |
| 1841 - Enhance the bootstrap.py script to allow it to be used to execute |
| 1842 SCons more easily from a checked-out source tree. |
| 1843 |
| 1844 From Ben Leslie: |
| 1845 |
| 1846 - Fix post-Memoizer value caching misspellings in Node.FS._doLookup(). |
| 1847 |
| 1848 From Rob Managan, Dmitry Mikhin and Joel B. Mohler: |
| 1849 |
| 1850 - Handle TeX/LaTeX files in subdirectories by changing directory |
| 1851 before invoking TeX/LaTeX. |
| 1852 |
| 1853 - Scan LaTeX files for \bibliography lines. |
| 1854 |
| 1855 - Support multiple file names in a "\bibliography{file1,file2}" string. |
| 1856 |
| 1857 - Handle TeX warnings about undefined citations. |
| 1858 |
| 1859 - Support re-running LaTeX if necessary due to a Table of Contents. |
| 1860 |
| 1861 From Dmitry Mikhin: |
| 1862 |
| 1863 - Return LaTeX if "Rerun to get citations correct" shows up on the next |
| 1864 line after the "Warning:" string. |
| 1865 |
| 1866 From Gary Oberbrunner: |
| 1867 |
| 1868 - Add #include lines to fix portability issues in two tests. |
| 1869 |
| 1870 - Eliminate some unnecessary os.path.normpath() calls. |
| 1871 |
| 1872 - Add a $CFLAGS variable for C-specific options, leaving $CCFLAGS |
| 1873 for options common to C and C++. |
| 1874 |
| 1875 From Tom Parker: |
| 1876 |
| 1877 - Have the error message print the missing file that Qt can't find. |
| 1878 |
| 1879 From John Pye: |
| 1880 |
| 1881 - Fix env.MergeFlags() appending to construction variable value of None. |
| 1882 |
| 1883 From Steve Robbins: |
| 1884 |
| 1885 - Fix the "sconsign" script when the .sconsign.dblite file is explicitly |
| 1886 specified on the command line (and not intuited from the old way of |
| 1887 calling it with just ".sconsign"). |
| 1888 |
| 1889 From Jose Pablo Ezequiel "Pupeno" Fernandez Silva: |
| 1890 |
| 1891 - Give the 'lex' tool knowledge of the additional target files produced |
| 1892 by the flex "--header-file=" and "--tables-file=" options. |
| 1893 |
| 1894 - Give the 'yacc' tool knowledge of the additional target files produced |
| 1895 by the bison "-g", "--defines=" and "--graph=" options. |
| 1896 |
| 1897 - Generate intermediate files with Objective C file suffixes (.m) when |
| 1898 the lex and yacc source files have appropriate suffixes (.lm and .ym). |
| 1899 |
| 1900 From Sohail Somain: |
| 1901 |
| 1902 - Have the mslink.py Tool only look for a 'link' executable on Windows |
| 1903 systems. |
| 1904 |
| 1905 From Vaclav Smilauer: |
| 1906 |
| 1907 - Add support for a "srcdir" keyword argument when calling a Builder, |
| 1908 which will add a srcdir prefix to all non-relative string sources. |
| 1909 |
| 1910 From Jonathan Ultis: |
| 1911 |
| 1912 - Allow Options converters to take the construction environment as |
| 1913 an optional argument. |
| 1914 |
| 1915 |
| 1916 |
| 1917 RELEASE 0.96.93 - Mon, 06 Nov 2006 00:44:11 -0600 |
| 1918 |
| 1919 NOTE: This is a pre-release of 0.97 for testing purposes. |
| 1920 |
| 1921 From Anonymous: |
| 1922 |
| 1923 - Allow Python Value Nodes to be Builder targets. |
| 1924 |
| 1925 From Matthias: |
| 1926 |
| 1927 - Only filter Visual Studio common filename prefixes on complete |
| 1928 directory names. |
| 1929 |
| 1930 From Chad Austin: |
| 1931 |
| 1932 - Fix the build of the SCons documentation on systems that don't |
| 1933 have "python" in the $PATH. |
| 1934 |
| 1935 From Ken Boortz: |
| 1936 |
| 1937 - Enhance ParseConfig() to recognize options that begin with '+'. |
| 1938 |
| 1939 From John Calcote, Elliot Murphy: |
| 1940 |
| 1941 - Document ways to override the CCPDBFLAGS variable to use the |
| 1942 Microsoft linker's /Zi option instead of the default /Z7. |
| 1943 |
| 1944 From Christopher Drexler: |
| 1945 |
| 1946 - Make SCons aware bibtex must be called if any \include files |
| 1947 cause creation of a bibliography. |
| 1948 |
| 1949 - Make SCons aware that "\bilbiography" in TeX source files means |
| 1950 that related .bbl and .blg bibliography files will be created. |
| 1951 (NOTE: This still needs to search for the string in \include files.) |
| 1952 |
| 1953 From David Gruener: |
| 1954 |
| 1955 - Fix inconsistent handling of Action strfunction arguments. |
| 1956 |
| 1957 - Preserve white space in display Action strfunction strings. |
| 1958 |
| 1959 From James Y. Knight and Gerard Patel: |
| 1960 |
| 1961 - Support creation of shared object files from assembly language. |
| 1962 |
| 1963 From Steven Knight: |
| 1964 |
| 1965 - Speed up the Taskmaster significantly by avoiding unnecessary |
| 1966 re-scans of Nodes to find out if there's work to be done, having it |
| 1967 track the currently-executed top-level target directly and not |
| 1968 through its presence on the target list, and eliminating some other |
| 1969 minor list(s), method(s) and manipulation. |
| 1970 |
| 1971 - Fix the expansion of $TARGET and $SOURCE in the expansion of |
| 1972 $INSTALLSTR displayed for non-environment calls to InstallAs(). |
| 1973 |
| 1974 - Fix the ability to have an Alias() call refer to a directory |
| 1975 name that's not identified as a directory until later. |
| 1976 |
| 1977 - Enhance runtest.py with an option to use QMTest as the harness. |
| 1978 This will become the default behavior as we add more functionality |
| 1979 to the QMTest side. |
| 1980 |
| 1981 - Let linking on mingw use the default function that chooses $CC (gcc) |
| 1982 or $CXX (g++) depending on whether there are any C++ source files. |
| 1983 |
| 1984 - Work around a bug in early versions of the Python 2.4 profile module |
| 1985 that caused the --profile= option to fail. |
| 1986 |
| 1987 - Only call Options validators and converters once when initializing a |
| 1988 construction environment. |
| 1989 |
| 1990 - Fix the ability of env.Append() and env.Prepend(), in all known Python |
| 1991 versions, to handle different input value types when the construction |
| 1992 variable being updated is a dictionary. |
| 1993 |
| 1994 - Add a --cache-debug option for information about what files it's |
| 1995 looking for in a CacheDir(). |
| 1996 |
| 1997 - Document the difference in construction variable expansion between |
| 1998 {Action,Builder}() and env.{Action,Builder}(). |
| 1999 |
| 2000 - Change the name of env.Copy() to env.Clone(), keeping the old name |
| 2001 around for backwards compatibility (with the intention of eventually |
| 2002 phasing it out to avoid confusion with the Copy() Action factory). |
| 2003 |
| 2004 From Arve Knudsen: |
| 2005 |
| 2006 - Support cleaning and scanning SWIG-generated files. |
| 2007 |
| 2008 From Carsten Koch: |
| 2009 |
| 2010 - Allow selection of Visual Studio version by setting $MSVS_VERSION |
| 2011 after construction environment initialization. |
| 2012 |
| 2013 From Jean-Baptiste Lab: |
| 2014 |
| 2015 - Try using zipimport if we can't import Tool or Platform modules |
| 2016 using the normal "imp" module. This allows SCons to be packaged |
| 2017 using py2exe's all-in-one-zip-file approach. |
| 2018 |
| 2019 From Ben Liblit: |
| 2020 |
| 2021 - Do not re-scan files if the scanner returns no implicit dependencies. |
| 2022 |
| 2023 From Sanjoy Mahajan: |
| 2024 |
| 2025 - Change use of $SOURCES to $SOURCE in all TeX-related Tool modules. |
| 2026 |
| 2027 From Joel B. Mohler: |
| 2028 |
| 2029 - Make SCons aware that "\makeindex" in TeX source files means that |
| 2030 related .ilg, .ind and .idx index files will be created. |
| 2031 (NOTE: This still needs to search for the string in \include files.) |
| 2032 |
| 2033 - Prevent scanning the TeX .aux file for additional files from |
| 2034 trying to remove it twice when the -c option is used. |
| 2035 |
| 2036 From Leanid Nazdrynau: |
| 2037 |
| 2038 - Give the MSVC RES (resource) Builder a src_builder list and a .rc |
| 2039 src_suffix so other builders can generate .rc files. |
| 2040 |
| 2041 From Matthew A. Nicholson: |
| 2042 |
| 2043 - Enhance Install() and InstallAs() to handle directory trees as sources. |
| 2044 |
| 2045 From Jan Nijtmans: |
| 2046 |
| 2047 - Don't use the -fPIC flag when using gcc on Windows (e.g. MinGW). |
| 2048 |
| 2049 From Greg Noel: |
| 2050 |
| 2051 - Add an env.ParseFlags() method that provides separate logic for |
| 2052 parsing GNU tool chain flags into a dictionary. |
| 2053 |
| 2054 - Add an env.MergeFlags() method to apply an arbitrary dictionary |
| 2055 of flags to a construction environment's variables. |
| 2056 |
| 2057 From Gary Oberbrunner: |
| 2058 |
| 2059 - Fix parsing tripartite Intel C compiler version numbers on Linux. |
| 2060 |
| 2061 - Extend the ParseConfig() function to recognize -arch and |
| 2062 -isysroot options. |
| 2063 |
| 2064 - Have the error message list the known suffixes when a Builder call |
| 2065 can't build a source file with an unknown suffix. |
| 2066 |
| 2067 From Karol Pietrzak: |
| 2068 |
| 2069 - Avoid recursive calls to main() in the program snippet used by the |
| 2070 SConf subsystem to test linking against libraries. This changes the |
| 2071 default behavior of CheckLib() and CheckLibWithHeader() to print |
| 2072 "Checking for C library foo..." instead of "Checking for main() |
| 2073 in C library foo...". |
| 2074 |
| 2075 From John Pye: |
| 2076 |
| 2077 - Throw an exception if a command called by ParseConfig() or |
| 2078 ParseFlags() returns an error. |
| 2079 |
| 2080 From Stefan Seefeld: |
| 2081 |
| 2082 - Initial infrastructure for running SCons tests under QMTest. |
| 2083 |
| 2084 From Sohail Somani: |
| 2085 |
| 2086 - Fix tests that fail due to gcc warnings. |
| 2087 |
| 2088 From Dobes Vandermeer: |
| 2089 |
| 2090 - In stack traces, print the full paths of SConscript files. |
| 2091 |
| 2092 From Atul Varma: |
| 2093 |
| 2094 - Fix detection of Visual C++ Express Edition. |
| 2095 |
| 2096 From Dobes Vandermeer: |
| 2097 |
| 2098 - Let the src_dir option to the SConscript() function affect all the |
| 2099 the source file paths, instead of treating all source files paths |
| 2100 as relative to the SConscript directory itself. |
| 2101 |
| 2102 From Nicolas Vigier: |
| 2103 |
| 2104 - Fix finding Fortran modules in build directories. |
| 2105 |
| 2106 - Fix use of BuildDir() when the source file in the source directory |
| 2107 is a symlink with a relative path. |
| 2108 |
| 2109 From Edward Wang: |
| 2110 |
| 2111 - Fix the Memoizer when the SCons Python modules are executed from |
| 2112 .pyo files at different locations from where they were compiled. |
| 2113 |
| 2114 From Johan Zander: |
| 2115 |
| 2116 - Fix missing os.path.join() when constructing the $FRAMEWORKSDKDIR/bin. |
| 2117 |
| 2118 |
| 2119 |
| 2120 RELEASE 0.96.92 - Mon, 10 Apr 2006 21:08:22 -0400 |
| 2121 |
| 2122 NOTE: This was a pre-release of 0.97 for testing purposes. |
| 2123 |
| 2124 From Anonymous: |
| 2125 |
| 2126 - Fix the intelc.py Tool module to not throw an exception if the |
| 2127 only installed version is something other than ia32. |
| 2128 |
| 2129 - Set $CCVERSION when using gcc. |
| 2130 |
| 2131 From Matthias: |
| 2132 |
| 2133 - Support generating project and solution files for Microsoft |
| 2134 Visual Studio version 8. |
| 2135 |
| 2136 - Support generating more than one project file for a Microsoft |
| 2137 Visual Studio solution file. |
| 2138 |
| 2139 - Add support for a support "runfile" parameter to Microsoft |
| 2140 Visual Studio project file creation. |
| 2141 |
| 2142 - Put the project GUID, not the solution GUID, in the right spot |
| 2143 in the solution file. |
| 2144 |
| 2145 From Erling Andersen: |
| 2146 |
| 2147 - Fix interpretation of Node.FS objects wrapped in Proxy instances, |
| 2148 allowing expansion of things like ${File(TARGET)} in command lines. |
| 2149 |
| 2150 From Stanislav Baranov: |
| 2151 |
| 2152 - Add a separate MSVSSolution() Builder, with support for the |
| 2153 following new construction variables: $MSVSBUILDCOM, $MSVSCLEANCOM, |
| 2154 $MSVSENCODING, $MSVSREBUILDCOM, $MSVSSCONS, $MSVSSCONSCOM, |
| 2155 $MSVSSCONSFLAGS, $MSVSSCONSCRIPT and $MSVSSOLUTIONCOM. |
| 2156 |
| 2157 From Ralph W. Grosse-Kunstleve and Patrick Mezard: |
| 2158 |
| 2159 - Remove unneceesary (and incorrect) SCons.Util strings on some function |
| 2160 calls in SCons.Util. |
| 2161 |
| 2162 From Bob Halley: |
| 2163 |
| 2164 - Fix C/C++ compiler selection on AIX to not always use the external $CC |
| 2165 environment variable. |
| 2166 |
| 2167 From August Hörandl: |
| 2168 |
| 2169 - Add a scanner for \include and \import files, with support for |
| 2170 searching a directory list in $TEXINPUTS (imported from the external |
| 2171 environment). |
| 2172 |
| 2173 - Support $MAKEINDEX, $MAKEINDEXCOM, $MAKEINDEXCOMSTR and |
| 2174 $MAKEINDEXFLAGS for generating indices from .idx files. |
| 2175 |
| 2176 From Steven Johnson: |
| 2177 |
| 2178 - Add a NoClean() Environment method and function to override removal |
| 2179 of targets during a -c clean, including documentation and tests. |
| 2180 |
| 2181 From Steven Knight: |
| 2182 |
| 2183 - Check for whether files exist on disk by listing the directory |
| 2184 contents, not calling os.path.exists() file by file. This is |
| 2185 somewhat more efficient in general, and may be significantly |
| 2186 more efficient on Windows. |
| 2187 |
| 2188 - Minor speedups in the internal is_Dict(), is_List() and is_String() |
| 2189 functions. |
| 2190 |
| 2191 - Fix a signature refactoring bug that caused Qt header files to |
| 2192 get re-generated every time. |
| 2193 |
| 2194 - Don't fail when writing signatures if the .sconsign.dblite file is |
| 2195 owned by a different user (e.g. root) from a previous run. |
| 2196 |
| 2197 - When deleting variables from stacked OverrideEnvironments, don't |
| 2198 throw a KeyError if we were able to delte the variable from any |
| 2199 Environment in the stack. |
| 2200 |
| 2201 - Get rid of the last indentation tabs in the SCons source files and |
| 2202 add -tt to the Python invocations in the packaging build and the |
| 2203 tests so they don't creep back in. |
| 2204 |
| 2205 - In Visual Studio project files, put quotes around the -C directory |
| 2206 so everything works even if the path has spaces in it. |
| 2207 |
| 2208 - The Intel Fortran compiler uses -object:$TARGET, not "-o $TARGET", |
| 2209 when building object files on Windows. Have the the ifort Tool |
| 2210 modify the default command lines appropriately. |
| 2211 |
| 2212 - Document the --debug=explain option in the man page. (How did we |
| 2213 miss this?) |
| 2214 |
| 2215 - Add a $LATEXRETRIES variable to allow configuration of the number of |
| 2216 times LaTex can be re-called to try to resolve undefined references. |
| 2217 |
| 2218 - Change the order of the arguments to Configure.Checklib() to match |
| 2219 the documentation. |
| 2220 |
| 2221 - Handle signature calculation properly when the Python function used |
| 2222 for a FunctionAction is an object method. |
| 2223 |
| 2224 - On Windows, assume that absolute path names without a drive letter |
| 2225 refer to the drive on which the SConstruct file lives. |
| 2226 |
| 2227 - Add /usr/ccs/bin to the end of the the default external execution |
| 2228 PATH on Solaris. |
| 2229 |
| 2230 - Add $PKGCHK and $PKGINFO variables for use on Solaris when searching |
| 2231 for the SunPRO C++ compiler. Make the default value for $PKGCHK |
| 2232 be /usr/sbin/pgkchk (since /usr/sbin isn't usually on the external |
| 2233 execution $PATH). |
| 2234 |
| 2235 - Fix a man page example of overriding variables when calling |
| 2236 SharedLibrary() to also set the $LIBSUFFIXES variable. |
| 2237 |
| 2238 - Add a --taskmastertrace=FILE option to give some insight on how |
| 2239 the taskmaster decides what Node to build next. |
| 2240 |
| 2241 - Changed the names of the old $WIN32DEFPREFIX, $WIN32DEFSUFFIX, |
| 2242 $WIN32DLLPREFIX and $WIN32IMPLIBPREFIX construction variables to |
| 2243 new $WINDOWSDEFPREFIX, $WINDOWSDEFSUFFIX, $WINDOWSDLLPREFIX and |
| 2244 $WINDOWSIMPLIBPREFIX construction variables. The old names are now |
| 2245 deprecated, but preserved for backwards compatibility. |
| 2246 |
| 2247 - Fix (?) a runtest.py hang on Windows when the --xml option is used. |
| 2248 |
| 2249 - Change the message when an error occurs trying to interact with the |
| 2250 file system to report the target(s) in square brackets (as before) and |
| 2251 the actual file or directory that encountered the error afterwards. |
| 2252 |
| 2253 From Chen Lee: |
| 2254 |
| 2255 - Add x64 support for Microsoft Visual Studio 8. |
| 2256 |
| 2257 From Baptiste Lepilleur: |
| 2258 |
| 2259 - Support the --debug=memory option on Windows when the Python version |
| 2260 has the win32process and win32api modules. |
| 2261 |
| 2262 - Add support for Visual Studio 2005 Pro. |
| 2263 |
| 2264 - Fix portability issues in various tests: test/Case.py, |
| 2265 Test/Java/{JAR,JARCHDIR,JARFLAGS,JAVAC,JAVACFLAGS,JAVAH,RMIC}.py, |
| 2266 test/MSVS/vs-{6.0,7.0,7.1,8.0}-exec.py, |
| 2267 test/Repository/{Java,JavaH,RMIC}.py, |
| 2268 test/QT/{generated-ui,installed,up-to-date,warnings}.py, |
| 2269 test/ZIP/ZIP.py. |
| 2270 |
| 2271 - Ignore pkgchk errors on Solaris when searching for the C++ compiler. |
| 2272 |
| 2273 - Speed up the SCons/EnvironmentTests.py unit tests. |
| 2274 |
| 2275 - Add a --verbose= option to runtest.py to print executed commands |
| 2276 and their output at various levels. |
| 2277 |
| 2278 From Christian Maaser: |
| 2279 |
| 2280 - Add support for Visual Studio Express Editions. |
| 2281 |
| 2282 - Add support for Visual Studio 8 *.manifest files, includng |
| 2283 new $WINDOWS_INSERT_MANIFEST, $WINDOWSPROGMANIFESTSUFFIX, |
| 2284 $WINDOWSPROGMANIFESTPREFIX, $WINDOWSPROGMANIFESTSUFFIX, |
| 2285 $WINDOWSSHLIBMANIFESTPREFIX and $WINDOWSSHLIBMANIFESTSUFFIX |
| 2286 construction variables. |
| 2287 |
| 2288 From Adam MacBeth: |
| 2289 |
| 2290 - Fix detection of additional Java inner classes following use of a |
| 2291 "new" keyword inside an inner class. |
| 2292 |
| 2293 From Sanjoy Mahajan: |
| 2294 |
| 2295 - Correct TeX-related command lines to just $SOURCE, not $SOURCES |
| 2296 |
| 2297 From Patrick Mezard: |
| 2298 |
| 2299 - Execute build commands for a command-line target if any of the |
| 2300 files built along with the target is out of date or non-existent, |
| 2301 not just if the command-line target itself is out of date. |
| 2302 |
| 2303 - Fix the -n option when used with -c to print all of the targets |
| 2304 that will be removed for a multi-target Builder call. |
| 2305 |
| 2306 - If there's no file in the source directory, make sure there isn't |
| 2307 one in the build directory, too, to avoid dangling files left |
| 2308 over from previous runs when a source file is removed. |
| 2309 |
| 2310 - Allow AppendUnique() and PrependUnique() to append strings (and |
| 2311 other atomic objects) to lists. |
| 2312 |
| 2313 From Joel B. Mohler: |
| 2314 |
| 2315 - Extend latex.py, pdflatex.py, pdftex.py and tex.py so that building |
| 2316 from both TeX and LaTeX files uses the same logic to call $BIBTEX |
| 2317 when it's necessary, to call $MAKEINDEX when it's necessary, and to |
| 2318 call $TEX or $LATEX multiple times to handle undefined references. |
| 2319 |
| 2320 - Add an emitter to the various TeX builders so that the generated |
| 2321 .aux and .log files also get deleted by the -c option. |
| 2322 |
| 2323 From Leanid Nazdrynau: |
| 2324 |
| 2325 - Fix the Qt UIC scanner to work with generated .ui files (by using |
| 2326 the FindFile() function instead of checking by-hand for the file). |
| 2327 |
| 2328 From Jan Nieuwenhuizen: |
| 2329 |
| 2330 - Fix a problem with interpreting quoted argument lists on command lines. |
| 2331 |
| 2332 From Greg Noel: |
| 2333 |
| 2334 - Add /sw/bin to the default execution PATH on Mac OS X. |
| 2335 |
| 2336 From Kian Win Ong: |
| 2337 |
| 2338 - When building a .jar file and there is a $JARCHDIR, put the -C |
| 2339 in front of each .class file on the command line. |
| 2340 |
| 2341 - Recognize the Java 1.5 enum keyword. |
| 2342 |
| 2343 From Asfand Yar Qazi: |
| 2344 |
| 2345 - Add /opt/bin to the default execution PATH on all POSIX platforms |
| 2346 (between /usr/local/bin and /bin). |
| 2347 |
| 2348 From Jon Rafkind: |
| 2349 |
| 2350 - Fix the use of Configure() contexts from nested subsidiary |
| 2351 SConscript files. |
| 2352 |
| 2353 From Christoph Schulz: |
| 2354 |
| 2355 - Add support for $CONFIGUREDIR and $CONFIGURELOG variables to control |
| 2356 the directory and logs for configuration tests. |
| 2357 |
| 2358 - Add support for a $INSTALLSTR variable. |
| 2359 |
| 2360 - Add support for $RANLIBCOM and $RANLIBCOMSTR variables (which fixes |
| 2361 a bug when setting $ARCOMSTR). |
| 2362 |
| 2363 From Amir Szekely: |
| 2364 |
| 2365 - Add use of $CPPDEFINES to $RCCOM (resource file compilation) on MinGW. |
| 2366 |
| 2367 From Erick Tryzelaar: |
| 2368 |
| 2369 - Fix the error message when trying to report that a given option is |
| 2370 not gettable/settable from an SConscript file. |
| 2371 |
| 2372 From Dobes Vandermeer: |
| 2373 |
| 2374 - Add support for SCC and other settings in Microsoft Visual |
| 2375 Studio project and solution files: $MSVS_PROJECT_BASE_PATH, |
| 2376 $MSVS_PROJECT_GUID, $MSVS_SCC_AUX_PATH, $MSVS_SCC_LOCAL_PATH, |
| 2377 $MSVS_SCC_PROJECT_NAME, $MSVS_SCC_PROVIDER, |
| 2378 |
| 2379 - Add support for using a $SCONS_HOME variable (imported from the |
| 2380 external environment, or settable internally) to put a shortened |
| 2381 SCons execution line in the Visual Studio project file. |
| 2382 |
| 2383 From David J. Van Maren: |
| 2384 |
| 2385 - Only filter common prefixes from source files names in Visual Studio |
| 2386 project files if the prefix is a complete (sub)directory name. |
| 2387 |
| 2388 From Thad Ward: |
| 2389 |
| 2390 - If $MSVSVERSIONS is already set, don't overwrite it with |
| 2391 information from the registry. |
| 2392 |
| 2393 |
| 2394 |
| 2395 RELEASE 0.96.91 - Thu, 08 Sep 2005 07:18:23 -0400 |
| 2396 |
| 2397 NOTE: This was a pre-release of 0.97 for testing purposes. |
| 2398 |
| 2399 From Chad Austin: |
| 2400 |
| 2401 - Have the environment store the toolpath and re-use it to find Tools |
| 2402 modules during later Copy() or Tool() calls (unless overridden). |
| 2403 |
| 2404 - Normalize the directory path names in SConsignFile() database |
| 2405 files so the same signature file can interoperate on Windows and |
| 2406 non-Windows systems. |
| 2407 |
| 2408 - Make --debug=stacktrace print a stacktrace when a UserError is thrown. |
| 2409 |
| 2410 - Remove an old, erroneous cut-and-paste comment in Scanner/Dir.py. |
| 2411 |
| 2412 From Stanislav Baranov: |
| 2413 |
| 2414 - Make it possible to support with custom Alias (sub-)classes. |
| 2415 |
| 2416 - Allow Builders to take empty source lists when called. |
| 2417 |
| 2418 - Allow access to both TARGET and SOURCE in $*PATH expansions. |
| 2419 |
| 2420 - Allow SConscript files to modify BUILD_TARGETS. |
| 2421 |
| 2422 From Timothee Besset: |
| 2423 |
| 2424 - Add support for Objective C/C++ .m and .mm file suffixes (for |
| 2425 Mac OS X). |
| 2426 |
| 2427 From Charles Crain |
| 2428 |
| 2429 - Fix the PharLap linkloc.py module to use target+source arguments |
| 2430 when calling env.subst(). |
| 2431 |
| 2432 From Bjorn Eriksson: |
| 2433 |
| 2434 - Fix an incorrect Command() keyword argument in the man page. |
| 2435 |
| 2436 - Add a $TEMPFILEPREFIX variable to control the prefix or flag used |
| 2437 to pass a long-command-line-execution tempfile to a command. |
| 2438 |
| 2439 From Steven Knight: |
| 2440 |
| 2441 - Enhanced the SCons setup.py script to install man pages on |
| 2442 UNIX/Linux systems. |
| 2443 |
| 2444 - Add support for an Options.FormatOptionHelpText() method that can |
| 2445 be overridden to customize the format of Options help text. |
| 2446 |
| 2447 - Add a global name for the Entry class (which had already been |
| 2448 documented). |
| 2449 |
| 2450 - Fix re-scanning of generated source files for implicit dependencies |
| 2451 when the -j option is used. |
| 2452 |
| 2453 - Fix a dependency problem that caused $LIBS scans to not be added |
| 2454 to all of the targets in a multiple-target builder call, which |
| 2455 could cause out-of-order builds when the -j option is used. |
| 2456 |
| 2457 - Store the paths of source files and dependencies in the .sconsign* |
| 2458 file(s) relative to the target's directory, not relative to the |
| 2459 top-level SConstruct directory. This starts to make it possible to |
| 2460 subdivide the dependency tree arbitrarily by putting an SConstruct |
| 2461 file in every directory and using content signatures. |
| 2462 |
| 2463 - Add support for $YACCHFILESUFFIX and $YACCHXXFILESUFFIX variables |
| 2464 that accomodate parser generators that write header files to a |
| 2465 different suffix than the hard-coded .hpp when the -d option is used. |
| 2466 |
| 2467 - The default behavior is now to store signature information in a |
| 2468 single .sconsign.dblite file in the top-level SConstruct directory. |
| 2469 The old behavior of a separate .sconsign file in each directory can |
| 2470 be specified by calling SConsignFile(None). |
| 2471 |
| 2472 - Remove line number byte codes within the signature calculation |
| 2473 of Python function actions, so that changing the location of an |
| 2474 otherwise unmodified Python function doesn't cause rebuilds. |
| 2475 |
| 2476 - Fix AddPreAction() and AddPostAction() when an action has more than |
| 2477 one target file: attach the actions to the Executor, not the Node. |
| 2478 |
| 2479 - Allow the source directory of a BuildDir / build_dir to be outside |
| 2480 of the top-level SConstruct directory tree. |
| 2481 |
| 2482 - Add a --debug=nomemoizer option that disables the Memoizer for clearer |
| 2483 looks at the counts and profiles of the underlying function calls, |
| 2484 not the Memoizer wrappers. |
| 2485 |
| 2486 - Print various --debug= stats even if we exit early (e.g. using -h). |
| 2487 |
| 2488 - Really only use the cached content signature value if the file |
| 2489 is older than --max-drift, not just if --max-drift is set. |
| 2490 |
| 2491 - Remove support for conversion from old (pre 0.96) .sconsign formats. |
| 2492 |
| 2493 - Add support for a --diskcheck option to enable or disable various |
| 2494 on-disk checks: that File and Dir nodes match on-disk entries; |
| 2495 whether an RCS file exists for a missing source file; whether an |
| 2496 SCCS file exists for a missing source file. |
| 2497 |
| 2498 - Add a --raw argument to the sconsign script, so it can print a |
| 2499 raw representation of each entry's NodeInfo dictionary. |
| 2500 |
| 2501 - Add the 'f90' and 'f95' tools to the list of Fortran compilers |
| 2502 searched for by default. |
| 2503 |
| 2504 - Add the +Z option by default when compiling shared objects on |
| 2505 HP-UX. |
| 2506 |
| 2507 From Chen Lee: |
| 2508 |
| 2509 - Handle Visual Studio project and solution files in Unicode. |
| 2510 |
| 2511 From Sanjoy Mahajan: |
| 2512 |
| 2513 - Fix a bad use of Copy() in an example in the man page, and a |
| 2514 bad regular expression example in the man page and User's Guide. |
| 2515 |
| 2516 From Shannon Mann: |
| 2517 |
| 2518 - Have the Visual Studio project file(s) echo "Starting SCons" before |
| 2519 executing SCons, mainly to work around a quote-stripping bug in |
| 2520 (some versions of?) the Windows cmd command executor. |
| 2521 |
| 2522 From Georg Mischler: |
| 2523 |
| 2524 - Remove the space after the -o option when invoking the Borland |
| 2525 BCC compiler; some versions apparently require that the file name |
| 2526 argument be concatenated with the option. |
| 2527 |
| 2528 From Leanid Nazdrynau: |
| 2529 |
| 2530 - Fix the Java parser's handling of backslashes in strings. |
| 2531 |
| 2532 From Greg Noel: |
| 2533 |
| 2534 - Add construction variables to support frameworks on Mac OS X: |
| 2535 $FRAMEWORKS, $FRAMEWORKPREFIX, $FRAMEWORKPATH, $FRAMEWORKPATHPREFIX. |
| 2536 |
| 2537 - Re-order link lines so the -o option always comes right after the |
| 2538 command name. |
| 2539 |
| 2540 From Gary Oberbrunner: |
| 2541 |
| 2542 - Add support for Intel C++ beta 9.0 (both 32 and 64 bit versions). |
| 2543 |
| 2544 - Document the new $FRAMEWORK* variables for Mac OS X. |
| 2545 |
| 2546 From Karol Pietrzak: |
| 2547 |
| 2548 - Add $RPATH (-R) support to the Sun linker Tool (sunlink). |
| 2549 |
| 2550 - Add a description of env.subst() to the man page. |
| 2551 |
| 2552 From Chris Prince: |
| 2553 |
| 2554 - Look in the right directory, not always the local directory, for a |
| 2555 same-named file or directory conflict on disk. |
| 2556 |
| 2557 - On Windows, preserve the external environment's %SYSTEMDRIVE% |
| 2558 variable, too. |
| 2559 |
| 2560 From Craig Scott: |
| 2561 |
| 2562 - Have the Fortran module emitter look for Fortan modules to be created |
| 2563 relative to $FORTRANMODDIR, not the top-level directory. |
| 2564 |
| 2565 - When saving Options to a file, run default values through the |
| 2566 converter before comparing them with the set values. This correctly |
| 2567 suppresses Boolean Option values from getting written to the saved |
| 2568 file when they're one of the many synonyms for a default True or |
| 2569 False value. |
| 2570 |
| 2571 - Fix the Fortran Scanner's ability to handle a module being used |
| 2572 in the same file in which it is defined. |
| 2573 |
| 2574 From Steve-o: |
| 2575 |
| 2576 - Add the -KPIC option by default when compiling shared objects on |
| 2577 Solaris. |
| 2578 |
| 2579 - Change the default suffix for Solaris objects to .o, to conform to |
| 2580 Sun WorkShop's expectations. Change the profix to so_ so they can |
| 2581 still be differentiated from static objects in the same directory. |
| 2582 |
| 2583 From Amir Szekely: |
| 2584 |
| 2585 - When calling the resource compiler on MinGW, add --include-dir and |
| 2586 the source directory so it finds the source file. |
| 2587 |
| 2588 - Update EnsureSConsVersion() to support revision numbers. |
| 2589 |
| 2590 From Greg Ward: |
| 2591 |
| 2592 - Fix a misplaced line in the man page. |
| 2593 |
| 2594 |
| 2595 |
| 2596 RELEASE 0.96.90 - Tue, 15 Feb 2005 21:21:12 +0000 |
| 2597 |
| 2598 NOTE: This was a pre-release of 0.97 for testing purposes. |
| 2599 |
| 2600 From Anonymous: |
| 2601 |
| 2602 - Fix Java parsing to avoid erroneously identifying a new array |
| 2603 of class instances as an anonymous inner class. |
| 2604 |
| 2605 - Fix a typo in the man page description of PathIsDirCreate. |
| 2606 |
| 2607 From Chad Austin: |
| 2608 |
| 2609 - Allow Help() to be called multiple times, appending to the help |
| 2610 text each call. |
| 2611 |
| 2612 - Allow Tools found on a toolpath to import Python modules from |
| 2613 their local directory. |
| 2614 |
| 2615 From Steve Christensen: |
| 2616 |
| 2617 - Handle exceptions from Python functions as build actions. |
| 2618 |
| 2619 - Add a set of canned PathOption validators: PathExists (the default), |
| 2620 PathIsFile, PathIsDir and PathIsDirCreate. |
| 2621 |
| 2622 From Matthew Doar: |
| 2623 |
| 2624 - Add support for .lex and .yacc file suffixes for Lex and Yacc files. |
| 2625 |
| 2626 From Eric Frias: |
| 2627 |
| 2628 - Huge performance improvement: wrap the tuples representing an |
| 2629 include path in an object, so that the time it takes to hash the |
| 2630 path doesn't grow porportionally to the length of the path. |
| 2631 |
| 2632 From Gottfried Ganssauge: |
| 2633 |
| 2634 - Fix SCons on SuSE/AMD-64 Linux by having the wrapper script also |
| 2635 check for the build engine in the parent directory of the Python |
| 2636 library directory (/usr/lib64 instead of /usr/lib). |
| 2637 |
| 2638 From Stephen Kennedy: |
| 2639 |
| 2640 - Speed up writing the .sconsign file at the end of a run by only |
| 2641 calling sync() once at the end, not after every entry. |
| 2642 |
| 2643 From Steven Knight: |
| 2644 |
| 2645 - When compiling with Microsoft Visual Studio, don't include the ATL and |
| 2646 MFC directories in the default INCLUDE and LIB environment variables. |
| 2647 |
| 2648 - Remove the following deprecated features: the ParseConfig() |
| 2649 global function (deprecated in 0.93); the misspelled "validater" |
| 2650 keyword to the Options.Add() method (deprecated in 0.91); the |
| 2651 SetBuildSignatureType(), SetContentSignatureType(), SetJobs() and |
| 2652 GetJobs() global functions (deprecated in 0.14). |
| 2653 |
| 2654 - Fix problems with corrupting the .sconsign.dblite file when |
| 2655 interrupting builds by writing to a temporary file and renaming, |
| 2656 not writing the file directly. |
| 2657 |
| 2658 - Fix a 0.96 regression where when running with -k, targets built from |
| 2659 walking dependencies later on the command line would not realize |
| 2660 that a dependency had failed an earlier build attempt, and would |
| 2661 try to rebuild the dependent targets. |
| 2662 |
| 2663 - Change the final messages when using -k and errors occur from |
| 2664 "{building,cleaning} terminated because of errors" to "done |
| 2665 {building,cleaning} targets (errors occurred during {build,clean})." |
| 2666 |
| 2667 - Allow Configure.CheckFunc() to take an optional header argument |
| 2668 (already supported by Conftest.py) to specify text at the top of |
| 2669 the compiled test file. |
| 2670 |
| 2671 - Fix the --debug=explain output when a Python function action changed |
| 2672 so it prints a meaningful string, not the binary representation of |
| 2673 the function contents. |
| 2674 |
| 2675 - Allow a ListOption's default value(s) to be a Python list of specified |
| 2676 values, not just a string containing a comma-separated list of names. |
| 2677 |
| 2678 - Add a ParseDepends() function that will parse up a list of explicit |
| 2679 dependencies from a "make depend" style file. |
| 2680 |
| 2681 - Support the ability to change directory when executing an Action |
| 2682 through "chdir" keyword arguments to Action and Builder creation |
| 2683 and calls. |
| 2684 |
| 2685 - Fix handling of Action ojects (and other callables that don't match |
| 2686 our calling arguments) in construction variable expansions. |
| 2687 |
| 2688 - On Win32, install scons.bat in the Python directory when installing |
| 2689 from setup.py. (The bdist_wininst installer was already doing this.) |
| 2690 |
| 2691 - Fix env.SConscript() when called with a list of SConscipt files. |
| 2692 (The SConscript() global function already worked properly.) |
| 2693 |
| 2694 - Add a missing newline to the end of the --debug=explain "unknown |
| 2695 reasons" message. |
| 2696 |
| 2697 - Enhance ParseConfig() to work properly for spaces in between the -I, |
| 2698 -L and -l options and their arguments. |
| 2699 |
| 2700 - Packaging build fix: Rebuild the files that are use to report the |
| 2701 --version of SCons whenever the development version number changes. |
| 2702 |
| 2703 - Fix the ability to specify a target_factory of Dir() to a Builder, |
| 2704 which the default create-a-directory Builder was interfering with. |
| 2705 |
| 2706 - Mark a directory as built if it's created as part of the preparation |
| 2707 for another target, to avoid trying to build it again when it comes |
| 2708 up in the target list. |
| 2709 |
| 2710 - Allow a function with the right calling signature to be put directly |
| 2711 in an Environment's BUILDERS dictionary, making for easier creation |
| 2712 and use of wrappers (pseudo-Builders) that call other Builders. |
| 2713 |
| 2714 - On Python 2.x, wrap lists of Nodes returned by Builders in a UserList |
| 2715 object that adds a method that makes str() object return a string |
| 2716 with all of the Nodes expanded to their path names. (Builders under |
| 2717 Python 1.5.2 still return lists to avoid TypeErrors when trying |
| 2718 to extend() list, so Python 1.5.2 doesn't get pretty-printing of Node |
| 2719 lists, but everything should still function.) |
| 2720 |
| 2721 - Allow Aliases to have actions that will be executed whenever |
| 2722 any of the expanded Alias targets are out of date. |
| 2723 |
| 2724 - Fix expansion of env.Command() overrides within target and |
| 2725 source file names. |
| 2726 |
| 2727 - Support easier customization of what's displayed by various default |
| 2728 actions by adding lots of new construction variables: $ARCOMSTR, |
| 2729 $ASCOMSTR, $ASPPCOMSTR, $BIBTEXCOMSTR, $BITKEEPERCOMSTR, $CCCOMSTR, |
| 2730 $CVSCOMSTR, $CXXCOMSTR, $DCOMSTR, $DVIPDFCOMSTR, $F77COMSTR, |
| 2731 $F90COMSTR, $F95COMSTR, $FORTRANCOMSTR, $GSCOMSTR, $JARCOMSTR, |
| 2732 $JAVACCOMSTR, $JAVAHCOMSTR, $LATEXCOMSTR, $LEXCOMSTR, $LINKCOMSTR, |
| 2733 $M4COMSTR, $MIDLCOMSTR, $P4COMSTR, $PCHCOMSTR, $PDFLATEXCOMSTR, |
| 2734 $PDFTEXCOMSTR, $PSCOMSTR, $QT_MOCFROMCXXCOMSTR, $QT_MOCFROMHCOMSTR, |
| 2735 $QT_UICCOMSTR, $RCCOMSTR, $REGSVRCOMSTR, $RCS_COCOMSTR, $RMICCOMSTR, |
| 2736 $SCCSCOMSTR, $SHCCCOMSTR, $SHCXXCOMSTR, $SHF77COMSTR, $SHF90COMSTR, |
| 2737 $SHF95COMSTR, $SHFORTRANCOMSTR, $SHLINKCOMSTR, $SWIGCOMSTR, |
| 2738 $TARCOMSTR, $TEXCOMSTR, $YACCCOMSTR and $ZIPCOMSTR. |
| 2739 |
| 2740 - Add an optional "map" keyword argument to ListOption() that takes a |
| 2741 dictionary to map user-specified values to legal values from the list |
| 2742 (like EnumOption() already doee). |
| 2743 |
| 2744 - Add specific exceptions to try:-except: blocks without any listed, |
| 2745 so that they won't catch and mask keyboard interrupts. |
| 2746 |
| 2747 - Make --debug={tree,dtree,stree} print something even when there's |
| 2748 a build failure. |
| 2749 |
| 2750 - Fix how Scanners sort the found dependencies so that it doesn't |
| 2751 matter whether the dependency file is in a Repository or not. |
| 2752 This may cause recompilations upon upgrade to this version. |
| 2753 |
| 2754 - Make AlwaysBuild() work with Alias and Python value Nodes (making |
| 2755 it much simpler to support aliases like "clean" that just invoke |
| 2756 an arbitrary action). |
| 2757 |
| 2758 - Have env.ParseConfig() use AppendUnique() by default to suppress |
| 2759 duplicate entries from multiple calls. Add a "unique" keyword |
| 2760 argument to allow the old behavior to be specified. |
| 2761 |
| 2762 - Allow the library modules imported by an SConscript file to get at |
| 2763 all of the normally-available global functions and variables by saying |
| 2764 "from SCons.Script import *". |
| 2765 |
| 2766 - Add a --debug=memoizer option to print Memoizer hit/mass statistics. |
| 2767 |
| 2768 - Allow more than one --debug= option to be set at a time. |
| 2769 |
| 2770 - Change --debug=count to report object counts before and after |
| 2771 reading SConscript files and before and after building targets. |
| 2772 |
| 2773 - Change --debug=memory output to line up the numbers and to better |
| 2774 match (more or less) the headers on the --debug=count columns. |
| 2775 |
| 2776 - Speed things up when there are lists of targets and/or sources by |
| 2777 getting rid of some N^2 walks of the lists involved. |
| 2778 |
| 2779 - Cache evaluation of LazyActions so we don't create a new object |
| 2780 for each invocation. |
| 2781 |
| 2782 - When scanning, don't create Nodes for include files that don't |
| 2783 actually exist on disk. |
| 2784 |
| 2785 - Make supported global variables CScanner, DScanner, ProgramScanner and |
| 2786 SourceFileScanner. Make SourceFileScanner.add_scanner() a supported |
| 2787 part of the public interface. Keep the old SCons.Defaults.*Scan names |
| 2788 around for a while longer since some people were already using them. |
| 2789 |
| 2790 - By default, don't scan directories for on-disk files. Add a |
| 2791 DirScanner global scanner that can be used in Builders or Command() |
| 2792 calls that want source directory trees scanned for on-disk changes. |
| 2793 Have the Tar() and Zip() Builders use the new DirScanner to preserve |
| 2794 the behavior of rebuilding a .tar or .zip file if any file or |
| 2795 directory under a source tree changes. Add Command() support for |
| 2796 a source_scanner keyword argument to Command() that can be set to |
| 2797 DirScanner to get this behavior. |
| 2798 |
| 2799 - Documentation changes: Explain that $CXXFLAGS contains $CCFLAGS |
| 2800 by default. Fix a bad target_factory example in the man page. |
| 2801 Add appendices to the User's Guide to cover the available Tools, |
| 2802 Builders and construction variables. Comment out the build of |
| 2803 the old Python 10 paper, which doesn't build on all systems and |
| 2804 is old enough at this point that it probably isn't worth the |
| 2805 effort to make it do so. |
| 2806 |
| 2807 From Wayne Lee: |
| 2808 |
| 2809 - Avoid "maximum recursion limit" errors when removing $(-$) pairs |
| 2810 from long command lines. |
| 2811 |
| 2812 From Clive Levinson: |
| 2813 |
| 2814 - Make ParseConfig() recognize and add -mno-cygwin to $LINKFLAGS and |
| 2815 $CCFLAGS, and -mwindows to $LINKFLAGS. |
| 2816 |
| 2817 From Michael McCracken: |
| 2818 |
| 2819 - Add a new "applelink" tool to handle the things like Frameworks and |
| 2820 bundles that Apple has added to gcc for linking. |
| 2821 |
| 2822 - Use more appropriate default search lists of linkers, compilers and |
| 2823 and other tools for the 'darwin' platform. |
| 2824 |
| 2825 - Add a LoadableModule Builder that builds a bundle on Mac OS X (Darwin) |
| 2826 and a shared library on other systems. |
| 2827 |
| 2828 - Improve SWIG tests for use on Mac OS X (Darwin). |
| 2829 |
| 2830 From Elliot Murphy: |
| 2831 |
| 2832 - Enhance the tests to guarantee persistence of ListOption |
| 2833 values in saved options files. |
| 2834 |
| 2835 - Supply the help text when -h is used with the -u, -U or -D options. |
| 2836 |
| 2837 From Christian Neeb: |
| 2838 |
| 2839 - Fix the Java parser's handling of string definitions to avoid ignoring |
| 2840 subsequent code. |
| 2841 |
| 2842 From Han-Wen Nienhuys: |
| 2843 |
| 2844 - Optimize variable expansion by: using the re.sub() method (when |
| 2845 possible); not using "eval" for variables for which we can fetch the |
| 2846 value directory; avoiding slowing substitution logic when there's no |
| 2847 '$' in the string. |
| 2848 |
| 2849 From Gary Oberbrunner: |
| 2850 |
| 2851 - Add an Environment.Dump() method to print the contents of a |
| 2852 construction environment. |
| 2853 |
| 2854 - Allow $LIBS (and similar variables) to contain explicit File Nodes. |
| 2855 |
| 2856 - Change ParseConfig to add the found library names directly to the |
| 2857 $LIBS variable, instead of returning them. |
| 2858 |
| 2859 - Add ParseConfig() support for the -framework GNU linker option. |
| 2860 |
| 2861 - Add a PRINT_CMD_LINE_FUNC construction variable to allow people |
| 2862 to filter (or log) command-line output. |
| 2863 |
| 2864 - Print an internal Python stack trace in response to an otherwise |
| 2865 unexplained error when --debug=stacktrace is specified. |
| 2866 |
| 2867 - Add a --debug=findlibs option to print what's happening when |
| 2868 the scanner is searching for libraries. |
| 2869 |
| 2870 - Allow Tool specifications to be passed a dictionary of keyword |
| 2871 arguments. |
| 2872 |
| 2873 - Support an Options default value of None, in which case the variable |
| 2874 will not be added to the construction environment unless it's set |
| 2875 explicitly by the user or from an Options file. |
| 2876 |
| 2877 - Avoid copying __builtin__ values into a construction environment's |
| 2878 dictionary when evaluating construction variables. |
| 2879 |
| 2880 - Add a new cross-platform intelc.py Tool that can detect and |
| 2881 configure the Intel C++ v8 compiler on both Windows, where it's |
| 2882 named icl, and Linux, where it's named icc. It also checks that |
| 2883 the directory specified in the Windows registry exists, and sets a |
| 2884 new $INTEL_C_COMPILER_VERSION construction variable to identify the |
| 2885 version being used. (Niall Douglas contributed an early prototype |
| 2886 of parts of this module.) |
| 2887 |
| 2888 - Fix the private Conftest._Have() function so it doesn't change |
| 2889 non-alphanumeric characters to underscores. |
| 2890 |
| 2891 - Supply a better error message when a construction variable expansion |
| 2892 has an unknown attribute. |
| 2893 |
| 2894 - Documentation changes: Update the man page to describe use of |
| 2895 filenames or Nodes in $LIBS. |
| 2896 |
| 2897 From Chris Pawling: |
| 2898 |
| 2899 - Have the linkloc tool use $MSVS_VERSION to select the Microsoft |
| 2900 Visual Studio version to use. |
| 2901 |
| 2902 From Kevin Quick: |
| 2903 |
| 2904 - Fix the Builder name returned from ListBuilders and other instances |
| 2905 of subclasses of the BuilderBase class. |
| 2906 |
| 2907 - Add Builders and construction variables to support rpcgen: |
| 2908 RPCGenClient(), RPCGenHeader(), RPCGenService(), RPCGenXDR(), |
| 2909 $RPCGEN, $RPCGENFLAGS, $RPCGENCLIENTFLAGS, $RPCGENHEADERFLAGS, |
| 2910 $RPCGENSERVICEFLAGS, $RPCGENXDRFLAGS. |
| 2911 |
| 2912 - Update the man page to document that prefix and suffix Builder |
| 2913 keyword arguments can be strings, callables or dictionaries. |
| 2914 |
| 2915 - Provide more info in the error message when a user tries to build |
| 2916 a target multiple ways. |
| 2917 |
| 2918 - Fix Delete() when a file doesn't exist and must_exist=1. (We were |
| 2919 unintentionally dependent on a bug in versions of the Python shutil.py |
| 2920 module prior to Python 2.3, which would generate an exception for |
| 2921 a nonexistent file even when ignore_errors was set.) |
| 2922 |
| 2923 - Only replace a Node's builder with a non-null source builder. |
| 2924 |
| 2925 - Fix a stack trace when a suffix selection dictionary is passed |
| 2926 an empty source file list. |
| 2927 |
| 2928 - Allow optional names to be attached to Builders, for default |
| 2929 Builders that don't get attached to construction environments. |
| 2930 |
| 2931 - Fix problems with Parallel Task Exception handling. |
| 2932 |
| 2933 - Build targets in an associated BuildDir even if there are targets |
| 2934 or subdirectories locally in the source directory. |
| 2935 |
| 2936 - If a FunctionAction has a callable class as its underlying Python |
| 2937 function, use its strfunction() method (if any) to display the |
| 2938 action. |
| 2939 |
| 2940 - Fix handling when BuildDir() exists but is unwriteable. Add |
| 2941 "Stop." to those error messages for consistency. |
| 2942 |
| 2943 - Catch incidents of bad builder creation (without an action) and |
| 2944 supply meaningful error messages. |
| 2945 |
| 2946 - Fix handling of src_suffix values that aren't extensions (don't |
| 2947 begin with a '.'). |
| 2948 |
| 2949 - Don't retrieve files from a CacheDir, but report what would happen, |
| 2950 when the -n option is used. |
| 2951 |
| 2952 - Use the source_scanner from the target Node, not the source node |
| 2953 itself. |
| 2954 |
| 2955 - Internal Scanners fixes: Make sure Scanners are only passed Nodes. |
| 2956 Fix how a Scanner.Selector called its base class initialization. |
| 2957 Make comparisons of Scanner objects more robust. Add a name to |
| 2958 an internal default ObjSourceScanner. |
| 2959 |
| 2960 - Add a deprecated warning for use of the old "scanner" keyword argument |
| 2961 to Builder creation. |
| 2962 |
| 2963 - Improve the --debug=explain message when the build action changes. |
| 2964 |
| 2965 - Test enhancements in SourceCode.py, option-n.py, midl.py. Better |
| 2966 Command() and Scanner test coverage. Improved test infrastructure |
| 2967 for -c output. |
| 2968 |
| 2969 - Refactor the interface between Action and Executor objects to treat |
| 2970 Actions atomically. |
| 2971 |
| 2972 - The --debug=presub option will now report the pre-substitution |
| 2973 each action seprately, instead of reporting the entire list before |
| 2974 executing the actions one by one. |
| 2975 |
| 2976 - The --debug=explain option explaining a changed action will now |
| 2977 (more correctly) show pre-substitution action strings, instead of |
| 2978 the commands with substituted file names. |
| 2979 |
| 2980 - A Node (file) will now be rebuilt if its PreAction or PostAction |
| 2981 actions change. |
| 2982 |
| 2983 - Python Function actions now have their calling signature (target, |
| 2984 source, env) reported correctly when displayed. |
| 2985 |
| 2986 - Fix BuildDir()/build_dir handling when the build_dir is underneath |
| 2987 the source directory and trying to use entries from the build_dir |
| 2988 as sources for other targets in the build-dir. |
| 2989 |
| 2990 - Fix hard-coding of JDK path names in various Java tests. |
| 2991 |
| 2992 - Handle Python stack traces consistently (stop at the SConscript stack |
| 2993 frame, by default) even if the Python source code isn't available. |
| 2994 |
| 2995 - Improve the performance of the --debug={tree,dtree} options. |
| 2996 |
| 2997 - Add --debug=objects logging of creation of OverrideWarner, |
| 2998 EnvironmentCopy and EnvironmentOverride objects. |
| 2999 |
| 3000 - Fix command-line expansion of Python Value Nodes. |
| 3001 |
| 3002 - Internal cleanups: Remove an unnecessary scan argument. Associate |
| 3003 Scanners only with Builders, not nodes. Apply overrides once when |
| 3004 a Builder is called, not in multiple places. Cache results from the |
| 3005 Node.FS.get_suffix() and Node.get_build_env() methods. Use the Python |
| 3006 md5 modules' hexdigest() method, if there is one. Have Taskmaster |
| 3007 call get_stat() once for each Node and re-use the value instead of |
| 3008 calling it each time it needs the value. Have Node.depends_on() |
| 3009 re-use the list from the children() method instead of calling it |
| 3010 multiple times. |
| 3011 |
| 3012 - Use the correct scanner if the same source file is used for targets in |
| 3013 two different environments with the same path but different scanners. |
| 3014 |
| 3015 - Collect logic for caching values in memory in a Memoizer class, |
| 3016 which cleans up a lot of special-case code in various methods and |
| 3017 caches additional values to speed up most configurations. |
| 3018 |
| 3019 - Add a PathAccept validator to the list of new canned PathOption |
| 3020 validators. |
| 3021 |
| 3022 From Jeff Squyres: |
| 3023 |
| 3024 - Documentation changes: Use $CPPDEFINES instead of $CCFLAGS in man |
| 3025 page examples. |
| 3026 |
| 3027 From Levi Stephen: |
| 3028 |
| 3029 - Allow $JARCHDIR to be expanded to other construction variables. |
| 3030 |
| 3031 From Christoph Wiedemann: |
| 3032 |
| 3033 - Add an Environment.SetDefault() method that only sets values if |
| 3034 they aren't already set. |
| 3035 |
| 3036 - Have the qt.py Tool not override variables already set by the user. |
| 3037 |
| 3038 - Add separate $QT_BINPATH, $QT_CPPPATH and $QT_LIBPATH variables |
| 3039 so these can be set individually, instead of being hard-wired |
| 3040 relative to $QTDIR. |
| 3041 |
| 3042 - The %TEMP% and %TMP% external environment variables are now propagated |
| 3043 automatically to the command execution environment on Windows systems. |
| 3044 |
| 3045 - A new --config= command-line option allows explicit control of |
| 3046 of when the Configure() tests are run: --config=force forces all |
| 3047 checks to be run, --config=cache uses all previously cached values, |
| 3048 --config=auto (the default) runs tests only when dependency analysis |
| 3049 determines it's necessary. |
| 3050 |
| 3051 - The Configure() subsystem can now write a config.h file with values |
| 3052 like HAVE_STDIO_H, HAVE_LIBM, etc. |
| 3053 |
| 3054 - The Configure() subsystem now executes its checks silently when the |
| 3055 -Q option is specified. |
| 3056 |
| 3057 - The Configure() subsystem now reports if a test result is being |
| 3058 taken from cache, and prints the standard output and error output |
| 3059 of tests even when cached. |
| 3060 |
| 3061 - Configure() test results are now reported as "yes" or "no" instead of |
| 3062 "ok" or "failed." |
| 3063 |
| 3064 - Fixed traceback printing when calling the env.Configure() method |
| 3065 instead of the Configure() global function. |
| 3066 |
| 3067 - The Configure() subsystem now caches build failures in a .sconsign |
| 3068 file in the subdirectory, not a .cache file. This may cause |
| 3069 tests to be re-executed the first time after you install 0.97. |
| 3070 |
| 3071 - Additional significant internal cleanups in the Configure() subsystem |
| 3072 and its tests. |
| 3073 |
| 3074 - Have the Qt Builder make uic-generated files dependent on the .ui.h |
| 3075 file, if one exists. |
| 3076 |
| 3077 - Add a test to make sure that SCons source code does not contain |
| 3078 try:-except: blocks that catch all errors, which potentially catch |
| 3079 and mask keyboard interrupts. |
| 3080 |
| 3081 - Fix us of TargetSignatures('content') with the SConf subsystem. |
| 3082 |
| 3083 From Russell Yanofsky: |
| 3084 |
| 3085 - Add support for the Metrowerks Codewarrior compiler and linker |
| 3086 (mwcc and mwld). |
| 3087 |
| 3088 |
| 3089 |
| 3090 RELEASE 0.96.1 - Mon, 23 Aug 2004 12:55:50 +0000 |
| 3091 |
| 3092 From Craig Bachelor: |
| 3093 |
| 3094 - Handle white space in the executable Python path name within in MSVS |
| 3095 project files by quoting the path. |
| 3096 |
| 3097 - Correct the format of a GUID string in a solution (.dsw) file so |
| 3098 MSVS can correctly "build enable" a project. |
| 3099 |
| 3100 From Steven Knight: |
| 3101 |
| 3102 - Add a must_exist flag to Delete() to let the user control whether |
| 3103 it's an error if the specified entry doesn't exist. The default |
| 3104 behavior is now to silently do nothing if it doesn't exist. |
| 3105 |
| 3106 - Package up the new Platform/darwin.py, mistakenly left out of 0.96. |
| 3107 |
| 3108 - Make the scons.bat REM statements into @REM so they aren't printed. |
| 3109 |
| 3110 - Make the SCons packaging SConscript files platform independent. |
| 3111 |
| 3112 From Anthony Roach: |
| 3113 |
| 3114 - Fix scanning of pre-compiled header (.pch) files for #includes, |
| 3115 broken in 0.96. |
| 3116 |
| 3117 |
| 3118 |
| 3119 RELEASE 0.96 - Wed, 18 Aug 2004 13:36:40 +0000 |
| 3120 |
| 3121 From Chad Austin: |
| 3122 |
| 3123 - Make the CacheDir() directory if it doesn't already exist. |
| 3124 |
| 3125 - Allow construction variable substitutions in $LIBS specifications. |
| 3126 |
| 3127 - Allow the emitter argument to a Builder() to be or expand to a list |
| 3128 of emitter functions, which will be called in sequence. |
| 3129 |
| 3130 - Suppress null values in construction variables like $LIBS that use |
| 3131 the internal _concat() function. |
| 3132 |
| 3133 - Remove .dll files from the construction variables searched for |
| 3134 libraries that can be fed to Win32 compilers. |
| 3135 |
| 3136 From Chad Austin and Christoph Wiedemann: |
| 3137 |
| 3138 - Add support for a $RPATH variable to supply a list of directories |
| 3139 to search for shared libraries when linking a program. Used by |
| 3140 the GNU and IRIX linkers (gnulink and sgilink). |
| 3141 |
| 3142 From Charles Crain: |
| 3143 |
| 3144 - Restore the ability to do construction variable substitutions in all |
| 3145 kinds of *PATH variables, even when the substitution returns a Node |
| 3146 or other object. |
| 3147 |
| 3148 From Tom Epperly: |
| 3149 |
| 3150 - Allow the Java() Builder to take more than one source directory. |
| 3151 |
| 3152 From Ralf W. Grosse-Kunstleve: |
| 3153 |
| 3154 - Have SConsignFile() use, by default, a custom "dblite.py" that we can |
| 3155 control and guarantee to work on all Python versions (or nearly so). |
| 3156 |
| 3157 From Jonathan Gurley: |
| 3158 |
| 3159 - Add support for the newer "ifort" versions of the Intel Fortran |
| 3160 Compiler for Linux. |
| 3161 |
| 3162 From Bob Halley: |
| 3163 |
| 3164 - Make the new *FLAGS variable type work with copied Environments. |
| 3165 |
| 3166 From Chris Hoeppler: |
| 3167 |
| 3168 - Initialize the name of a Scanner.Classic scanner correctly. |
| 3169 |
| 3170 From James Juhasz: |
| 3171 |
| 3172 - Add support for the .dylib shared library suffix and the -dynamiclib |
| 3173 linker option on Mac OS X. |
| 3174 |
| 3175 From Steven Knight: |
| 3176 |
| 3177 - Add an Execute() method for executing actions directly. |
| 3178 |
| 3179 - Support passing environment override keyword arguments to Command(). |
| 3180 |
| 3181 - Fix use of $MSVS_IGNORE_IDE_PATHS, which was broken when we added |
| 3182 support for $MSVS_USE_MFC_DIRS last release. |
| 3183 |
| 3184 - Make env.Append() and env.Prepend() act like the underlying Python |
| 3185 behavior when the variable being appended to is a UserList object. |
| 3186 |
| 3187 - Fix a regression that prevented the Command() global function in |
| 3188 0.95 from working with command-line strings as actions. |
| 3189 |
| 3190 - Fix checking out a file from a source code management system when |
| 3191 the env.SourceCode() method was called with an individual file name |
| 3192 or node, not a directory name or node. |
| 3193 |
| 3194 - Enhance the Task.make_ready() method to create a list of the |
| 3195 out-of-date Nodes for the task for use by the wrapping interface. |
| 3196 |
| 3197 - Allow Scanners to pull the list of suffixes from the construction |
| 3198 environment when the "skeys" keyword argument is a string containing |
| 3199 a construction variable to be expanded. |
| 3200 |
| 3201 - Support new $CPPSUFFIXES, $DSUFFIXES $FORTRANSUFFIXES, and |
| 3202 $IDLSUFFIXES. construction variables that contain the default list |
| 3203 of suffixes to be scanned by a given type of scanner, allowing these |
| 3204 suffix lists to be easily added to or overridden. |
| 3205 |
| 3206 - Speed up Node creation when calling a Builder by comparing whether two |
| 3207 Environments are the same object, not if their underlying dictionaries |
| 3208 are equivalent. |
| 3209 |
| 3210 - Add a --debug=explain option that reports the reason(s) why SCons |
| 3211 thinks it must rebuild something. |
| 3212 |
| 3213 - Add support for functions that return platform-independent Actions |
| 3214 to Chmod(), Copy(), Delete(), Mkdir(), Move() and Touch() files |
| 3215 and/or directories. Like any other Actions, the returned Action |
| 3216 object may be executed directly using the Execute() global function |
| 3217 or env.Execute() environment method, or may be used as a Builder |
| 3218 action or in an env.Command() action list. |
| 3219 |
| 3220 - Add support for the strfunction argument to all types of Actions: |
| 3221 CommandAction, ListAction, and CommandGeneratorAction. |
| 3222 |
| 3223 - Speed up turning file system Nodes into strings by caching the |
| 3224 values after we're finished reading the SConscript files. |
| 3225 |
| 3226 - Have ParseConfig() recognize and supporting adding the -Wa, -Wl, |
| 3227 and -Wp, flags to ASFLAGS, LINKFLAGS and CPPFLAGS, respectively. |
| 3228 |
| 3229 - Change the .sconsign format and the checks for whether a Node is |
| 3230 up-to-date to make dependency checks more efficient and correct. |
| 3231 |
| 3232 - Add wrapper Actions to SCons.Defaults for $ASCOM, $ASPPCOM, $LINKCOM, |
| 3233 $SHLINKCOM, $ARCOM, $LEXCOM and $YACCCOM. This makes it possible |
| 3234 to replace the default print behavior with a custom strfunction() |
| 3235 for each of these. |
| 3236 |
| 3237 - When a Node has been built, don't walk the whole tree back to delete |
| 3238 the parents's implicit dependencies, let returning up the normal |
| 3239 Taskmaster descent take care of it for us. |
| 3240 |
| 3241 - Add documented support for separate target_scanner and source_scanner |
| 3242 arguments to Builder creation, which allows different scanners to |
| 3243 be applied to source files |
| 3244 |
| 3245 - Don't re-install or (re-generate) .h files when a subsidiary #included |
| 3246 .h file changes. This eliminates incorrect circular dependencies |
| 3247 with .h files generated from other source files. |
| 3248 |
| 3249 - Slim down the internal Sig.Calculator class by eliminating methods |
| 3250 whose functionality is now covered by Node methods. |
| 3251 |
| 3252 - Document use of the target_factory and source_factory keyword |
| 3253 arguments when creating Builder objects. Enhance Dir Nodes so that |
| 3254 they can be created with user-specified Builder objects. |
| 3255 |
| 3256 - Don't blow up with stack trace when the external $PATH environment |
| 3257 variable isn't set. |
| 3258 |
| 3259 - Make Builder calls return lists all the time, even if there's only |
| 3260 one target. This keeps things consistent and easier to program to |
| 3261 across platforms. |
| 3262 |
| 3263 - Add a Flatten() function to make it easier to deal with the Builders |
| 3264 all returning lists of targets, not individual targets. |
| 3265 |
| 3266 - Performance optimizations in Node.FS.__doLookup(). |
| 3267 |
| 3268 - Man page fixes: formatting typos, misspellings, bad example. |
| 3269 |
| 3270 - User's Guide fixes: Fix the signatures of the various example |
| 3271 *Options() calls. Triple-quote properly a multi-line Split example. |
| 3272 |
| 3273 - User's Guide additions: Chapter describing File and Directory |
| 3274 Nodes. Section describing declarative nature of SCons functions in |
| 3275 SConscript files. Better organization and clarification of points |
| 3276 raised by Robert P. J. Day. Chapter describing SConf (Autoconf-like) |
| 3277 functionality. Chapter describing how to install Python and |
| 3278 SCons. Chapter describing Java builds. |
| 3279 |
| 3280 From Chris Murray: |
| 3281 |
| 3282 - Add a .win32 attribute to force file names to expand with |
| 3283 Windows backslash path separators. |
| 3284 |
| 3285 - Fix escaping file names on command lines when the expansion is |
| 3286 concatenated with another string. |
| 3287 |
| 3288 - Add support for Fortran 90 and Fortran 95. This adds $FORTRAN* |
| 3289 variables that specify a default compiler, command-line, flags, |
| 3290 etc. for all Fortran versions, plus separate $F90* and $F95* |
| 3291 variables for when different compilers/flags/etc. must be specified |
| 3292 for different Fortran versions. |
| 3293 |
| 3294 - Have individual tools that create libraries override the default |
| 3295 $LIBPREFIX and $LIBSUFFIX values set by the platform. This makes |
| 3296 it easier to use Microsoft Visual Studio tools on a CygWin platform. |
| 3297 |
| 3298 From Gary Oberbrunner: |
| 3299 |
| 3300 - Add a --debug=presub option to print actions prior to substitution. |
| 3301 |
| 3302 - Add a warning upon use of the override keywords "targets" and |
| 3303 "sources" when calling Builders. These are usually mistakes which |
| 3304 are otherwise silently (and confusingly) turned into construction |
| 3305 variable overrides. |
| 3306 |
| 3307 - Try to find the ICL license file path name in the external environment |
| 3308 and the registry before resorting to the hard-coded path name. |
| 3309 |
| 3310 - Add support for fetching command-line keyword=value arguments in |
| 3311 order from an ARGLIST list. |
| 3312 |
| 3313 - Avoid stack traces when trying to read dangling symlinks. |
| 3314 |
| 3315 - Treat file "extensions" that only contain digits as part of the |
| 3316 file basename. This supports version numbers as part of shared |
| 3317 library names, for example. |
| 3318 |
| 3319 - Avoid problems when there are null entries (None or '') in tool |
| 3320 lists or CPPPATH. |
| 3321 |
| 3322 - Add an example and explanation of how to use "tools = ['default', ..." |
| 3323 when creating a construction environment. |
| 3324 |
| 3325 - Add a section describing File and Directory Nodes and some of their |
| 3326 attributes and methods. |
| 3327 |
| 3328 - Have ParseConfig() add a returned -pthread flag to both $CCFLAGS |
| 3329 and $LINKFLAGS. |
| 3330 |
| 3331 - Fix some test portability issues on Mac OS X (darwin). |
| 3332 |
| 3333 From Simon Perkins: |
| 3334 |
| 3335 - Fix a bug introduced in building shared libraries under MinGW. |
| 3336 |
| 3337 From Kevin Quick: |
| 3338 |
| 3339 - Handling SCons exceptions according to Pythonic standards. |
| 3340 |
| 3341 - Fix test/chained-build.py on systems that execute within one second. |
| 3342 |
| 3343 - Fix tests on systems where 'ar' warns about archive creation. |
| 3344 |
| 3345 From Anthony Roach: |
| 3346 |
| 3347 - Fix use of the --implicit-cache option with timestamp signatures. |
| 3348 |
| 3349 - If Visual Studio is installed, assume the C/C++ compiler, the linker |
| 3350 and the MIDL compiler that comes with it are available, too. |
| 3351 |
| 3352 - Better error messages when evaluating a construction variable |
| 3353 expansion yields a Python syntax error. |
| 3354 |
| 3355 - Change the generation of PDB files when using Visual Studio from |
| 3356 compile time to link time. |
| 3357 |
| 3358 From sam th: |
| 3359 |
| 3360 - Allow SConf.CheckLib() to search a list of libraries, like the |
| 3361 Autoconf AC_SEARCH_LIBS macro. |
| 3362 |
| 3363 - Allow the env.WhereIs() method to take a "reject" argument to |
| 3364 let it weed out specific path names. |
| 3365 |
| 3366 From Christoph Wiedemann: |
| 3367 |
| 3368 - Add new Moc() and Uic() Builders for more explicit control over |
| 3369 Qt builds, plus new construction variables to control them: |
| 3370 $QT_AUTOSCAN, $QT_DEBUG, $QT_MOCCXXPREFIX, $QT_MOCCXXSUFFIX, |
| 3371 $QT_MOCHPREFIX, $QT_MOCHSUFFIX, $QT_UICDECLPREFIX, $QT_UICDECLSUFFIX, |
| 3372 $QT_UICIMPLPREFIX, $QT_UICIMPLSUFFIX and $QT_UISUFFIX. |
| 3373 |
| 3374 - Add a new single_source keyword argument for Builders that enforces |
| 3375 a single source file on calls to the Builder. |
| 3376 |
| 3377 |
| 3378 |
| 3379 RELEASE 0.95 - Mon, 08 Mar 2004 06:43:20 -0600 |
| 3380 |
| 3381 From Chad Austin: |
| 3382 |
| 3383 - Replace print statements with calls to sys.stdout.write() so output |
| 3384 lines stay together when -j is used. |
| 3385 |
| 3386 - Add portability fixes for a number of tests. |
| 3387 |
| 3388 - Accomodate the fact that Cygwin's os.path.normcase() lies about |
| 3389 the underlying system being case-sensitive. |
| 3390 |
| 3391 - Fix an incorrect _concat() call in the $RCINCFLAGS definition for |
| 3392 the mingw Tool. |
| 3393 |
| 3394 - Fix a problem with the msvc tool with Python versions prior to 2.3. |
| 3395 |
| 3396 - Add support for a "toolpath" Tool() and Environment keyword that |
| 3397 allows Tool modules to be found in specified local directories. |
| 3398 |
| 3399 - Work around Cygwin Python's silly fiction that it's using a |
| 3400 case-sensitive file system. |
| 3401 |
| 3402 - More robust handling of data in VCComponents.dat. |
| 3403 |
| 3404 - If the "env" command is available, spawn commands with the more |
| 3405 general "env -" instead of "env -i". |
| 3406 |
| 3407 From Kerim Borchaev: |
| 3408 |
| 3409 - Fix a typo in a msvc.py's registry lookup: "VCComponents.dat", not |
| 3410 "VSComponents.dat". |
| 3411 |
| 3412 From Chris Burghart: |
| 3413 |
| 3414 - Fix the ability to save/restore a PackageOption to a file. |
| 3415 |
| 3416 From Steve Christensen: |
| 3417 |
| 3418 - Update the MSVS .NET and MSVC 6.0/7.0 path detection. |
| 3419 |
| 3420 From David M. Cooke: |
| 3421 |
| 3422 - Make the Fortran scanner case-insensitive for the INCLUDE string. |
| 3423 |
| 3424 From Charles Crain: |
| 3425 |
| 3426 - If no version of MSVC is detected but the tool is specified, |
| 3427 use the MSVC 6.0 paths by default. |
| 3428 |
| 3429 - Ignore any "6.1" version of MSVC found in the registry; this is a |
| 3430 phony version number (created by later service packs?) and would |
| 3431 throw off the logic if the user had any non-default paths configure. |
| 3432 |
| 3433 - Correctly detect if the user has independently configured the MSVC |
| 3434 "include," "lib" or "path" in the registry and use the appropriate |
| 3435 values. Previously, SCons would only use the values if all three |
| 3436 were set in the registry. |
| 3437 |
| 3438 - Make sure side-effect nodes are prepare()d before building their |
| 3439 corresponding target. |
| 3440 |
| 3441 - Preserve the ability to call BuildDir() multiple times with the |
| 3442 same target and source directory arguments. |
| 3443 |
| 3444 From Andy Friesen: |
| 3445 |
| 3446 - Add support for the Digital Mars "D" programming language. |
| 3447 |
| 3448 From Scott Lystig Fritchie: |
| 3449 |
| 3450 - Fix the ability to use a custom _concat() function in the |
| 3451 construction environment when calling _stripixes(). |
| 3452 |
| 3453 - Make the message about ignoring a missing SConscript file into a |
| 3454 suppressable Warning, not a hard-coded sys.stderr.write(). |
| 3455 |
| 3456 - If a builder can be called multiple times for a target (because |
| 3457 the sources and overrides are identical, or it's a builder with the |
| 3458 "multi" flag set), allow the builder to be called through multiple |
| 3459 environments so long as the builders have the same signature for |
| 3460 the environments in questions (that is, they're the same action). |
| 3461 |
| 3462 From Bob Halley: |
| 3463 |
| 3464 - When multiple targets are built by a single action, retrieve all |
| 3465 of them from cache, not just the first target, and exec the build |
| 3466 command if any of the targets isn't present in the cache. |
| 3467 |
| 3468 From Zephaniah Hull: |
| 3469 |
| 3470 - Fix command-line ARGUMENTS with multiple = in them. |
| 3471 |
| 3472 From Steven Knight: |
| 3473 |
| 3474 - Fix EnsureSConsVersion() so it checks against the SCons version, |
| 3475 not the Python version, on Pythons with sys.version_info. |
| 3476 |
| 3477 - Don't swallow the AttributeError when someone uses an expansion like |
| 3478 $TARGET.bak, so we can supply a more informative error message. |
| 3479 |
| 3480 - Fix an odd double-quote escape sequence in the man page. |
| 3481 |
| 3482 - Fix looking up a naked drive letter as a directory (Dir('C:')). |
| 3483 |
| 3484 - Support using File nodes in the LIBS construction variable. |
| 3485 |
| 3486 - Allow the LIBS construction variable to be a single string or File |
| 3487 node, not a list, when only one library is needed. |
| 3488 |
| 3489 - Fix typos in the man page: JAVACHDIR => JARCHDIR; add "for_signature" |
| 3490 to the __call__() example in the "Variable Substitution" section. |
| 3491 |
| 3492 - Correct error message spellings of "non-existant" to "non-existent." |
| 3493 |
| 3494 - When scanning for libraries to link with, don't append $LIBPREFIXES |
| 3495 or $LIBSUFFIXES values to the $LIBS values if they're already present. |
| 3496 |
| 3497 - Add a ZIPCOMPRESSION construction variable to control whether the |
| 3498 internal Python action for the Zip Builder compresses the file or |
| 3499 not. The default value is zipfile.ZIP_DEFLATED, which generates |
| 3500 a compressed file. |
| 3501 |
| 3502 - Refactor construction variable expansion to support recursive |
| 3503 expansion of variables (e.g. CCFLAGS = "$CCFLAGS -g") without going |
| 3504 into an infinite loop. Support this in all construction variable |
| 3505 overrides, as well as when copying Environments. |
| 3506 |
| 3507 - Fix calling Configure() from more than one subsidiary SConscript file. |
| 3508 |
| 3509 - Fix the env.Action() method so it returns the correct type of |
| 3510 Action for its argument(s). |
| 3511 |
| 3512 - Fix specifying .class files as input to JavaH with the .class suffix |
| 3513 when they weren't generated using the Java Builder. |
| 3514 |
| 3515 - Make the check for whether all of the objects going into a |
| 3516 SharedLibrary() are shared work even if the object was built in a |
| 3517 previous run. |
| 3518 |
| 3519 - Supply meaningful error messages, not stack traces, if we try to add |
| 3520 a non-Node as a source, dependency, or ignored dependency of a Node. |
| 3521 |
| 3522 - Generate MSVS Project files that re-invoke SCons properly regardless |
| 3523 of whether the file was built via scons.bat or scons.py. |
| 3524 (Thanks to Niall Douglas for contributing code and testing.) |
| 3525 |
| 3526 - Fix TestCmd.py, runtest.py and specific tests to accomodate being |
| 3527 run from directories whose paths include white space. |
| 3528 |
| 3529 - Provide a more useful error message if a construction variable |
| 3530 expansion contains a syntax error during evaluation. |
| 3531 |
| 3532 - Fix transparent checkout of implicit dependency files from SCCS |
| 3533 and RCS. |
| 3534 |
| 3535 - Added new --debug=count, --debug=memory and --debug=objects options. |
| 3536 --debug=count and --debug=objects only print anything when run |
| 3537 under Python 2.1 or later. |
| 3538 |
| 3539 - Deprecate the "overrides" keyword argument to Builder() creation |
| 3540 in favor of using keyword argument values directly (like we do |
| 3541 for builder execution and the like). |
| 3542 |
| 3543 - Always use the Builder overrides in substitutions, not just if |
| 3544 there isn't a target-specific environment. |
| 3545 |
| 3546 - Add new "rsrcpath" and "rsrcdir" and attributes to $TARGET/$SOURCE, |
| 3547 so Builder command lines can find things in Repository source |
| 3548 directories when using BuildDir. |
| 3549 |
| 3550 - Fix the M4 Builder so that it chdirs to the Repository directory |
| 3551 when the input file is in the source directory of a BuildDir. |
| 3552 |
| 3553 - Save memory at build time by allowing Nodes to delete their build |
| 3554 environments after they've been built. |
| 3555 |
| 3556 - Add AppendUnique() and PrependUnique() Environment methods, which |
| 3557 add values to construction variables like Append() and Prepend() |
| 3558 do, but suppress any duplicate elements in the list. |
| 3559 |
| 3560 - Allow the 'qt' tool to still be used successfully from a copied |
| 3561 Environment. The include and library directories previously ended up |
| 3562 having the same string re-appended to the end, yielding an incorrect |
| 3563 path name. |
| 3564 |
| 3565 - Supply a more descriptive error message when the source for a target |
| 3566 can't be found. |
| 3567 |
| 3568 - Initialize all *FLAGS variables with objects do the right thing with |
| 3569 appending flags as strings or lists. |
| 3570 |
| 3571 - Make things like ${TARGET.dir} work in *PATH construction variables. |
| 3572 |
| 3573 - Allow a $MSVS_USE_MFC_DIRS construction variable to control whether |
| 3574 ATL and MFC directories are included in the default INCLUDE and |
| 3575 LIB paths. |
| 3576 |
| 3577 - Document the dbm_module argument to the SConsignFile() function. |
| 3578 |
| 3579 From Vincent Risi: |
| 3580 |
| 3581 - Add support for the bcc32, ilink32 and tlib Borland tools. |
| 3582 |
| 3583 From Anthony Roach: |
| 3584 |
| 3585 - Supply an error message if the user tries to configure a BuildDir |
| 3586 for a directory that already has one. |
| 3587 |
| 3588 - Remove documentation of the still-unimplemented -e option. |
| 3589 |
| 3590 - Add -H help text listing the legal --debug values. |
| 3591 |
| 3592 - Don't choke if a construction variable is a non-string value. |
| 3593 |
| 3594 - Build Type Libraries in the target directory, not the source |
| 3595 directory. |
| 3596 |
| 3597 - Add an appendix to the User's Guide showing how to accomplish |
| 3598 various common tasks in Python. |
| 3599 |
| 3600 From Greg Spencer: |
| 3601 |
| 3602 - Add support for Microsoft Visual Studio 2003 (version 7.1). |
| 3603 |
| 3604 - Evaluate $MSVSPROJECTSUFFIX and $MSVSSOLUTIONSUFFIX when the Builder |
| 3605 is invoked, not when the tool is initialized. |
| 3606 |
| 3607 From Christoph Wiedemann: |
| 3608 |
| 3609 - When compiling Qt, make sure the moc_*.cc files are compiled using |
| 3610 the flags from the environment used to specify the target, not |
| 3611 the environment that first has the Qt Builders attached. |
| 3612 |
| 3613 |
| 3614 |
| 3615 RELEASE 0.94 - Fri, 07 Nov 2003 05:29:48 -0600 |
| 3616 |
| 3617 From Hartmut Goebel: |
| 3618 |
| 3619 - Add several new types of canned functions to help create options: |
| 3620 BoolOption(), EnumOption(), ListOption(), PackageOption(), |
| 3621 PathOption(). |
| 3622 |
| 3623 From Steven Knight: |
| 3624 |
| 3625 - Fix use of CPPDEFINES with C++ source files. |
| 3626 |
| 3627 - Fix env.Append() when the operand is an object with a __cmp__() |
| 3628 method (like a Scanner instance). |
| 3629 |
| 3630 - Fix subclassing the Environment and Scanner classes. |
| 3631 |
| 3632 - Add BUILD_TARGETS, COMMAND_LINE_TARGETS and DEFAULT_TARGETS variables. |
| 3633 |
| 3634 From Steve Leblanc: |
| 3635 |
| 3636 - SGI fixes: Fix C++ compilation, add a separate Tool/sgic++.py module. |
| 3637 |
| 3638 From Gary Oberbrunner: |
| 3639 |
| 3640 - Fix how the man page un-indents after examples in some browsers. |
| 3641 |
| 3642 From Vincent Risi: |
| 3643 |
| 3644 - Fix the C and C++ tool specifications for AIX. |
| 3645 |
| 3646 |
| 3647 |
| 3648 RELEASE 0.93 - Thu, 23 Oct 2003 07:26:55 -0500 |
| 3649 |
| 3650 From J.T. Conklin: |
| 3651 |
| 3652 - On POSIX, execute commands with the more modern os.spawnvpe() |
| 3653 function, if it's available. |
| 3654 |
| 3655 - Scan .S, .spp and .SPP files for C preprocessor dependencies. |
| 3656 |
| 3657 - Refactor the Job.Parallel() class to use a thread pool without a |
| 3658 condition variable. This improves parallel build performance and |
| 3659 handles keyboard interrupts properly when -j is used. |
| 3660 |
| 3661 From Charles Crain: |
| 3662 |
| 3663 - Add support for a JARCHDIR variable to control changing to a |
| 3664 directory using the jar -C option. |
| 3665 |
| 3666 - Add support for detecting Java manifest files when using jar, |
| 3667 and specifying them using the jar m flag. |
| 3668 |
| 3669 - Fix some Python 2.2 specific things in various tool modules. |
| 3670 |
| 3671 - Support directories as build sources, so that a rebuild of a target |
| 3672 can be triggered if anything underneath the directory changes. |
| 3673 |
| 3674 - Have the scons.bat and scons.py files look for the SCons modules |
| 3675 in site-packages as well. |
| 3676 |
| 3677 From Christian Engel: |
| 3678 |
| 3679 - Support more flexible inclusion of separate C and C++ compilers. |
| 3680 |
| 3681 - Use package management tools on AIX and Solaris to find where |
| 3682 the comilers are installed, and what version they are. |
| 3683 |
| 3684 - Add support for CCVERSION and CXXVERSION variables for a number |
| 3685 of C and C++ compilers. |
| 3686 |
| 3687 From Sergey Fogel: |
| 3688 |
| 3689 - Add test cases for the new capabilities to run bibtex and to rerun |
| 3690 latex as needed. |
| 3691 |
| 3692 From Ralf W. Grosse-Kunstleve: |
| 3693 |
| 3694 - Accomodate anydbm modules that don't have a sync() method. |
| 3695 |
| 3696 - Allow SConsignFile() to take an argument specifying the DBM |
| 3697 module to be used. |
| 3698 |
| 3699 From Stephen Kennedy: |
| 3700 |
| 3701 - Add support for a configurable global .sconsign.dbm file which |
| 3702 can be used to avoid cluttering each directory with an individual |
| 3703 .sconsign file. |
| 3704 |
| 3705 From John Johnson: |
| 3706 |
| 3707 - Fix (re-)scanning of dependencies in generated or installed |
| 3708 header files. |
| 3709 |
| 3710 From Steven Knight: |
| 3711 |
| 3712 - The -Q option suppressed too many messages; fix it so that it only |
| 3713 suppresses the Reading/Building messages. |
| 3714 |
| 3715 - Support #include when there's no space before the opening quote |
| 3716 or angle bracket. |
| 3717 |
| 3718 - Accomodate alphanumeric version strings in EnsurePythonVersion(). |
| 3719 |
| 3720 - Support arbitrary expansion of construction variables within |
| 3721 file and directory arguments to Builder calls and Environment methods. |
| 3722 |
| 3723 - Add Environment-method versions of the following global functions: |
| 3724 Action(), AddPostAction(), AddPreAction(), Alias(), Builder(), |
| 3725 BuildDir(), CacheDir(), Clean(), Configure(), Default(), |
| 3726 EnsurePythonVersion(), EnsureSConsVersion(), Environment(), |
| 3727 Exit(), Export(), FindFile(), GetBuildPath(), GetOption(), Help(), |
| 3728 Import(), Literal(), Local(), Platform(), Repository(), Scanner(), |
| 3729 SConscriptChdir(), SConsignFile(), SetOption(), SourceSignatures(), |
| 3730 Split(), TargetSignatures(), Tool(), Value(). |
| 3731 |
| 3732 - Add the following global functions that correspond to the same-named |
| 3733 Environment methods: AlwaysBuild(), Command(), Depends(), Ignore(), |
| 3734 Install(), InstallAs(), Precious(), SideEffect() and SourceCode(). |
| 3735 |
| 3736 - Add the following global functions that correspond to the default |
| 3737 Builder methods supported by SCons: CFile(), CXXFile(), DVI(), Jar(), |
| 3738 Java(), JavaH(), Library(), M4(), MSVSProject(), Object(), PCH(), |
| 3739 PDF(), PostScript(), Program(), RES(), RMIC(), SharedLibrary(), |
| 3740 SharedObject(), StaticLibrary(), StaticObject(), Tar(), TypeLibrary() |
| 3741 and Zip(). |
| 3742 |
| 3743 - Rearrange the man page to show construction environment methods and |
| 3744 global functions in the same list, and to explain the difference. |
| 3745 |
| 3746 - Alphabetize the explanations of the builder methods in the man page. |
| 3747 |
| 3748 - Rename the Environment.Environment class to Enviroment.Base. |
| 3749 Allow the wrapping interface to extend an Environment by using its own |
| 3750 subclass of Environment.Base and setting a new Environment.Environment |
| 3751 variable as the calling entry point. |
| 3752 |
| 3753 - Deprecate the ParseConfig() global function in favor of a same-named |
| 3754 construction environment method. |
| 3755 |
| 3756 - Allow the Environment.WhereIs() method to take explicit path and |
| 3757 pathext arguments (like the underlying SCons.Util.WhereIs() function). |
| 3758 |
| 3759 - Remove the long-obsolete {Get,Set}CommandHandler() functions. |
| 3760 |
| 3761 - Enhance env.Append() to suppress null values when appropriate. |
| 3762 |
| 3763 - Fix ParseConfig() so it works regardless of initial construction |
| 3764 variable values. |
| 3765 |
| 3766 Extend CheckHeader(), CheckCHeader(), CheckCXXHeader() and |
| 3767 CheckLibWithHeader() to accept a list of header files that will be |
| 3768 #included in the test. The last one in the list is assumed to be |
| 3769 the one being checked for. (Prototype code contributed by Gerard |
| 3770 Patel and Niall Douglas). |
| 3771 |
| 3772 - Supply a warning when -j is used and threading isn't built in to |
| 3773 the current version of Python. |
| 3774 |
| 3775 - First release of the User's Guide (finally, and despite a lot |
| 3776 of things still missing from it...). |
| 3777 |
| 3778 From Clark McGrew: |
| 3779 |
| 3780 - Generalize the action for .tex files so that it will decide whether |
| 3781 a file is TeX or LaTeX, check the .aux output to decide if it should |
| 3782 run bibtex, and check the .log output to re-run LaTeX if needed. |
| 3783 |
| 3784 From Bram Moolenaar: |
| 3785 |
| 3786 - Split the non-SCons-specific functionality from SConf.py to a new, |
| 3787 re-usable Conftest.py module. |
| 3788 |
| 3789 From Gary Oberbrunner: |
| 3790 |
| 3791 - Allow a directory to be the target or source or dependency of a |
| 3792 Depends(), Ignore(), Precious() or SideEffect() call. |
| 3793 |
| 3794 From Gerard Patel: |
| 3795 |
| 3796 - Use the %{_mandir} macro when building our RPM package. |
| 3797 |
| 3798 From Marko Rauhamaa: |
| 3799 |
| 3800 - Have the closing message say "...terminated because of errors" if |
| 3801 there were any. |
| 3802 |
| 3803 From Anthony Roach: |
| 3804 |
| 3805 - On Win32 systems, only use "rm" to delete files if Cygwin is being |
| 3806 used. ("rm" doesn't understand Win32-format path names.) |
| 3807 |
| 3808 From Christoph Wiedemann: |
| 3809 |
| 3810 - Fix test/SWIG.py to find the Python include directory in all cases. |
| 3811 |
| 3812 - Fix a bug in detection of Qt installed on the local system. |
| 3813 |
| 3814 - Support returning Python 2.3 BooleanType values from Configure checks. |
| 3815 |
| 3816 - Provide an error message if someone mistakenly tries to call a |
| 3817 Configure check from within a Builder function. |
| 3818 |
| 3819 - Support calling a Builder when a Configure context is still open. |
| 3820 |
| 3821 - Handle interrupts better by eliminating all try:-except: blocks |
| 3822 which caught any and all exceptions, including KeyboardInterrupt. |
| 3823 |
| 3824 - Add a --duplicate= option to control how files are duplicated. |
| 3825 |
| 3826 |
| 3827 |
| 3828 RELEASE 0.92 - Wed, 20 Aug 2003 03:45:28 -0500 |
| 3829 |
| 3830 From Charles Crain and Gary Oberbrunner: |
| 3831 |
| 3832 - Fix Tool import problems with the Intel and PharLap linkers. |
| 3833 |
| 3834 From Steven Knight |
| 3835 |
| 3836 - Refactor the DictCmdGenerator class to be a Selector subclass. |
| 3837 |
| 3838 - Allow the DefaultEnvironment() function to take arguments and pass |
| 3839 them to instantiation of the default construction environment. |
| 3840 |
| 3841 - Update the Debian package so it uses Python 2.2 and more closely |
| 3842 resembles the currently official Debian packaging info. |
| 3843 |
| 3844 From Gerard Patel |
| 3845 |
| 3846 - When the yacc -d flag is used, take the .h file base name from the |
| 3847 target .c file, not the source (matching what yacc does). |
| 3848 |
| 3849 |
| 3850 |
| 3851 RELEASE 0.91 - Thu, 14 Aug 2003 13:00:44 -0500 |
| 3852 |
| 3853 From Chad Austin: |
| 3854 |
| 3855 - Support specifying a list of tools when calling Environment.Copy(). |
| 3856 |
| 3857 - Give a Value Nodes a timestamp of the system time when they're |
| 3858 created, so they'll work when using timestamp-based signatures. |
| 3859 |
| 3860 - Add a DefaultEnvironment() function that only creates a default |
| 3861 environment on-demand (for fetching source files, e.g.). |
| 3862 |
| 3863 - Portability fix for test/M4.py. |
| 3864 |
| 3865 From Steven Knight: |
| 3866 |
| 3867 - Tighten up the scons -H help output. |
| 3868 |
| 3869 - When the input yacc file ends in .yy and the -d flag is specified, |
| 3870 recognize that a .hpp file (not a .h file) will be created. |
| 3871 |
| 3872 - Make builder prefixes work correctly when deducing a target |
| 3873 from a source file name in another directory. |
| 3874 |
| 3875 - Documentation fixes: typo in the man page; explain up-front about |
| 3876 not propagating the external environment. |
| 3877 |
| 3878 - Use "cvs co -d" instead of "cvs co -p >" when checking out something |
| 3879 from CVS with a specified module name. This avoids zero-length |
| 3880 files when there is a checkout error. |
| 3881 |
| 3882 - Add an "sconsign" script to print the contents of .sconsign files. |
| 3883 |
| 3884 - Speed up maintaining the various lists of Node children by using |
| 3885 dictionaries to avoid "x in list" searches. |
| 3886 |
| 3887 - Cache the computed list of Node children minus those being Ignored |
| 3888 so it's only calculated once. |
| 3889 |
| 3890 - Fix use of the --cache-show option when building a Program() |
| 3891 (or using any other arbitrary action) by making sure all Action |
| 3892 instances have strfunction() methods. |
| 3893 |
| 3894 - Allow the source of Command() to be a directory. |
| 3895 |
| 3896 - Better error handling of things like raw TypeErrors in SConscripts. |
| 3897 |
| 3898 - When installing using "setup.py install --prefix=", suppress the |
| 3899 distutils warning message about adding the (incorrect) library |
| 3900 directory to your search path. |
| 3901 |
| 3902 - Correct the spelling of the "validater" option to "validator." |
| 3903 Add a DeprecatedWarning when the old spelling is used. |
| 3904 |
| 3905 - Allow a Builder's emitter to be a dictionary that maps source file |
| 3906 suffixes to emitter functions, using the suffix of the first file |
| 3907 in the source list to pick the right one. |
| 3908 |
| 3909 - Refactor the creation of the Program, *Object and *Library Builders |
| 3910 so that they're moved out of SCons.Defaults and created on demand. |
| 3911 |
| 3912 - Don't split SConscript file names on white space. |
| 3913 |
| 3914 - Document the SConscript function's "dirs" and "name" keywords. |
| 3915 |
| 3916 - Remove the internal (and superfluous) SCons.Util.argmunge() function. |
| 3917 |
| 3918 - Add /TP to the default CXXFLAGS for msvc, so it can compile all |
| 3919 of the suffixes we use as C++ files. |
| 3920 |
| 3921 - Allow the "prefix" and "suffix" attributes of a Builder to be |
| 3922 callable objects that return generated strings, or dictionaries |
| 3923 that map a source file suffix to the right prefix/suffix. |
| 3924 |
| 3925 - Support a MAXLINELINELENGTH construction variable on Win32 systems |
| 3926 to control when a temporary file is used for long command lines. |
| 3927 |
| 3928 - Make how we build .rpm packages not depend on the installation |
| 3929 locations from the distutils being used. |
| 3930 |
| 3931 - When deducing a target Node, create it directly from the first |
| 3932 source Node, not by trying to create the right string to pass to |
| 3933 arg2nodes(). |
| 3934 |
| 3935 - Add support for SWIG. |
| 3936 |
| 3937 From Bram Moolenaar: |
| 3938 |
| 3939 - Test portability fixes for FreeBSD. |
| 3940 |
| 3941 From Gary Oberbrunner: |
| 3942 |
| 3943 - Report the target being built in error messages when building |
| 3944 multiple sources from different extensions, or when the target file |
| 3945 extension can't be deduced, or when we don't have an action for a |
| 3946 file suffix. |
| 3947 |
| 3948 - Provide helpful error messages when the arguments to env.Install() |
| 3949 are incorrect. |
| 3950 |
| 3951 - Fix the value returned by the Node.prevsiginfo() method to conform |
| 3952 to a previous change when checking whether a node is current. |
| 3953 |
| 3954 - Supply a stack trace if the Taskmaster catches an exception. |
| 3955 |
| 3956 - When using a temporary file for a long link line on Win32 systems, |
| 3957 (also) print the command line that is being executed through the |
| 3958 temporary file. |
| 3959 |
| 3960 - Initialize the LIB environment variable when using the Intel |
| 3961 compiler (icl). |
| 3962 |
| 3963 - Documentation fixes: better explain the AlwaysBuild() function. |
| 3964 |
| 3965 From Laurent Pelecq: |
| 3966 |
| 3967 - When the -debug=pdb option is specified, use pdb.Pdb().runcall() to |
| 3968 call pdb directly, don't call Python recursively. |
| 3969 |
| 3970 From Ben Scott: |
| 3971 |
| 3972 - Add support for a platform-independent CPPDEFINES variable. |
| 3973 |
| 3974 From Christoph Wiedemann: |
| 3975 |
| 3976 - Have the g++ Tool actually use g++ in preference to c++. |
| 3977 |
| 3978 - Have the gcc Tool actually use gcc in preference to cc. |
| 3979 |
| 3980 - Add a gnutools.py test of the GNU tool chain. |
| 3981 |
| 3982 - Be smarter about linking: use $CC by default and $CXX only if we're |
| 3983 linking with any C++ objects. |
| 3984 |
| 3985 - Avoid SCons hanging when a piped command has a lot of output to read. |
| 3986 |
| 3987 - Add QT support for preprocessing .ui files into .c files. |
| 3988 |
| 3989 |
| 3990 |
| 3991 RELEASE 0.90 - Wed, 25 Jun 2003 14:24:52 -0500 |
| 3992 |
| 3993 From Chad Austin: |
| 3994 |
| 3995 - Fix the _concat() documentation, and add a test for it. |
| 3996 |
| 3997 - Portability fixes for non-GNU versions of lex and yacc. |
| 3998 |
| 3999 From Matt Balvin: |
| 4000 |
| 4001 - Fix handling of library prefixes when the subdirectory matches |
| 4002 the prefix. |
| 4003 |
| 4004 From Timothee Bessett: |
| 4005 |
| 4006 - Add an M4 Builder. |
| 4007 |
| 4008 From Charles Crain: |
| 4009 |
| 4010 - Use '.lnk' as the suffix on the temporary file for linking long |
| 4011 command lines (necessary for the Phar Lap linkloc linker). |
| 4012 |
| 4013 - Save non-string Options values as their actual type. |
| 4014 |
| 4015 - Save Options string values that contain a single quote correctly. |
| 4016 |
| 4017 - Save any Options values that are changed from the default |
| 4018 Environment values, not just ones changed on the command line or in |
| 4019 an Options file. |
| 4020 |
| 4021 - Make closing the Options file descriptor exception-safe. |
| 4022 |
| 4023 From Steven Knight: |
| 4024 |
| 4025 - SCons now enforces (with an error) that construction variables |
| 4026 must have the same form as valid Python identifiers. |
| 4027 |
| 4028 - Fix man page bugs: remove duplicate AddPostAction() description; |
| 4029 document no_import_lib; mention that CPPFLAGS does not contain |
| 4030 $_CPPINCFLAGS; mention that F77FLAGS does not contain $_F77INCFLAGS; |
| 4031 mention that LINKFLAGS and SHLINKFLAGS contains neither $_LIBFLAGS |
| 4032 nor $_LIBDIRFLAGS. |
| 4033 |
| 4034 - Eliminate a dependency on the distutils.fancy_getopt module by |
| 4035 copying and pasting its wrap_text() function directly. |
| 4036 |
| 4037 - Make the Script.Options() subclass match the underlying base class |
| 4038 implementation. |
| 4039 |
| 4040 - When reporting a target is up to date, quote the target like make |
| 4041 (backquote-quote) instead of with double quotes. |
| 4042 |
| 4043 - Fix handling of ../* targets when using -U, -D or -u. |
| 4044 |
| 4045 From Steve Leblanc: |
| 4046 |
| 4047 - Don't update the .sconsign files when run with -n. |
| 4048 |
| 4049 From Gary Oberbrunner: |
| 4050 |
| 4051 - Add support for the Intel C Compiler (icl.exe). |
| 4052 |
| 4053 From Anthony Roach |
| 4054 |
| 4055 - Fix Import('*'). |
| 4056 |
| 4057 From David Snopek |
| 4058 |
| 4059 - Fix use of SConf in paths with white space in them. |
| 4060 |
| 4061 - Add CheckFunc and CheckType functionality to SConf. |
| 4062 |
| 4063 - Fix use of SConf with Builders that return a list of nodes. |
| 4064 |
| 4065 From David Snopek and Christoph Wiedemann |
| 4066 |
| 4067 - Fix use of the SConf subsystem with SConscriptChdir(). |
| 4068 |
| 4069 From Greg Spencer |
| 4070 |
| 4071 - Check for the existence of MS Visual Studio on disk before using it, |
| 4072 to avoid getting fooled by leftover junk in the registry. |
| 4073 |
| 4074 - Add support for MSVC++ .NET. |
| 4075 |
| 4076 - Add support for MS Visual Studio project files (DSP, DSW, |
| 4077 SLN and VCPROJ files). |
| 4078 |
| 4079 From Christoph Wiedemann |
| 4080 |
| 4081 - SConf now works correctly when the -n and -q options are used. |
| 4082 |
| 4083 |
| 4084 |
| 4085 RELEASE 0.14 - Wed, 21 May 2003 05:16:32 -0500 |
| 4086 |
| 4087 From Chad Austin: |
| 4088 |
| 4089 - Use .dll (not .so) for shared libraries on Cygwin; use -fPIC |
| 4090 when compiling them. |
| 4091 |
| 4092 - Use 'rm' to remove files under Cygwin. |
| 4093 |
| 4094 - Add a PLATFORM variable to construction environments. |
| 4095 |
| 4096 - Remove the "platform" argument from tool specifications. |
| 4097 |
| 4098 - Propogate PYTHONPATH when running the regression tests so distutils |
| 4099 can be found in non-standard locations. |
| 4100 |
| 4101 - Using MSVC long command-line linking when running Cygwin. |
| 4102 |
| 4103 - Portability fixes for a lot of tests. |
| 4104 |
| 4105 - Add a Value Node class for dependencies on in-core Python values. |
| 4106 |
| 4107 From Allen Bierbaum: |
| 4108 |
| 4109 - Pass an Environment to the Options validator method, and |
| 4110 add an Options.Save() method. |
| 4111 |
| 4112 From Steve Christensen: |
| 4113 |
| 4114 - Add an optional sort function argument to the GenerateHelpText() |
| 4115 Options function. |
| 4116 |
| 4117 - Evaluate the "varlist" variables when computing the signature of a |
| 4118 function action. |
| 4119 |
| 4120 From Charles Crain: |
| 4121 |
| 4122 - Parse the source .java files for class names (including inner class |
| 4123 names) to figure out the target .class files that will be created. |
| 4124 |
| 4125 - Make Java support work with Repositories and SConscriptChdir(0). |
| 4126 |
| 4127 - Pass Nodes, not strings, to Builder emitter functions. |
| 4128 |
| 4129 - Refactor command-line interpolation and signature calculation |
| 4130 so we can use real Node attributes. |
| 4131 |
| 4132 From Steven Knight: |
| 4133 |
| 4134 - Add Java support (javac, javah, jar and rmic). |
| 4135 |
| 4136 - Propagate the external SYSTEMROOT environment variable into ENV on |
| 4137 Win32 systems, so external commands that use sockets will work. |
| 4138 |
| 4139 - Add a .posix attribute to PathList expansions. |
| 4140 |
| 4141 - Check out CVS source files using POSIX path names (forward slashes |
| 4142 as separators) even on Win32. |
| 4143 |
| 4144 - Add Node.clear() and Node.FS.Entry.clear() methods to wipe out a |
| 4145 Node's state, allowing it to be re-evaluated by continuous |
| 4146 integration build interfaces. |
| 4147 |
| 4148 - Change the name of the Set{Build,Content}SignatureType() functions |
| 4149 to {Target,Source}Signatures(). Deprecate the old names but support |
| 4150 them for backwards compatibility. |
| 4151 |
| 4152 - Add internal SCons.Node.FS.{Dir,File}.Entry() methods. |
| 4153 |
| 4154 - Interpolate the null string if an out-of-range subscript is used |
| 4155 for a construction variable. |
| 4156 |
| 4157 - Fix the internal Link function so that it properly links or copies |
| 4158 files in subsidiary BuildDir directories. |
| 4159 |
| 4160 - Refactor the internal representation of a single execution instance |
| 4161 of an action to eliminate redundant signature calculations. |
| 4162 |
| 4163 - Eliminate redundant signature calculations for Nodes. |
| 4164 |
| 4165 - Optimize out calling hasattr() before accessing attributes. |
| 4166 |
| 4167 - Say "Cleaning targets" (not "Building...") when the -c option is |
| 4168 used. |
| 4169 |
| 4170 From Damyan Pepper: |
| 4171 |
| 4172 - Quote the "Entering directory" message like Make. |
| 4173 |
| 4174 From Stefan Reichor: |
| 4175 |
| 4176 - Add support for using Ghostscript to convert Postscript to PDF files. |
| 4177 |
| 4178 From Anthony Roach: |
| 4179 |
| 4180 - Add a standalone "Alias" function (separate from an Environment). |
| 4181 |
| 4182 - Make Export() work for local variables. |
| 4183 |
| 4184 - Support passing a dictionary to Export(). |
| 4185 |
| 4186 - Support Import('*') to import everything that's been Export()ed. |
| 4187 |
| 4188 - Fix an undefined exitvalmap on Win32 systems. |
| 4189 |
| 4190 - Support new SetOption() and GetOption() functions for setting |
| 4191 various command-line options from with an SConscript file. |
| 4192 |
| 4193 - Deprecate the old SetJobs() and GetJobs() functions in favor of |
| 4194 using the new generic {Set,Get}Option() functions. |
| 4195 |
| 4196 - Fix a number of tests that searched for a Fortran compiler using the |
| 4197 external PATH instead of what SCons would use. |
| 4198 |
| 4199 - Fix the interaction of SideEffect() and BuildDir() so that (for |
| 4200 example) PDB files get put correctly in a BuildDir(). |
| 4201 |
| 4202 From David Snopek: |
| 4203 |
| 4204 - Contribute the "Autoscons" code for Autoconf-like checking for |
| 4205 the existence of libraries, header files and the like. |
| 4206 |
| 4207 - Have the Tool() function add the tool name to the $TOOLS |
| 4208 construction variable. |
| 4209 |
| 4210 From Greg Spencer: |
| 4211 |
| 4212 - Support the C preprocessor #import statement. |
| 4213 |
| 4214 - Allow the SharedLibrary() Builder on Win32 systems to be able to |
| 4215 register a newly-built dll using regsvr32. |
| 4216 |
| 4217 - Add a Builder for Windows type library (.tlb) files from IDL files. |
| 4218 |
| 4219 - Add an IDL scanner. |
| 4220 |
| 4221 - Refactor the Fortran, C and IDL scanners to share common logic. |
| 4222 |
| 4223 - Add .srcpath and .srcdir attributes to $TARGET and $SOURCE. |
| 4224 |
| 4225 From Christoph Wiedemann: |
| 4226 |
| 4227 - Integrate David Snopek's "Autoscons" code as the new SConf |
| 4228 configuration subsystem, including caching of values between |
| 4229 runs (using normal SCons dependency mechanisms), tests, and |
| 4230 documentation. |
| 4231 |
| 4232 |
| 4233 |
| 4234 RELEASE 0.13 - Mon, 31 Mar 2003 20:22:00 -0600 |
| 4235 |
| 4236 From Charles Crain: |
| 4237 |
| 4238 - Fix a bug when BuildDir(duplicate=0) is used and SConscript |
| 4239 files are called from within other SConscript files. |
| 4240 |
| 4241 - Support (older) versions of Perforce which don't set the Windows |
| 4242 registry. |
| 4243 |
| 4244 |
| 4245 |
| 4246 RELEASE 0.12 - Thu, 27 Mar 2003 23:52:09 -0600 |
| 4247 |
| 4248 From Charles Crain: |
| 4249 |
| 4250 - Added support for the Perforce source code management system. |
| 4251 |
| 4252 - Fix str(Node.FS) so that it returns a path relative to the calling |
| 4253 SConscript file's directory, not the top-level directory. |
| 4254 |
| 4255 - Added support for a separate src_dir argument to SConscript() |
| 4256 that allows explicit specification of where the source files |
| 4257 for an SConscript file can be found. |
| 4258 |
| 4259 - Support more easily re-usable flavors of command generators by |
| 4260 calling callable variables when strings are expanded. |
| 4261 |
| 4262 From Steven Knight: |
| 4263 |
| 4264 - Added an INSTALL construction variable that can be set to a function |
| 4265 to control how the Install() and InstallAs() Builders install files. |
| 4266 The default INSTALL function now copies, not links, files. |
| 4267 |
| 4268 - Remove deprecated features: the "name" argument to Builder objects, |
| 4269 and the Environment.Update() method. |
| 4270 |
| 4271 - Add an Environment.SourceCode() method to support fetching files |
| 4272 from source code systems. Add factory methods that create Builders |
| 4273 to support BitKeeper, CVS, RCS, and SCCS. Add support for fetching |
| 4274 files from RCS or SCCS transparently (like GNU Make). |
| 4275 |
| 4276 - Make the internal to_String() function more efficient. |
| 4277 |
| 4278 - Make the error message the same as other build errors when there's a |
| 4279 problem unlinking a target file in preparation for it being built. |
| 4280 |
| 4281 - Make TARGET, TARGETS, SOURCE and SOURCES reserved variable names and |
| 4282 warn if the user tries to set them in a construction environment. |
| 4283 |
| 4284 - Add support for Tar and Zip files. |
| 4285 |
| 4286 - Better documentation of the different ways to export variables to a |
| 4287 subsidiary SConscript file. Fix documentation bugs in a tools |
| 4288 example, places that still assumed SCons split strings on white |
| 4289 space, and typos. |
| 4290 |
| 4291 - Support fetching arbitrary files from the TARGETS or SOURCES lists |
| 4292 (e.g. ${SOURCES[2]}) when calculating the build signature of a |
| 4293 command. |
| 4294 |
| 4295 - Don't silently swallow exceptions thrown by Scanners (or other |
| 4296 exceptions while finding a node's dependent children). |
| 4297 |
| 4298 - Push files to CacheDir() before calling the superclass built() |
| 4299 method (which may clear the build signature as part of clearing |
| 4300 cached implicit dependencies, if the file has a source scanner). |
| 4301 (Bug reported by Jeff Petkau.) |
| 4302 |
| 4303 - Raise an internal error if we attempt to push a file to CacheDir() |
| 4304 with a build signature of None. |
| 4305 |
| 4306 - Add an explicit Exit() function for terminating early. |
| 4307 |
| 4308 - Change the documentation to correctly describe that the -f option |
| 4309 doesn't change to the directory in which the specified file lives. |
| 4310 |
| 4311 - Support changing directories locally with SConscript directory |
| 4312 path names relative to any SConstruct file specified with -f. |
| 4313 This allows you to build in another directory by simply changing |
| 4314 there and pointing at the SConstruct file in another directory. |
| 4315 |
| 4316 - Change the default SConscriptChdir() behavior to change to the |
| 4317 SConscript directory while it's being read. |
| 4318 |
| 4319 - Fix an exception thrown when the -U option was used with no |
| 4320 Default() target specified. |
| 4321 |
| 4322 - Fix -u so that it builds things in corresponding build directories |
| 4323 when used in a source directory. |
| 4324 |
| 4325 From Lachlan O'Dea: |
| 4326 |
| 4327 - Add SharedObject() support to the masm tool. |
| 4328 |
| 4329 - Fix WhereIs() to return normalized paths. |
| 4330 |
| 4331 From Jeff Petkau: |
| 4332 |
| 4333 - Don't copy a built file to a CacheDir() if it's already there. |
| 4334 |
| 4335 - Avoid partial copies of built files in a CacheDir() by copying |
| 4336 to a temporary file and renaming. |
| 4337 |
| 4338 From Anthony Roach: |
| 4339 |
| 4340 - Fix incorrect dependency-cycle errors when an Aliased source doesn't |
| 4341 exist. |
| 4342 |
| 4343 |
| 4344 |
| 4345 RELEASE 0.11 - Tue, 11 Feb 2003 05:24:33 -0600 |
| 4346 |
| 4347 From Chad Austin: |
| 4348 |
| 4349 - Add support for IRIX and the SGI MIPSPro tool chain. |
| 4350 |
| 4351 - Support using the MSVC tool chain when running Cygwin Python. |
| 4352 |
| 4353 From Michael Cook: |
| 4354 |
| 4355 - Avoid losing signal bits in the exit status from a command, |
| 4356 helping terminate builds on interrupt (CTRL+C). |
| 4357 |
| 4358 From Charles Crain: |
| 4359 |
| 4360 - Added new AddPreAction() and AddPostAction() functions that support |
| 4361 taking additional actions before or after building specific targets. |
| 4362 |
| 4363 - Add support for the PharLap ETS tool chain. |
| 4364 |
| 4365 From Steven Knight: |
| 4366 |
| 4367 - Allow Python function Actions to specify a list of construction |
| 4368 variables that should be included in the Action's signature. |
| 4369 |
| 4370 - Allow libraries in the LIBS variable to explicitly include the prefix |
| 4371 and suffix, even when using the GNU linker. |
| 4372 (Bug reported by Neal Becker.) |
| 4373 |
| 4374 - Use DOS-standard CR-LF line endings in the scons.bat file. |
| 4375 (Bug reported by Gary Ruben.) |
| 4376 |
| 4377 - Doc changes: Eliminate description of deprecated "name" keyword |
| 4378 argument from Builder definition (reported by Gary Ruben). |
| 4379 |
| 4380 - Support using env.Append() on BUILDERS (and other dictionaries). |
| 4381 (Bug reported by Bj=F6rn Bylander.) |
| 4382 |
| 4383 - Setting the BUILDERS construction variable now properly clears |
| 4384 the previous Builder attributes from the construction Environment. |
| 4385 (Bug reported by Bj=F6rn Bylander.) |
| 4386 |
| 4387 - Fix adding a prefix to a file when the target isn't specified. |
| 4388 (Bug reported by Esa Ilari Vuokko.) |
| 4389 |
| 4390 - Clean up error messages from problems duplicating into read-only |
| 4391 BuildDir directories or into read-only files. |
| 4392 |
| 4393 - Add a CommandAction.strfunction() method, and add an "env" argument |
| 4394 to the FunctionAction.strfunction() method, so that all Action |
| 4395 objects have strfunction() methods, and the functions for building |
| 4396 and returning a string both take the same arguments. |
| 4397 |
| 4398 - Add support for new CacheDir() functionality to share derived files |
| 4399 between builds, with related options --cache-disable, --cache-force, |
| 4400 and --cache-show. |
| 4401 |
| 4402 - Change the default behavior when no targets are specified to build |
| 4403 everything in the current directory and below (like Make). This |
| 4404 can be disabled by specifying Default(None) in an SConscript. |
| 4405 |
| 4406 - Revamp SCons installation to fix a case-sensitive installation |
| 4407 on Win32 systems, and to add SCons-specific --standard-lib, |
| 4408 --standalone-lib, and --version-lib options for easier user |
| 4409 control of where the libraries get installed. |
| 4410 |
| 4411 - Fix the ability to directly import and use Platform and Tool modules |
| 4412 that have been implicitly imported into an Environment(). |
| 4413 |
| 4414 - Add support for allowing an embedding interface to annotate a node |
| 4415 when it's created. |
| 4416 |
| 4417 - Extend the SConscript() function to accept build_dir and duplicate |
| 4418 keyword arguments that function like a BuildDir() call. |
| 4419 |
| 4420 From Steve Leblanc: |
| 4421 |
| 4422 - Fix the output of -c -n when directories are involved, so it |
| 4423 matches -c. |
| 4424 |
| 4425 From Anthony Roach: |
| 4426 |
| 4427 - Use a different shared object suffix (.os) when using gcc so shared |
| 4428 and static objects can exist side-by-side in the same directory. |
| 4429 |
| 4430 - Allow the same object files on Win32 to be linked into either |
| 4431 shared or static libraries. |
| 4432 |
| 4433 - Cache implicit cache values when using --implicit-cache. |
| 4434 |
| 4435 |
| 4436 |
| 4437 RELEASE 0.10 - Thu, 16 Jan 2003 04:11:46 -0600 |
| 4438 |
| 4439 From Derrick 'dman' Hudson: |
| 4440 |
| 4441 - Support Repositories on other file systems by symlinking or |
| 4442 copying files when hard linking won't work. |
| 4443 |
| 4444 From Steven Knight: |
| 4445 |
| 4446 - Remove Python bytecode (*.pyc) files from the scons-local packages. |
| 4447 |
| 4448 - Have FunctionActions print a description of what they're doing |
| 4449 (a representation of the Python call). |
| 4450 |
| 4451 - Fix the Install() method so that, like other actions, it prints |
| 4452 what would have happened when the -n option is used. |
| 4453 |
| 4454 - Don't create duplicate source files in a BuildDir when the -n |
| 4455 option is used. |
| 4456 |
| 4457 - Refactor the Scanner interface to eliminate unnecessary Scanner |
| 4458 calls and make it easier to write efficient scanners. |
| 4459 |
| 4460 - Added a "recursive" flag to Scanner creation that specifies the |
| 4461 Scanner should be invoked recursively on dependency files returned |
| 4462 by the scanner. |
| 4463 |
| 4464 - Significant performance improvement from using a more efficient |
| 4465 check, throughout the code, for whether a Node has a Builder. |
| 4466 |
| 4467 - Fix specifying only the source file to MultiStepBuilders such as |
| 4468 the Program Builder. (Bug reported by Dean Bair.) |
| 4469 |
| 4470 - Fix an exception when building from a file with the same basename as |
| 4471 the subdirectory in which it lives. (Bug reported by Gerard Patel.) |
| 4472 |
| 4473 - Fix automatic deduction of a target file name when there are |
| 4474 multiple source files specified; the target is now deduced from just |
| 4475 the first source file in the list. |
| 4476 |
| 4477 - Documentation fixes: better initial explanation of SConscript files; |
| 4478 fix a misformatted "table" in the StaticObject explanation. |
| 4479 |
| 4480 From Steven Knight and Steve Leblanc: |
| 4481 |
| 4482 - Fix the -c option so it will remove symlinks. |
| 4483 |
| 4484 From Steve Leblanc: |
| 4485 |
| 4486 - Add a Clean() method to support removing user-specified targets |
| 4487 when using the -c option. |
| 4488 |
| 4489 - Add a development script for running SCons through PyChecker. |
| 4490 |
| 4491 - Clean up things found by PyChecker (mostly unnecessary imports). |
| 4492 |
| 4493 - Add a script to use HappyDoc to create HTML class documentation. |
| 4494 |
| 4495 From Lachlan O'Dea: |
| 4496 |
| 4497 - Make the Environment.get() method return None by default. |
| 4498 |
| 4499 From Anthony Roach: |
| 4500 |
| 4501 - Add SetJobs() and GetJobs() methods to allow configuration of the |
| 4502 number of default jobs (still overridden by -j). |
| 4503 |
| 4504 - Convert the .sconsign file format from ASCII to a pickled Python |
| 4505 data structure. |
| 4506 |
| 4507 - Error message cleanups: Made consistent the format of error |
| 4508 messages (now all start with "scons: ***") and warning messages (now |
| 4509 all start with "scons: warning:"). Caught more cases with the "Do |
| 4510 not know how to build" error message. |
| 4511 |
| 4512 - Added support for the MinGW tool chain. |
| 4513 |
| 4514 - Added a --debug=includes option. |
| 4515 |
| 4516 |
| 4517 |
| 4518 RELEASE 0.09 - Thu, 5 Dec 2002 04:48:25 -0600 |
| 4519 |
| 4520 From Chad Austin: |
| 4521 |
| 4522 - Add a Prepend() method to Environments, to append values to |
| 4523 the beginning of construction variables. |
| 4524 |
| 4525 From Matt Balvin: |
| 4526 |
| 4527 - Add long command-line support to the "lib" Tool (Microsoft library |
| 4528 archiver), too. |
| 4529 |
| 4530 From Charles Crain: |
| 4531 |
| 4532 - Allow $$ in a string to be passed through as $. |
| 4533 |
| 4534 - Support file names with odd characters in them. |
| 4535 |
| 4536 - Add support for construction variable substition on scanner |
| 4537 directories (in CPPPATH, F77PATH, LIBPATH, etc.). |
| 4538 |
| 4539 From Charles Crain and Steven Knight: |
| 4540 |
| 4541 - Add Repository() functionality, including the -Y option. |
| 4542 |
| 4543 From Steven Knight: |
| 4544 |
| 4545 - Fix auto-deduction of target names so that deduced targets end |
| 4546 up in the same subdirectory as the source. |
| 4547 |
| 4548 - Don't remove source files specified on the command line! |
| 4549 |
| 4550 - Suport the Intel Fortran Compiler (ifl.exe). |
| 4551 |
| 4552 - Supply an error message if there are no command-line or |
| 4553 Default() targets specified. |
| 4554 |
| 4555 - Fix the ASPPCOM values for the GNU assembler. |
| 4556 (Bug reported by Brett Polivka.) |
| 4557 |
| 4558 - Fix an exception thrown when a Default() directory was specified |
| 4559 when using the -U option. |
| 4560 |
| 4561 - Issue a warning when -c can't remove a target. |
| 4562 |
| 4563 - Eliminate unnecessary Scanner calls by checking for the |
| 4564 existence of a file before scanning it. (This adds a generic |
| 4565 hook to check an arbitrary condition before scanning.) |
| 4566 |
| 4567 - Add explicit messages to tell when we're "Reading SConscript files |
| 4568 ...," "done reading SConscript files," "Building targets," and |
| 4569 "done building targets." Add a -Q option to supress these. |
| 4570 |
| 4571 - Add separate $SHOBJPREFIX and $SHOBJSUFFIX construction variables |
| 4572 (by default, the same as $OBJPREFIX and $OBJSUFFIX). |
| 4573 |
| 4574 - Add Make-like error messages when asked to build a source file, |
| 4575 and before trying to build a file that doesn't have all its source |
| 4576 files (including when an invalid drive letter is used on WIN32). |
| 4577 |
| 4578 - Add an scons-local-{version} package (in both .tar.gz and .zip |
| 4579 flavors) to help people who want to ship SCons as a stand-alone |
| 4580 build tool in their software packages. |
| 4581 |
| 4582 - Prevent SCons from unlinking files in certain situations when |
| 4583 the -n option is used. |
| 4584 |
| 4585 - Change the name of Tool/lib.py to Tool/mslib.py. |
| 4586 |
| 4587 From Steven Knight and Anthony Roach: |
| 4588 |
| 4589 - Man page: document the fact that Builder calls return Node objects. |
| 4590 |
| 4591 From Steve LeBlanc: |
| 4592 |
| 4593 - Refactor option processing to use our own version of Greg Ward's |
| 4594 Optik module, modified to run under Python 1.5.2. |
| 4595 |
| 4596 - Add a ParseConfig() command to modify an environment based on |
| 4597 parsing output from a *-config command. |
| 4598 |
| 4599 From Jeff Petkau: |
| 4600 |
| 4601 - Fix interpretation of '#/../foo' on Win32 systems. |
| 4602 |
| 4603 From Anthony Roach: |
| 4604 |
| 4605 - Fixed use of command lines with spaces in their arguments, |
| 4606 and use of Nodes with spaces in their string representation. |
| 4607 |
| 4608 - Make access and modification times of files in a BuildDir match |
| 4609 the source file, even when hard linking isn't available. |
| 4610 |
| 4611 - Make -U be case insensitive on Win32 systems. |
| 4612 |
| 4613 - Issue a warning and continue when finding a corrupt .sconsign file. |
| 4614 |
| 4615 - Fix using an alias as a dependency of a target so that if one of the |
| 4616 alias' dependencies gets rebuilt, the resulting target will, too. |
| 4617 |
| 4618 - Fix differently ordered targets causing unnecessary rebuilds |
| 4619 on case insensitive systems. |
| 4620 |
| 4621 - Use os.system() to execute external commands whenever the "env" |
| 4622 utility is available, which is much faster than fork()/exec(), |
| 4623 and fixes the -j option on several platforms. |
| 4624 |
| 4625 - Fix use of -j with multiple targets. |
| 4626 |
| 4627 - Add an Options() object for friendlier accomodation of command- |
| 4628 line arguments. |
| 4629 |
| 4630 - Add support for Microsoft VC++ precompiled header (.pch) files, |
| 4631 debugger (.pdb) files, and resource (.rc) files. |
| 4632 |
| 4633 - Don't compute the $_CPPINCFLAGS, $_F77INCFLAGS, $_LIBFLAGS and |
| 4634 $_LIBDIRFLAGS variables each time a command is executed, define |
| 4635 them so they're computed only as needed. Add a new _concat |
| 4636 function to the Environment that allows people to define their |
| 4637 own similar variables. |
| 4638 |
| 4639 - Fix dependency scans when $LIBS is overridden. |
| 4640 |
| 4641 - Add EnsurePythonVersion() and EnsureSConsVersion() functions. |
| 4642 |
| 4643 - Fix the overly-verbose stack trace on ListBuilder build errors. |
| 4644 |
| 4645 - Add a SetContentSignatureType() function, allowing use of file |
| 4646 timestamps instead of MD5 signatures. |
| 4647 |
| 4648 - Make -U and Default('source') fail gracefully. |
| 4649 |
| 4650 - Allow the File() and Dir() methods to take a path-name string as |
| 4651 the starting directory, in addition to a Dir object. |
| 4652 |
| 4653 - Allow the command handler to be selected via the SPAWN, SHELL |
| 4654 and ESCAPE construction variables. |
| 4655 |
| 4656 - Allow construction variables to be overridden when a Builder |
| 4657 is called. |
| 4658 |
| 4659 From sam th: |
| 4660 |
| 4661 - Dynamically check for the existence of utilities with which to |
| 4662 initialize Environments by default. |
| 4663 |
| 4664 |
| 4665 |
| 4666 RELEASE 0.08 - Mon, 15 Jul 2002 12:08:51 -0500 |
| 4667 |
| 4668 From Charles Crain: |
| 4669 |
| 4670 - Fixed a bug with relative CPPPATH dirs when using BuildDir(). |
| 4671 (Bug reported by Bob Summerwill.) |
| 4672 |
| 4673 - Added a warnings framework and a --warn option to enable or |
| 4674 disable warnings. |
| 4675 |
| 4676 - Make the C scanner warn users if files referenced by #include |
| 4677 directives cannot be found and --warn=dependency is specified. |
| 4678 |
| 4679 - The BUILDERS construction variable should now be a dictionary |
| 4680 that maps builder names to actions. Existing uses of lists, |
| 4681 and the Builder name= keyword argument, generate warnings |
| 4682 about use of deprecated features. |
| 4683 |
| 4684 - Removed the "shared" keyword argument from the Object and |
| 4685 Library builders. |
| 4686 |
| 4687 - Added separated StaticObject, SharedObject, StaticLibrary and |
| 4688 SharedLibrary builders. Made Object and Library synonyms for |
| 4689 StaticObject and StaticLibrary, respectively. |
| 4690 |
| 4691 - Add LIBS and LIBPATH dependencies for shared libraries. |
| 4692 |
| 4693 - Removed support for the prefix, suffix and src_suffix arguments |
| 4694 to Builder() to be callable functions. |
| 4695 |
| 4696 - Fix handling file names with multiple dots. |
| 4697 |
| 4698 - Allow a build directory to be outside of the SConstruct tree. |
| 4699 |
| 4700 - Add a FindFile() function that searches for a file node with a |
| 4701 specified name. |
| 4702 |
| 4703 - Add $CPPFLAGS to the shared-object command lines for g++ and gcc. |
| 4704 |
| 4705 From Charles Crain and Steven Knight: |
| 4706 |
| 4707 - Add a "tools=" keyword argument to Environment instantiation, |
| 4708 and a separate Tools() method, for more flexible specification |
| 4709 of tool-specific environment changes. |
| 4710 |
| 4711 From Steven Knight: |
| 4712 |
| 4713 - Add a "platform=" keyword argument to Environment instantiation, |
| 4714 and a separate Platform() method, for more flexible specification |
| 4715 of platform-specific environment changes. |
| 4716 |
| 4717 - Updated README instructions and setup.py code to catch an |
| 4718 installation failure from not having distutils installed. |
| 4719 |
| 4720 - Add descriptions to the -H help text for -D, -u and -U so |
| 4721 people can tell them apart. |
| 4722 |
| 4723 - Remove the old feature of automatically splitting strings |
| 4724 of file names on white space. |
| 4725 |
| 4726 - Add a dependency Scanner for native Fortran "include" statements, |
| 4727 using a new "F77PATH" construction variable. |
| 4728 |
| 4729 - Fix C #include scanning to detect file names with characters like |
| 4730 '-' in them. |
| 4731 |
| 4732 - Add more specific version / build output to the -v option. |
| 4733 |
| 4734 - Add support for the GNU as, Microsoft masm, and nasm assemblers. |
| 4735 |
| 4736 - Allow the "target" argument to a Builder call to be omitted, in |
| 4737 which case the target(s) are deduced from the source file(s) and the |
| 4738 Builder's specified suffix. |
| 4739 |
| 4740 - Add a tar archive builder. |
| 4741 |
| 4742 - Add preliminary support for the OS/2 Platform, including the icc |
| 4743 and ilink Tools. |
| 4744 |
| 4745 From Jeff Petkau: |
| 4746 |
| 4747 - Fix --implicit-cache if the scanner returns an empty list. |
| 4748 |
| 4749 From Anthony Roach: |
| 4750 |
| 4751 - Add a "multi" keyword argument to Builder creation that specifies |
| 4752 it's okay to call the builder multiple times for a target. |
| 4753 |
| 4754 - Set a "multi" on Aliases so multiple calls will append to an Alias. |
| 4755 |
| 4756 - Fix emitter functions' use of path names when using BuildDir or |
| 4757 in subdirectories. |
| 4758 |
| 4759 - Fix --implicit-cache causing redundant rebuilds when the header |
| 4760 file list changed. |
| 4761 |
| 4762 - Fix --implicit-cache when a file has no implicit dependencies and |
| 4763 its source is generated. |
| 4764 |
| 4765 - Make the drive letters on Windows always be the same case, so that |
| 4766 changes in the case of drive letters don't cause a rebuild. |
| 4767 |
| 4768 - Fall back to importing the SCons.TimeStamp module if the SCons.MD5 |
| 4769 module can't be imported. |
| 4770 |
| 4771 - Fix interrupt handling to guarantee that a single interrupt will |
| 4772 halt SCons both when using -j and not. |
| 4773 |
| 4774 - Fix .sconsign signature storage so that output files of one build |
| 4775 can be safely used as input files to another build. |
| 4776 |
| 4777 - Added a --debug=time option to print SCons execution times. |
| 4778 |
| 4779 - Print an error message if a file can't be unlinked before being |
| 4780 built, rather than just silently terminating the build. |
| 4781 |
| 4782 - Add a SideEffect() method that can be used to tell the build |
| 4783 engine that a given file is created as a side effect of building |
| 4784 a target. A file can be specified as a side effect of more than |
| 4785 one build comand, in which case the commands will not be executed |
| 4786 simultaneously. |
| 4787 |
| 4788 - Significant performance gains from not using our own version of |
| 4789 the inefficient stock os.path.splitext() method, caching source |
| 4790 suffix computation, code cleanup in MultiStepBuilder.__call__(), |
| 4791 and replicating some logic in scons_subst(). |
| 4792 |
| 4793 - Add --implicit-deps-changed and --implicit-deps-unchanged options. |
| 4794 |
| 4795 - Add a GetLaunchDir() function. |
| 4796 |
| 4797 - Add a SetBuildSignatureType() function. |
| 4798 |
| 4799 From Zed Shaw: |
| 4800 |
| 4801 - Add an Append() method to Environments, to append values to |
| 4802 construction variables. |
| 4803 |
| 4804 - Change the name of Update() to Replace(). Keep Update() as a |
| 4805 deprecated synonym, at least for now. |
| 4806 |
| 4807 From Terrel Shumway: |
| 4808 |
| 4809 - Use a $PYTHON construction variable, initialized to sys.executable, |
| 4810 when using Python to build parts of the SCons packages. |
| 4811 |
| 4812 - Use sys.prefix, not sys.exec_prefix, to find pdb.py. |
| 4813 |
| 4814 |
| 4815 |
| 4816 RELEASE 0.07 - Thu, 2 May 2002 13:37:16 -0500 |
| 4817 |
| 4818 From Chad Austin: |
| 4819 |
| 4820 - Changes to build SCons packages on IRIX (and other *NIces). |
| 4821 |
| 4822 - Don't create a directory Node when a file already exists there, |
| 4823 and vice versa. |
| 4824 |
| 4825 - Add 'dirs' and 'names' keyword arguments to SConscript for |
| 4826 easier specification of subsidiary SConscript files. |
| 4827 |
| 4828 From Charles Crain: |
| 4829 |
| 4830 - Internal cleanup of environment passing to function Actions. |
| 4831 |
| 4832 - Builders can now take arbitrary keyword arguments to create |
| 4833 attributes to be passed to: command generator functions, |
| 4834 FunctionAction functions, Builder emitter functions (below), |
| 4835 and prefix/suffix generator functions (below). |
| 4836 |
| 4837 - Command generator functions can now return ANYTHING that can be |
| 4838 converted into an Action (a function, a string, a CommandGenerator |
| 4839 instance, even an ActionBase instance). |
| 4840 |
| 4841 - Actions now call get_contents() with the actual target and source |
| 4842 nodes used for the build. |
| 4843 |
| 4844 - A new DictCmdGenerator class replaces CompositeBuilder to support |
| 4845 more flexible Builder behavior internally. |
| 4846 |
| 4847 - Builders can now take an emitter= keyword argument. An emitter |
| 4848 is a function that takes target, source, and env argument, then |
| 4849 return a 2-tuple of (new sources, new targets). The emitter is |
| 4850 called when the Builder is __call__'ed, allowing a user to modify |
| 4851 source and target lists. |
| 4852 |
| 4853 - The prefix, suffix and src_suffix Builder arguments now take a |
| 4854 callable as well a string. The callable is passed the Environment |
| 4855 and any extra Builder keyword arguments and is expected to return |
| 4856 the appropriate prefix or suffix. |
| 4857 |
| 4858 - CommandActions can now be a string, a list of command + argument |
| 4859 strings, or a list of commands (strings or lists). |
| 4860 |
| 4861 - Added shared library support. The Object and Library Builders now |
| 4862 take a "shared=1" keyword argument to specify that a shared object |
| 4863 or shared library should be built. It is an error to try to build |
| 4864 static objects into a shared library or vice versa. |
| 4865 |
| 4866 - Win32 support for .def files has been added. Added the Win32-specific |
| 4867 construction variables $WIN32DEFPREFIX, $WIN32DEFSUFFIX, |
| 4868 $WIN32DLLPREFIX and $WIN32IMPLIBPREFIX. When building a .dll, |
| 4869 the new construction variable $WIN32_INSERT_DEF, controls whether |
| 4870 the appropriately-named .def file is inserted into the target |
| 4871 list (if not already present). A .lib file is always added to |
| 4872 a Library build if not present in the list of targets. |
| 4873 |
| 4874 - ListBuilder now passes all targets to the action, not just the first. |
| 4875 |
| 4876 - Fix so that -c now deletes generated yacc .h files. |
| 4877 |
| 4878 - Builder actions and emitter functions can now be initialized, through |
| 4879 construction variables, to things other than strings. |
| 4880 |
| 4881 - Make top-relative '#/dir' lookups work like '#dir'. |
| 4882 |
| 4883 - Fix for relative CPPPATH directories in subsidiary SConscript files |
| 4884 (broken in 0.06). |
| 4885 |
| 4886 - Add a for_signature argument to command generators, so that |
| 4887 generators that need to can return distinct values for the |
| 4888 command signature and for executing the command. |
| 4889 |
| 4890 From Alex Jacques: |
| 4891 |
| 4892 - Create a better scons.bat file from a py2bat.py script on the Python |
| 4893 mailing list two years ago (modeled after pl2bat.pl). |
| 4894 |
| 4895 From Steven Knight: |
| 4896 |
| 4897 - Fix so that -c -n does *not* remove the targets! |
| 4898 |
| 4899 - Man page: Add a hierarchical libraries + Program example. |
| 4900 |
| 4901 - Support long MSVC linker command lines through a builder action |
| 4902 that writes to a temporary file and uses the magic MSVC "link @file" |
| 4903 argument syntax if the line is longer than 2K characters. |
| 4904 |
| 4905 - Fix F77 command-line options on Win32 (use /Fo instead of -o). |
| 4906 |
| 4907 - Use the same action to build from .c (lower case) and .C (upper |
| 4908 case) files on case-insensitive systems like Win32. |
| 4909 |
| 4910 - Support building a PDF file directly from a TeX or LaTeX file |
| 4911 using pdftex or pdflatex. |
| 4912 |
| 4913 - Add a -x option to runtest.py to specify the script being tested. |
| 4914 A -X option indicates it's an executable, not a script to feed |
| 4915 to the Python interpreter. |
| 4916 |
| 4917 - Add a Split() function (identical to SCons.Util.argmunge()) for use |
| 4918 in the next release, when Builders will no longer automatically split |
| 4919 strings on white space. |
| 4920 |
| 4921 From Steve Leblanc: |
| 4922 |
| 4923 - Add the SConscriptChdir() method. |
| 4924 |
| 4925 From Anthony Roach: |
| 4926 |
| 4927 - Fix --debug=tree when used with directory targets. |
| 4928 |
| 4929 - Significant internal restructuring of Scanners and Taskmaster. |
| 4930 |
| 4931 - Added new --debug=dtree option. |
| 4932 |
| 4933 - Fixes for --profile option. |
| 4934 |
| 4935 - Performance improvement in construction variable substitution. |
| 4936 |
| 4937 - Implemented caching of content signatures, plus added --max-drift |
| 4938 option to control caching. |
| 4939 |
| 4940 - Implemented caching of dependency signatures, enabled by new |
| 4941 --implicit-cache option. |
| 4942 |
| 4943 - Added abspath construction variable modifier. |
| 4944 |
| 4945 - Added $SOURCE variable as a synonym for $SOURCES[0]. |
| 4946 |
| 4947 - Write out .sconsign files on error or interrupt so intermediate |
| 4948 build results are saved. |
| 4949 |
| 4950 - Change the -U option to -D. Make a new -U that builds just the |
| 4951 targets from the local SConscript file. |
| 4952 |
| 4953 - Fixed use of sys.path so Python modules can be imported from |
| 4954 the SConscript directory. |
| 4955 |
| 4956 - Fix for using Aliases with the -u, -U and -D options. |
| 4957 |
| 4958 - Fix so that Nodes can be passed to SConscript files. |
| 4959 |
| 4960 From Moshe Zadka: |
| 4961 |
| 4962 - Changes for official Debian packaging. |
| 4963 |
| 4964 |
| 4965 |
| 4966 RELEASE 0.06 - Thu, 28 Mar 2002 01:24:29 -0600 |
| 4967 |
| 4968 From Charles Crain: |
| 4969 |
| 4970 - Fix command generators to expand construction variables. |
| 4971 |
| 4972 - Make FunctionAction arguments be Nodes, not strings. |
| 4973 |
| 4974 From Stephen Kennedy: |
| 4975 |
| 4976 - Performance: Use a dictionary, not a list, for a Node's parents. |
| 4977 |
| 4978 From Steven Knight: |
| 4979 |
| 4980 - Add .zip files to the packages we build. |
| 4981 |
| 4982 - Man page: document LIBS, fix a typo, document ARGUMENTS. |
| 4983 |
| 4984 - Added RANLIB and RANLIBFLAGS construction variables. Only use them |
| 4985 in ARCOM if there's a "ranlib" program on the system. |
| 4986 |
| 4987 - Add a configurable CFILESUFFIX for the Builder of .l and .y files |
| 4988 into C files. |
| 4989 |
| 4990 - Add a CXXFile Builder that turns .ll and .yy files into .cc files |
| 4991 (configurable via a CXXFILESUFFIX construction variable). |
| 4992 |
| 4993 - Use the POSIX-standard lex -t flag, not the GNU-specific -o flag. |
| 4994 (Bug reported by Russell Christensen.) |
| 4995 |
| 4996 - Fixed an exception when CPPPATH or LIBPATH is a null string. |
| 4997 (Bug reported by Richard Kiss.) |
| 4998 |
| 4999 - Add a --profile=FILE option to make profiling SCons easier. |
| 5000 |
| 5001 - Modify the new DVI builder to create .dvi files from LaTeX (.ltx |
| 5002 and .latex) files. |
| 5003 |
| 5004 - Add support for Aliases (phony targets). |
| 5005 |
| 5006 - Add a WhereIs() method for searching for path names to executables. |
| 5007 |
| 5008 - Add PDF and PostScript document builders. |
| 5009 |
| 5010 - Add support for compiling Fortran programs from a variety of |
| 5011 suffixes (a la GNU Make): .f, .F, .for, .FOR, .fpp and .FPP |
| 5012 |
| 5013 - Support a CPPFLAGS variable on all default commands that use the |
| 5014 C preprocessor. |
| 5015 |
| 5016 From Steve Leblanc: |
| 5017 |
| 5018 - Add support for the -U option. |
| 5019 |
| 5020 - Allow CPPPATH, LIBPATH and LIBS to be specified as white-space |
| 5021 separated strings. |
| 5022 |
| 5023 - Add a document builder to create .dvi files from TeX (.tex) files. |
| 5024 |
| 5025 From Anthony Roach: |
| 5026 |
| 5027 - Fix: Construction variables with values of 0 were incorrectly |
| 5028 interpolated as ''. |
| 5029 |
| 5030 - Support env['VAR'] to fetch construction variable values. |
| 5031 |
| 5032 - Man page: document Precious(). |
| 5033 |
| 5034 |
| 5035 |
| 5036 RELEASE 0.05 - Thu, 21 Feb 2002 16:50:03 -0600 |
| 5037 |
| 5038 From Chad Austin: |
| 5039 |
| 5040 - Set PROGSUFFIX to .exe under Cygwin. |
| 5041 |
| 5042 From Charles Crain: |
| 5043 |
| 5044 - Allow a library to specified as a command-line source file, not just |
| 5045 in the LIBS construction variable. |
| 5046 |
| 5047 - Compensate for a bug in os.path.normpath() that returns '' for './' |
| 5048 on WIN32. |
| 5049 |
| 5050 - More performance optimizations: cache #include lines from files, |
| 5051 eliminate unnecessary calls. |
| 5052 |
| 5053 - If a prefix or suffix contains white space, treat the resulting |
| 5054 concatenation as separate arguments. |
| 5055 |
| 5056 - Fix irregularities in the way we fetch DevStudio information from |
| 5057 the Windows registry, and in our registry error handling. |
| 5058 |
| 5059 From Steven Knight: |
| 5060 |
| 5061 - Flush stdout after print so it intermixes correctly with stderr |
| 5062 when redirected. |
| 5063 |
| 5064 - Allow Scanners to return a list of strings, and document how to |
| 5065 write your own Scanners. |
| 5066 |
| 5067 - Look up implicit (scanned) dependencies relative to the directory |
| 5068 of file being scanned. |
| 5069 |
| 5070 - Make writing .sconsign files more robust by first trying to write |
| 5071 to a temp file that gets renamed. |
| 5072 |
| 5073 - Create all of the directories for a list of targets before trying |
| 5074 to build any of the targets. |
| 5075 |
| 5076 - WIN32 portability fixes in tests. |
| 5077 |
| 5078 - Allow the list of variables exported to an SConscript file to be |
| 5079 a UserList, too. |
| 5080 |
| 5081 - Document the overlooked LIBPATH construction variable. |
| 5082 (Bug reported by Eicke Godehardt.) |
| 5083 |
| 5084 - Fix so that Ignore() ignores indirect, implicit dependencies |
| 5085 (included files), not just direct dependencies. |
| 5086 |
| 5087 - Put the man page in the Debian distribution. |
| 5088 |
| 5089 - Run HTML docs through tidy to clean up the HTML (for Konqueror). |
| 5090 |
| 5091 - Add preliminary support for Unicode strings. |
| 5092 |
| 5093 - Efficiency: don't scan dependencies more than once during the |
| 5094 walk of a tree. |
| 5095 |
| 5096 - Fix the -c option so it doesn't stop removing targets if one doesn't |
| 5097 already exist. |
| 5098 (Bug reported by Paul Connell.) |
| 5099 |
| 5100 - Fix the --debug=pdb option when run on Windows NT. |
| 5101 (Bug reported by Paul Connell.) |
| 5102 |
| 5103 - Add support for the -q option. |
| 5104 |
| 5105 From Steve Leblanc: |
| 5106 |
| 5107 - Add support for the -u option. |
| 5108 |
| 5109 - Add .cc and .hh file suffixes to the C Scanner. |
| 5110 |
| 5111 From Anthony Roach: |
| 5112 |
| 5113 - Make the scons script return an error code on failures. |
| 5114 |
| 5115 - Add support for using code to generate a command to build a target. |
| 5116 |
| 5117 |
| 5118 |
| 5119 RELEASE 0.04 - Wed, 30 Jan 2002 11:09:42 -0600 |
| 5120 |
| 5121 From Charles Crain: |
| 5122 |
| 5123 - Significant performance improvements in the Node.FS and |
| 5124 Scanner subsystems. |
| 5125 |
| 5126 - Fix signatures of binary files on Win32 systems. |
| 5127 |
| 5128 - Allow LIBS and LIBPATH to be strings, not just arrays. |
| 5129 |
| 5130 - Print a traceback if a Python-function builder throws an exception. |
| 5131 |
| 5132 From Steven Knight: |
| 5133 |
| 5134 - Fix using a directory as a Default(), and allow Default() to |
| 5135 support white space in file names for strings in arrays. |
| 5136 |
| 5137 - Man page updates: corrected some mistakes, documented various |
| 5138 missing Environment methods, alphabetized the construction |
| 5139 variables and other functions, defined begin and end macros for |
| 5140 the example sections, regularized white space separation, fixed |
| 5141 the use of Export() in the Multiple Variants example. |
| 5142 |
| 5143 - Function action fixes: None is now a successful return value. |
| 5144 Exceptions are now reported. Document function actions. |
| 5145 |
| 5146 - Add 'Action' and 'Scanner' to the global keywords so SConscript |
| 5147 files can use them too. |
| 5148 |
| 5149 - Removed the Wrapper class between Nodes and Walkers. |
| 5150 |
| 5151 - Add examples using Library, LIBS, and LIBPATH. |
| 5152 |
| 5153 - The C Scanner now always returns a sorted list of dependencies |
| 5154 so order changes don't cause unnecessary rebuilds. |
| 5155 |
| 5156 - Strip $(-$) bracketed text from command lines. Use this to |
| 5157 surround $_INCDIRS and $_LIBDIRS so we don't rebuild in response |
| 5158 to changes to -I or -L options. |
| 5159 |
| 5160 - Add the Ignore() method to ignore dependencies. |
| 5161 |
| 5162 - Provide an error message when a nonexistent target is specified |
| 5163 on the command line. |
| 5164 |
| 5165 - Remove targets before building them, and add an Environment |
| 5166 Precious() method to override that. |
| 5167 |
| 5168 - Eliminate redundant calls to the same builder when the target is a |
| 5169 list of targets: Add a ListBuilder class that wraps Builders to |
| 5170 handle lists atomically. Extend the Task class to support building |
| 5171 and updating multiple targets in a single Task. Simplify the |
| 5172 interface between Task and Taskmaster. |
| 5173 |
| 5174 - Add a --debug=pdb option to re-run SCons under the Python debugger. |
| 5175 |
| 5176 - Only compute a build signature once for each node. |
| 5177 |
| 5178 - Changes to our sys.path[] manipulation to support installation into |
| 5179 an arbitrary --prefix value. |
| 5180 |
| 5181 From Steve Leblanc: |
| 5182 |
| 5183 - Add var=value command-line arguments. |
| 5184 |
| 5185 |
| 5186 |
| 5187 RELEASE 0.03 - Fri, 11 Jan 2002 01:09:30 -0600 |
| 5188 |
| 5189 From Charles Crain: |
| 5190 |
| 5191 - Performance improvements in the Node.FS and Sig.Calculator classes. |
| 5192 |
| 5193 - Add the InstallAs() method. |
| 5194 |
| 5195 - Execute commands through an external interpreter (sh, cmd.exe, or |
| 5196 command.com) to handle redirection metacharacters. |
| 5197 |
| 5198 - Allow the user to supply a command handler. |
| 5199 |
| 5200 From Steven Knight: |
| 5201 |
| 5202 - Search both /usr/lib and /usr/local/lib for scons directories by |
| 5203 adding them both to sys.path, with whichever is in sys.prefix first. |
| 5204 |
| 5205 - Fix interpreting strings of multiple white-space separated file names |
| 5206 as separate file names, allowing prefixes and suffixes to be appended |
| 5207 to each individually. |
| 5208 |
| 5209 - Refactor to move CompositeBuilder initialization logic from the |
| 5210 factory wrapper to the __init__() method, and allow a Builder to |
| 5211 have both an action and a src_builder (or array of them). |
| 5212 |
| 5213 - Refactor BuilderBase.__call__() to separate Node creation/lookup |
| 5214 from initialization of the Node's builder information. |
| 5215 |
| 5216 - Add a CFile Builder object that supports turning lex (.l) and |
| 5217 yacc (.y) files into .c files. |
| 5218 |
| 5219 - Document: variable interpretation attributes; how to propogate |
| 5220 the user's environment variables to executed commands; how to |
| 5221 build variants in multiple BuildDirs. |
| 5222 |
| 5223 - Collect String, Dict, and List type-checking in common utility |
| 5224 routines so we can accept User{String,Dict,List}s all over. |
| 5225 |
| 5226 - Put the Action factory and classes into their own module. |
| 5227 |
| 5228 - Use one CPlusPlusAction in the Object Builder's action dictionary, |
| 5229 instead of letting it create multiple identical instances. |
| 5230 |
| 5231 - Document the Install() and InstallAs() methods. |
| 5232 |
| 5233 From Steve Leblanc: |
| 5234 |
| 5235 - Require that a Builder be given a name argument, supplying a |
| 5236 useful error message when it isn't. |
| 5237 |
| 5238 From Anthony Roach: |
| 5239 |
| 5240 - Add a "duplicate" keyword argument to BuildDir() that can be set |
| 5241 to prevent linking/copying source files into build directories. |
| 5242 |
| 5243 - Add a "--debug=tree" option to print an ASCII dependency tree. |
| 5244 |
| 5245 - Fetch the location of the Microsoft Visual C++ compiler(s) from |
| 5246 the Registry, instead of hard-coding the location. |
| 5247 |
| 5248 - Made Scanner objects take Nodes, not path names. |
| 5249 |
| 5250 - Have the C Scanner cache the #include file names instead of |
| 5251 (re-)scanning the file each time it's called. |
| 5252 |
| 5253 - Created a separate class for parent "nodes" of file system roots, |
| 5254 eliminating the need for separate is-parent-null checks everywhere. |
| 5255 |
| 5256 - Removed defined __hash__() and __cmp() methods from FS.Entry, in |
| 5257 favor of Python's more efficient built-in identity comparisons. |
| 5258 |
| 5259 |
| 5260 |
| 5261 RELEASE 0.02 - Sun, 23 Dec 2001 19:05:09 -0600 |
| 5262 |
| 5263 From Charles Crain: |
| 5264 |
| 5265 - Added the Install(), BuildDir(), and Export() methods. |
| 5266 |
| 5267 - Fix the -C option by delaying setting the top of the FS tree. |
| 5268 |
| 5269 - Avoid putting the directory path on the libraries in the LIBS |
| 5270 construction variable. |
| 5271 |
| 5272 - Added a GetBuildPath() method to return the full path to the |
| 5273 Node for a specified string. |
| 5274 |
| 5275 - Fixed variable substitution in CPPPATH and LIBPATH. |
| 5276 |
| 5277 From Steven Knight: |
| 5278 |
| 5279 - Fixed the version comment in the scons.bat (the UNIX geek used |
| 5280 # instead of @rem). |
| 5281 |
| 5282 - Fix to setup.py so it doesn't require a sys.argv[1] argument. |
| 5283 |
| 5284 - Provide make-like warning message for "command not found" and |
| 5285 similar errors. |
| 5286 |
| 5287 - Added an EXAMPLES section to the man page. |
| 5288 |
| 5289 - Make Default() targets properly relative to their SConscript |
| 5290 file's subdirectory. |
| 5291 |
| 5292 From Anthony Roach: |
| 5293 |
| 5294 - Documented CXXFLAGS, CXXCOM, and CPPPATH. |
| 5295 |
| 5296 - Fixed SCONS_LIB_DIR to work as documented. |
| 5297 |
| 5298 - Made Default() accept Nodes as arguments. |
| 5299 |
| 5300 - Changed Export() to make it easier to use. |
| 5301 |
| 5302 - Added the Import() and Return() methods. |
| 5303 |
| 5304 |
| 5305 |
| 5306 RELEASE 0.01 - Thu Dec 13 19:25:23 CST 2001 |
| 5307 |
| 5308 A brief overview of important functionality available in release 0.01: |
| 5309 |
| 5310 - C and C++ compilation on POSIX and Windows NT. |
| 5311 |
| 5312 - Automatic scanning of C/C++ source files for #include dependencies. |
| 5313 |
| 5314 - Support for building libraries; setting construction variables |
| 5315 allows creation of shared libraries. |
| 5316 |
| 5317 - Library and C preprocessor search paths. |
| 5318 |
| 5319 - File changes detected using MD5 signatures. |
| 5320 |
| 5321 - User-definable Builder objects for building files. |
| 5322 |
| 5323 - User-definable Scanner objects for scanning for dependencies. |
| 5324 |
| 5325 - Parallel build (-j) support. |
| 5326 |
| 5327 - Dependency cycles detected. |
| 5328 |
| 5329 - Linux packages available in RPM and Debian format. |
| 5330 |
| 5331 - Windows installer available. |
| 5332 |
| 5333 Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCo
ns Foundation |
| 5334 src/CHANGES.txt 5134 2010/08/16 23:02:40 bdeegan |
OLD | NEW |