Commit Graph

2395 Commits

Author SHA1 Message Date
Thomas Nagy ff0b65ff14
Split unit test commands by shlex 2017-08-27 10:56:06 +02:00
Thomas Nagy 755a1bf6a5
Simplify task error handling 2017-08-27 10:11:56 +02:00
Thomas Nagy c766224995
Docs 2017-08-27 01:00:33 +02:00
Thomas Nagy 5c15f6f39e
Prevent duplicates in c_preproc.py results 2017-08-26 12:24:22 +02:00
Thomas Nagy 5b935a1e6a
Optimize fast_partial.is_stale 2017-08-26 11:13:04 +02:00
Thomas Nagy b3e9ca89e6
Override the msvc linker through LINK_CXX 2017-08-25 20:23:16 +02:00
Thomas Nagy 0659657a8c
Remove old TODO notes 2017-08-25 20:22:46 +02:00
Thomas Nagy 4438aeadcb
Additional fixes for #2013 2017-08-19 12:58:40 +02:00
Thomas Nagy 57087471c1
Remove Utils.ex_stack - use traceback.format_exc() 2017-08-19 11:54:58 +02:00
Thomas Nagy d865bffd88
Change the .pickle file storage from waf 1.9 2017-08-19 10:21:40 +02:00
Thomas Nagy bfe1512a55
Exclude waf-2 folders in waf-2.0 2017-08-19 10:11:36 +02:00
Adriano Scoditti 0e06d4730e Add distclean compatibility with '--no-lock-in-top' command line option 2017-08-19 09:57:53 +02:00
Roman C. Podolski d2f48b5d89 Fix protoc #2009
Fix bug described in #2009 and extend example in playground to include
described scenario.
2017-08-17 19:56:07 +02:00
Thomas Nagy c3fee6620c
Update protoc #2009 2017-08-16 19:45:03 +02:00
Thomas Nagy 03a3c604c4
Provide an example of build context sharding 2017-08-13 23:09:35 +02:00
Thomas Nagy 7874f8569f
Cache taskg_gen.idx by absolute path 2017-08-13 23:06:28 +02:00
Thomas Nagy 28846d6f34
Remove one Node class assumption in Task.py
Tasks cannot assume that additional dependency (deps_man) belong
to the same Node object class before obtaining their signatures
2017-08-12 16:31:51 +02:00
Thomas Nagy 43d6363177 Re-enable the timestamp cache previously removed 2017-08-09 00:27:13 +02:00
Thomas Nagy e22390ee44
Obtain store timestamps in a dedicated structure 2017-08-08 22:21:54 +02:00
Thomas Nagy a28f9475f3 Fixup 2017-08-08 01:01:48 +02:00
Thomas Nagy dcc09cb0df
Obtain the exact wscript file path 2017-08-07 08:28:03 +02:00
Thomas Nagy 6ed9a9231f
Split fast_partial data storage from the main pickle file 2017-08-06 11:48:25 +02:00
Thomas Nagy ee3f706bb7
Encapsulate bld.producer.is_dirty behind an interface 2017-08-06 10:51:59 +02:00
Joshua Watt 174f66c523 syms: Improve symbol processing
The export symbol regular expression processing is updated to make
several improvements:
  * The export expression (export_symbols_regex) now applies to both
    functions and global variables
  * A named capture group is used to match symbols. This allows the
    export expression to contain capture groups without disrupting the
    expression matching
2017-08-05 23:17:54 +02:00
Thomas Nagy 1cade2ba13
docs 2017-08-05 23:15:50 +02:00
Thomas Nagy 6d96b245cc
Invalidate the cache if a file is missing in fast_partial 2017-08-02 20:05:00 +02:00
Thomas Nagy 7003858752
Detect configuration changes 2017-08-02 01:23:32 +02:00
Thomas Nagy 5468e0031b
Typo process_uselib_vars -> propagate_uselib_vars #2005 2017-08-02 00:42:42 +02:00
Simon fe1bb1b58a Fixed a crash when building a subset of xcode6 targets
E.g. when running 'waf xcode6 --targets=some-target'

  File "/waf/waflib/Scripting.py", line 167, in waf_entry_point
    run_commands()
  File "/waf/waflib/Scripting.py", line 268, in run_commands
    ctx = run_command(cmd_name)
  File "/waf/waflib/Scripting.py", line 252, in run_command
    ctx.execute()
  File "/waf/waflib/extras/xcode6.py", line 679, in execute
    self.post_group()
  File "/waf/waflib/Build.py", line 767, in post_group
    if self.current_group < self._min_grp:
