Waf Changelog

What's new in Waf 1.6.11

Feb 9, 2012
  • Enable custom variables for the boost detection #1089
  • Disable the config test execution when detecting boost #1090
  • Process moc classes in .cpp files by default #1095
  • Apply the chmod attribute to the versioned libraries (vnum) #1097
  • Fixed the python detection on OSX #1098
  • Changed the win32 color settings for Windows 7 #1099
  • Set the default fortran linker for ifort to xiar #1104

New in Waf 1.6.7 (Aug 13, 2011)

  • Provide more diagnostic for invalid build groups #914
  • Various enhancements to msvs.py
  • Read MSVC_VERSIONS and MSVC_TARGETS from the command-line
  • Minor cross-compiler detection fix on msvc.py
  • Fix the redirections with pipes (waf configure > log)
  • Do not display runnable_status exceptions when running with -k
  • Let -k stop at the first runnable_status error and -kk run even further
  • Merge the add_object extension in the main line (source='file.o')
  • Make update_outputs more robust with changes in the task definition #101

New in Waf 1.6.6 (Jun 16, 2011)

  • Fixed the performance regression related to #974

New in Waf 1.6.5 (Jun 13, 2011)

  • More documentation
  • Re-enable the colors for msys
  • Add the .ui files for the qt4 translations
  • Fix the conf.check_large_file() test
  • Fix the conf.check_library() in C++ mode #955
  • Improve the latex scanner to avoid depending on generated files #943
  • Remove the @file processing from the winrc tasks
  • Fix the python detection using python-config
  • Add the missing default includes and defines to the moc command
  • Improve support for hierarchical go-lang packages #953
  • Fix the gfortran verbose flag detection on Windows
  • Fix the support of fortran import libraries #950
  • Added a fix for running with Python 2.4 on Windows #949
  • Limited support for IronPython
  • Support for older Visual Studio versions (VC6) #952
  • New waf.bat file #964
  • New method ConfigSet.keys
  • New Visual Studio and Eclipse CTD project generators (waflib/extras)
  • New lru_cache tool for use with WAFCACHE (waflib/extras)
  • SHA1 Checksum:

New in Waf 1.6.5 p2 (Jun 6, 2011)

  • Re-enable the colors for msys
  • Add the .ui files for the qt4 translations
  • Fix the conf.check_large_file() test
  • Fix the conf.check_library() in C++ mode #955
  • Improve the latex scanner to avoid depending on generated files #943
  • Remove the @file processing from the winrc tasks
  • Fix the python detection using python-config
  • Add the missing default includes and defines to the moc command
  • Improve support for hierarchical go-lang packages #953
  • Fix the gfortran verbose flag detection on Windows
  • Fix the support of fortran import libraries #950
  • Added a fix for running with Python 2.4 on Windows #949
  • Limited support for IronPython
  • Support for older Visual Studio versions (VC6) #952
  • New method ConfigSet.keys

New in Waf 1.6.5 (May 23, 2011)

  • Re-enable the colors for msys
  • Add the .ui files for the qt4 translations
  • Fix the conf.check_large_file() test
  • Fix the conf.check_library() in C++ mode #955
  • Improve the latex scanner to avoid depending on generated files #943
  • Remove the @file processing from the winrc tasks
  • Fix the python detection using python-config
  • Add the missing default includes and defines to the moc command
  • Improve support for hierarchical go-lang packages #953
  • Fix the gfortran verbose flag detection on Windows
  • Fix the support of fortran import libraries #950
  • Support for IronPython

New in Waf 1.6.3 (Feb 1, 2011)

  • Fixed the interaction of Fortran configuration tests and WAFCACHE
  • Various documentation fixes
  • Set the PYTHONARCHDIR variable for installing python extensions
  • Fixed the Waf file creation with --zip-type=gz (bunzip2 was not replaced by gzip -d)
  • Fixed multiple problems in the call to TaskGen.declare_chain(...)
  • Fixed the task attribute 'vars' which might cause unnecessary
  • Return the value of post_check(...) in conf.check(...)
  • Rewrite the boost tool (waflib/extras/boost.py)

New in Waf 1.6.2 Beta 2 (Dec 6, 2010)

  • Support for c# debugging files #797
  • Add -relocation-model=pic for shared libraries on ldc
  • Fixed 'waf dist' for tar files on python 3 #799
  • Make the latex scanner recursive #798
  • Enable the packing of non-python files in the waf file #802
  • Improve the feature sniffing for hybrid programs/libraries #800
  • New apidocs + tutorial in Sphinx format
  • Add the CPPFLAGS from os.environ #803
  • Create the java output directory anywhere #806
  • Enable the .luac file installation
  • Process Qt translation files
  • Detect when the folders were copied and prompt for "waf configure"
  • parse_flags for the *-config outputs on windows (backslashes) #811

