forked from weka-io/waf
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
127 lines (115 loc) · 6.24 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
NEW IN WAF 1.9.7
----------------
* Conceal Python 2.6 subprocess errors on Unix-like systems
* Read variables from self.vars #1873
* Revert archive permissions to be world-readable #1875
NEW IN WAF 1.9.6
----------------
* Display @argfile contents in msvcdeps #1831
* Enable configurable preprocessor cache sizes #1833
* Allocate lru cache entries lazily
* Let unity builds use relative paths for msys #1834
* Added --dump-test-scripts to the unit test module #1852
* Added a warning on ant_glob '.' uses #1853
* LaTeX configuration tests output results to config.log
* Accept functools.partial() as task rules #1865
NEW IN WAF 1.9.5
----------------
* Fix the command-line option for the python executable (--python -> --pythondir) #1812
* Add support for older PyQt4 bindings #1813
* Expand properly `--xyz=${VAR}` when `shell=False` #1814
* Add qt5 5.7.x new libraries to qt5 tool #1815
* Add install_user and install_group to bld.install/bld.install_as/bld.symlink_as
* Reduce unnecesary build outputs verbosity #1819 #1828
* Prevent broken console encoding settings from causing additional failures #1823
* Let "waf --zones=argfile" display @argfile contents
NEW IN WAF 1.9.4
----------------
* Enable 'waf dist' in arbitrary paths #1806
* Handle subprocess timeouts in Python 3.3 #1807
* Set the configuration test build class on conf.run_build_cls
* Provide execution order constraints in parallel configuration tests
* Accept Task.cwd as str type
NEW IN WAF 1.9.3
----------------
* Improve the behaviour of parallel configuration tests (conf.multicheck) #1793
* Fix the Fortran Nag compiler detection #1797
* Detect Qt 5.7 (-std=c++11 flag) #1800
* Detect Boost python on Gentoo #1802
* Update the strip and netcache examples
NEW IN WAF 1.9.2
----------------
* Fix a Python 3 encoding error when displaying the file hash in 'waf dist' #1769
* Force qt5 static library detection with 'QT5_XCOMPILE=1 QT5_FORCE_STATIC=1 waf configure' #1588
* Force the parent os.environ value as default in pre-forked processes #1791
* Support flexflags as arguments #1782
* Update a few extensions: xcode, pytest, msvcdeps, cppcheck, win32_opts, codelite
* Store Task.last_cmd selectively, so that extensions can use them (clang_compilation_database)
* Set TaskBase.keep_last_cmd to keep the last command executed
* New pyqt5 extension #1790
* Remove all non-BSD code from the Waf archive file
NEW IN WAF 1.9.1
----------------
* Execute proceses with run_regular_process when arguments are not serializable #1764
* Do not de-duplicate configuration flags assigned through uselib_store (conf.check tests)
* Enable SVG pictures in the documentation
NEW IN WAF 1.9.0
----------------
* General enhancements:
- Detect Clang first on many platforms, in particular on FreeBSD #1528
- Remove Node.cache_sig and Node.sig so that dependencies involve file contents by default #1580
- Change cflags in the beginning / cppflags at the end #1505
- Merge ${FOO}${BAR} flags in commands executed without a shell (no spaces inserted)
- Interpret empty command-line defines as integer values for dependency calculation #1704
- Waf tools are not cached on "waf configure" by default anymore; pass conf.load(.., cache=True)
- Enable a consistent progress bar output #1641
- 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 task generators are
processed when all tasks in a previous group are complete; bld.post_mode=POST_LAZY
becomes thus the default (playground/dynamic_build/ examples)
- Process Qt5 files in the way suggested by the Qt documentation
- Installation methods install_files/install_as/symlink_as create regular task generators
and regular tasks so that installation outputs can be re-used easily
- Subclass waflib.Build.ConfiguredContext to enable configuration-dependent user commands
- Enable @argfile procesing in Task.exec_command when argument limits are exceeded
- Apply optional tsk.env.PATH values in Task.exec_command
- Enable ut_str to process scriptlet expressions for C/C++ unit tests
- Minimize the amount of paths added to unit test environment variable
- Restore configuration values with Configure.autoconfig='clobber' #1758
- Rebuilds are applied on file contents so that update_outputs is no longer needed
* 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
- Detect visual studio versions lazily by default
- Remove the uses of run_once that can consume a lot of memory; add a proper LRU cache
- Enable pre-forked builds by default to achieve faster builds, up to 2x speedup on short-lived processes
- Enable faster consumers in Runner.py
- Add the tool 'nobuild.py' to help with performance troubleshooting
- Enable profiling with the --profile command-line option
* API changes:
- The minimum Python version required is Python 2.5
- Add Task.get_cwd()
- Remove the command called 'update'
- Remove unused variables and functions:
- TaskBase.attr()
- Build.POST_BOTH
- Options.platform
- Options.cmds
- Task.dep_vars (define Task.vars on instances if necessary)
- Utils.nogc
- Configure.err_handler
- All duplicate split() functions from Utils
- Remove the unused attribute 'mac_resources', use 'mac_files' instead (see demos/mac_app)
- Remove qt4 and kde4 from the default modules
- Refactor msvc.py
- Task.sig_vars, Task.sig_explit_deps and Task.sig_implicit_deps return None
- Use relative paths in apply_incpaths by default (and absolute ones when paths cross drives)
- Modify Utils.run_once so that it accepts a list of *args
- Better consistency between check_cfg and check_cc variables
- 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.
- Do not truncate _task suffixes from Task class names if present