AttributeError: 'xcode' object has no attribute '_min_grp'
2017-08-02 00:24:11 +02:00
Simon 73c276c11b Make xcode6 tool consider standard waf build flags
Build flags like 'cflags', 'cxxflags' passed to xcode6 builds
are now considered by the xcode6 tool. For example, running command 'waf xcode6'
with the following wscript:

cnf.env.CXXFLAGS = ['-std=c++11']
...
bld.program(..., cxxflags='-O3')

now sets the OTHER_CPLUSCPLUSFLAGS in Xcode to '-O3 -std=c++11'
2017-08-02 00:24:07 +02:00
Thomas Nagy 8289af2b98
Do not skip object-only targets 2017-08-02 00:22:33 +02:00
fedepell 44a9a1f026 qt5: minor correction of uic tool search error message (wrong versions printed) 2017-08-01 22:41:45 +02:00
Thomas Nagy 8da1662894
Example of optimizations for partial builds 2017-07-30 20:11:29 +02:00
Thomas Nagy 6cfd7239c6
Support for old gcc compilers #2003 2017-07-30 19:57:04 +02:00
Thomas Nagy e3a8e49cf2
TypeError -> ValueError #2002 2017-07-30 00:13:42 +02:00
Thomas Nagy 549fe8cd42
Simplify BuilContext.post_group 2017-07-29 09:19:36 +02:00
Thomas Nagy 2dac65fea9
Document BuildContext.get_targets 2017-07-29 09:16:03 +02:00
Roman C. Podolski c6fb060710 Protoc: Fix bug in src-path
The tool was using an relative path for the includes, but an absolute
for the src-files. Protoc cannot distinguish between relative and
absolute paths and is not able to find sources when relative and
absolute paths are combined.

Tested with protoc 2.6.1, python 3.5.1
2017-07-23 13:25:05 +02:00
Karl Linden 213068dc99 Better default uselib_store and define_name in check_cfg.
* Let default uselib_store and define_name be upper case of the first
   word of package. This is a better default when package includes a
   version specified.
 * Remove undocumented *k argument extraction from check_cfg since it
   breaks when the first argument includes a version specifier.
2017-07-21 23:35:10 +02:00
Thomas Nagy 12fb29e8a5
WAF_PRINT_FAILURE_LOG #1930 2017-07-20 19:26:22 +02:00
Thomas Nagy 8fedfef8a3
Do not force an encoding on config.log on python2 #1974 2017-07-19 22:38:12 +02:00
Karl Linden dd3a173e46 Simplify logic in validate_cfg
* Validate msg in only on block.
 * Reduce the number of places that set okmsg.
 * Require exactly one action to be requested.
 * Also print the detected version on successful modversion.
2017-07-17 21:26:40 +02:00
Sean Fisk 2c4ff3e28b Docs: Avoid Qt re-builds by sorting set of includes
Because Python's set type is unordered, storing include paths in it
can produce unnecessary re-builds by generating different compiler
command lines between successive builds. Avoid this by using the
sorted() function on the includes.

The documentation for Python ≥ 2.7 guarantees that sorted() is stable,
while for Python 2.5–2.6 it uses the same algorithm as list.sort(),
which is stable [1].

[1]: https://stackoverflow.com/a/1915418
2017-07-06 07:47:48 +02:00
Thomas Nagy cc9374b646
Assert against invalid inputs in Utils.run_prefork_process 2017-07-01 13:15:17 +02:00
Thomas Nagy cddc5552e4 Rename WindowsError to OSError in Python3 2017-06-23 16:51:54 +02:00
Thomas Nagy 0a1d47c7ec Initialize Parallel.processed at 0 not 1 2017-06-23 13:36:28 +02:00
Thomas Nagy c49a74dd16 Cleanup for #1984 2017-06-21 13:18:07 +02:00
fedepell 8c76bd89ef eclipse: code cleanups as by comment to #1984 2017-06-21 13:17:59 +02:00
fedepell 73dab83957 eclipse: query the compiler for standard include dirs and add them in eclipse search path, so standard includes can be found also with non standard compilers
if command doesn't succeed use hardcoded paths as before. tried with various gcc and llvm.
2017-06-21 13:17:52 +02:00
Thomas Nagy 872052e5c7 Dependencies added after the build starts no longer raise assertions #1982
It appears that quite a few builds use the swig tool technique
of setting build dependencies after the build starts. Missing
entries in Runner/revdeps can make builds non-terminating.
2017-06-20 16:31:08 +02:00