waf/ChangeLog

53 lines
2.9 KiB
Plaintext

NEW IN WAF 1.9 preview 2
------------------------
* General enhancements:
- Add the tool 'nobuild.py'
- Remove qt4 and kde4 from the default modules
- Have Clang detected first on many platforms, in particular on FreeBSD #1528
- Remove Node.cache_sig and Node.sig so that dependencies are on file contents #1580
- Change cflags in the beginning / cppflags at the end #1505
- Merge ${FOO}${BAR} flags in commands executed without a shell (no space added)
- Interpret empty command-line defines as integer values #1704
- Waf tools are not cached on "waf configure" by default anymore; pass conf.load(.., cache=True)
- Enable a consistent progress bar output #1641
- New --profile command-line option
- Add ${VAR?X} constructs in script expressions to enable simple conditional outputs
- Enable 'waf dist' to package arbitrary symlinks in tarballs #1719
- Enable regexp objects in @extension besides strings for file extensions
- Match extensions in the order of last definition
- Task generators are now processed group-by-group, so the next group is processed
when all tasks in the previous group are complete; bld.post_mode=POST_LAZY
is now the default (playground/dynamic_build/ examples)
- Process Qt5 files in the way suggested by the Qt documentation
* Performance highlights:
- Reduce the key size in bld.task_sigs by adding bld.node_sigs and bld.imp_sigs
- Remove __hash__ and __eq__ from Context, Node and Task #1629
- Make lazy visual studio detection the default
- Remove the uses of run_once that can consume a lot of memory
- Enable pre-forked builds by default to achieve faster builds, up to 2x speedup on short-lived processes
* API changes:
- The minimum Python version required is Python 2.5
- Remove the duplicate split() functions from Utils
- Remove the command called "update"
- Add Task.get_cwd()
- Remove Utils.nogc
- Modify Utils.run_once so that it accepts a list of *args
- Rewrote the main task consumer in Runner.py for performance purposes
- Use relative paths in apply_incpaths by default (and absolute ones when paths cross drives)
- Remove Configure.err_handler
- Remove TaskBase.attr() which was never used
- Remove Build.POST_BOTH which was never used
- Task.sig_vars, Task.sig_explit_deps and Task.sig_implicit_deps return None
- Better consistency between check_cfg and check_cc variables
- Subclass waflib.Build.ConfiguredContext to enable configuration-dependent user commands
- Remove Task.dep_vars as it is never used (define Task.vars on instances if necessary)
- task_gen.mapping and task_gen.prec are not defined by default on instances anymore, but
instances can still define their own mappings to override the defaults, but in
that case all mappings/precedences must be present. These features were not used in Waf 1.8.
- Unused attribute 'mac_resources' is no longer supported, use mac_files (see demos/mac_app)
- The _task suffix is no longer truncated from Task class names