New in Waf 1.6.2 Beta 1 / 1.6.1 (Nov 28, 2010)

  • Support for c# debugging files #797
  • Add -relocation-model=pic for shared libraries on ldc
  • Fixed 'waf dist' for tar files on python 3 #799
  • Make the latex scanner recursive #798
  • Enable the packing of non-python files in the waf file #802
  • Improve the feature sniffing for hybrid programs/libraries #800
  • New apidocs + tutorial in Sphinx format
  • Add the CPPFLAGS from os.environ #803
  • Create the java output directory anywhere #806

New in Waf 1.6.1 (Nov 10, 2010)

  • Fixed the method check_waf_version #764
  • Fixed the name in ctx.recurse(name) #769
  • Stop caching the install tasks and tasks that have no outputs #770
  • Fix the log in Context.cmd_and_log() when calling with "quiet" #778
  • c_preproc exception when a file has the same name as a directory #777
  • 'intltool_po' does not install the .mo files #782
  • 'intltool_in' was broken #792
  • Bind stderr and stdout to the exception in Context.cmd_and_log #779
  • Tasks not rebuilding properly when the 'run' method changes #786
  • Print the progress bar information as late as possible #787
  • Fix for the FRAMEWORK value processing
  • Verbose mode should not require the compat15 tools #790
  • Let static libraries use other static libraries as in 1.5 #768
  • Fix for the boost tool #776
  • boost tool update (in playground) #780
  • Updated the java tool and examples
  • New gcj tool in playground
  • Update the c# tool and examples (playground) #796
  • Read external c# libraries #774
  • Xelatex support #785
  • Rebuild fortran files when .mod files change #766
  • docs #781
  • Improve the ant_glob behaviour on ctx.root + absolute paths
  • Fix for glib_mkenums and dbus-binding-tool #795
  • New feature 'subst' (see demos/subst)

New in Waf 1.6.1 p1/ 1.5.18 (Oct 27, 2010)

  • Fixed the method check_waf_version #764
  • Rebuild fortran files when .mod files change #766
  • Fixed the name in ctx.recurse(name) #769
  • Stop caching the install tasks and tasks that have no outputs #770
  • Updated the java tool and examples
  • Update the c# tool and examples (playground)

New in Waf 1.6.0 p3/ 1.5.18 (Oct 4, 2010)

  • remove the /W3 flag from msvc default flags
  • opt.tool_options -> opt.load (now all commands inherit the 'tool' method)
  • conf.check_tool -> conf.load
  • do not copy files when creating tar files in 'waf dist'
  • add zip files in 'waf dist'
  • fix the behaviour of 'waf distcheck'
  • preprocessor optimizations
  • python 2 fixes

New in Waf 1.6.0 p2/ 1.5.18 (Aug 16, 2010)

  • Python 3 syntax by default (runs unmodified for 2.6, 2.7, 3.0 and 3.1)
  • Environment -> ConfigSet
  • only lists are allowed in ConfigSet
  • Better Node apis
  • Utils.load_tool -> Context.load_tool
  • set_options becomes options
  • only the build-related commands require a configured project
  • new variant system + build context commands
  • removed the pseudo glob in installation methods
  • eliminate find_sources_in_dirs
  • node.__class__.bld ‚Üí node.ctx
  • bld.new_task_gen(...) disappears, use bld(...)
  • network updates for waf tools
  • accept node objects in the source and includes attributes
  • remove task_gen.allnodes: modify self.source directly
  • merge the include system for c, c++, d, gas and nasm
  • allow top == out (no build directory)
  • merge the Tool/wscript system (detect->configure, set_options->options)
  • new command "waf list" to list the x for "waf build --targets=x"
  • rename apply_core -> process_source
  • rename apply_rule -> process_rule
  • rename Task.TaskBase.classes -> Task.classes
  • the modules Utils.py and Logs.py are now independent from the rest of waf (imports)
  • remove Task.TaskManager and Build.BuildContext.all_task_gen to improve the build group handling
  • remove program_USELIB, shlib_USELIB staticlib_USELIB support
  • use tasks for target installation
  • improve the exception handling (WscriptError was removed, use WafError)
  • let the commands access node objects
  • infer the build directory from the lock filename
  • waf list to list the possible targets
  • waf step --file=main.c
  • post task generators in a lazy manner

New in Waf 1.5.18 (Jul 7, 2010)

  • Fixed a typo in flex.py (python < 2.6)
  • Fixed the winreg import in msvc.py (python > 3.0)
  • Provide a thread-less build mode for broken python installations
  • Fixed the vala headers creation (#627)
  • Fixed the ansiterm.py colors (#634)
  • Fixed the ruby tool for python 2.3
  • Updated the go example (cgo support).

New in Waf 1.5.17 (May 24, 2010)

  • Fixed a typo in flex.py
  • Fixed the use of waf cache with Python 3.x builds
  • Fixed a problem in the use of pkg-config with Python 3.x (#680)
  • Fixed a bug in the library detection with execute=True (#679)
  • Fixed a bug in the "Python.h" detection
  • Latex/bibtex processing improvements
  • d library detection (phobos 1, 2 or tango)
  • When "--targets" is given, post the task generators from previous build groups
  • disable the tool download except if explicitely given on the command-line
  • New example for Cython
  • New example for CUDA

New in Waf 1.5.16 (Apr 22, 2010)

  • Handle deleted files and folders gracefully
  • Better interaction between on_results/update_outputs and deleted files
  • Try to use bunzip2 for the python versions that have no bzip2 support
  • Automatic tool download from the 3rdparty repository
  • New option for including 3rdparty tools (./waf-light --make-waf --tools=boost,fluid)
  • New tool for detecting user errors (wagner)
  • A predefined os environment may be passed through xyz.env.env = {}
  • New method for creating empty folders: bld.install_dir('{PREFIX}/lib')
  • Better interaction between swig and qt4, bison and flex
  • New example for abi checks playground/abi_checks
  • New example for rpath handling playground/crazy_rpath
  • New example for dumping makefiles playground/makefile_dumper
  • New example for thread-less builds playgroud/nothreads

New in Waf 1.5.15 (Apr 7, 2010)

  • Fix for ccache + suncc
  • Minor vala improvements
  • Minor qt4 improvements
  • gccdeps.py improvements
  • MSVC detection improvements
  • Fixed the 'args' parameter in conf.check(...)
  • Fixed a regression for the python.py tool on Python 3.x
  • Scanner methods are executed properly whenever the source change
  • Stop faster when an error occurs
  • New debugging zones "waf --zones=group"

New in Waf 1.5.11 Pre (Jan 7, 2010)

  • conf.define strings are now quoted by default
  • various fixes for the d language support
  • fltk support
  • c# language support improvements
  • files can be installed with bld.declare_chain
  • various bugfixes in the file installation routines
  • the '--as-needed' flag must be added explicitely by calling 'conf.add_as_needed()'
  • fix for the d comment filter which could skip some dependencies
  • fix for header-only libraries handling in msvc.py
  • support for fancy folder creation (demos/simple_scenarios/folders/)
  • python 3 compatibility improvements

New in Waf 1.5.4 (Apr 9, 2009)

  • commands are executed without the shell by default, lists are recommended for cxxflags
  • the restriction srcdir='.' was removed (use with care)
  • java tool improvements
  • new ant-like file matching: print bld.path.ant_glob('**/*.c', flat=True)
  • cosmetic changes for the unit test tool
  • d language tool fixes + demo update (uselib_local)
  • d flags simplification
  • enable chains of commands: "waf distclean configure build"
  • enable recursion for commands (including custom commands) by passing a context instance
  • enable documentation for custom commands (in --help)
  • enable custom build or configuration contexts from user scripts
  • distcheck is executed without the shell
  • project autoconfiguration activates when the build directory is removed/does not exist
  • remove the static libraries before "ar" is executed
  • python 3.0 compatibility (tested for c++ projects)
  • config.log improvements
  • enable the single header output for vala >= 0.7.0
  • avoid loading a tool twice with the same configuration functions (composite projects)
  • cross-compilation demo improvements (playground/cross/)
  • the swig demo has been updated to be entirely dynamic (experimental)

New in Waf 1.5.3 (Feb 19, 2009)

  • progress bar fixes with variants and with -pp (ide output)
  • enable libraries using only add_objects (no sources)
  • let the digest written in the waf file match the digest of the binary archive
  • windows: use shutil.move instead of os.rename
  • load modules only once
  • add -pthread flags for python extensions on FreeBSD
  • show how to build swig extensions besides embedded interpreters
  • fix the installation of kde4 locale files
  • uselib local fixes
  • minor optimizations
  • demo scripts improvements (cc, cxx)
  • warn for invalid or missing features
  • raise an exception for the use of install_files and install_as with 1.4 apis
  • remove the remaining Build.bld calls from the Waf library (safer for tests)
  • execute all external programs with a default current working directory to avoid mistakes
  • fix the remaining bugs in the Waf preprocessor
  • fix a problem with the after/before dependency reading
  • fix the string expansion for backslashes
  • execute the commands without the shell on windows to avoid space issues
  • remove the PREFIX processing from Environment.py
  • various improvements to the msvc tool (launch commands without the shell, autodetection)
  • various fixes for use with the suncc/suncxx compilers
  • intltool, csharp and qt4 updates
  • write all the output to stderr by default (and not to stdout)
  • support for the intel c++ compiler (icpc)
  • consistency: let the gnu_dirs tool use ${} instead of $()
  • add library paths automatically for c/c++ unit tests

New in Waf 1.5.2 (Jan 6, 2009)

  • guard for unexpected interruptions (pickle file consistency)
  • make nasm output files more robust to collisions
  • minor osx fixes (add the flags -undefined dynamic_lookup)
  • pkg-config fixes
  • fix the qt4 detection for multiple installations
  • include processing fixes
  • remove the default include paths (unresolved dependencies)

New in Waf 1.5.1 (Dec 9, 2008)

  • installing python files works once again
  • let the python tool configure with c++
  • the waf preprocessor parses macros without parameters
  • -Wl,-rpath,