Thomas Nagy
74e54322c5
Use try-else-finally in Python >= 2.5
2016-05-18 22:01:37 +02:00
Thomas Nagy
3f38b9d2b8
Logic simplification
2016-05-18 21:34:23 +02:00
Thomas Nagy
3c5be88550
Better names for install task method and compatibility fix for install_task.dest
2016-05-18 19:43:14 +02:00
Thomas Nagy
fd05cff103
Missing installation fixes
2016-05-17 19:49:44 +02:00
Thomas Nagy
5cb7b89ac1
typo
2016-05-16 20:11:00 +02:00
Thomas Nagy
26b370f440
Remove a few more 'Exception:' lines
2016-05-14 12:15:15 +02:00
Thomas Nagy
158bc72e8e
Remove the old shutil.copy override on Windows
2016-05-14 11:29:06 +02:00
Thomas Nagy
12c7609802
Removed some dead code
2016-05-14 00:16:29 +02:00
Thomas Nagy
9a5b0e41ac
Fix waf step
2016-05-13 23:24:02 +02:00
Thomas Nagy
62f8b482ab
Code simplifications
2016-05-13 23:20:07 +02:00
Thomas Nagy
da5c7d8b5c
Moved unnecessary constants out of Context.py
2016-05-11 21:59:16 +02:00
Thomas Nagy
441ed98a3d
Better error messages in Qt5
2016-05-09 22:33:01 +02:00
Thomas Nagy
145dba3fd1
Unused variable
2016-05-06 20:59:40 +02:00
Thomas Nagy
3fb226c994
Use the build command in configuration tests (hard-coded BuildContext class)
2016-05-06 20:57:53 +02:00
Thomas Nagy
226c2b1d94
Set install_to from the add_install_task
2016-05-06 20:56:36 +02:00
Thomas Nagy
b1f5c0f814
Create installation tasks directly
...
Task generators created from other task generators may be
skipped during partial builds. This change re-enables
install_task as a task attribute and provides a task
object with input and output nodes which can be re-used
by other tasks.
2016-05-06 15:54:36 +02:00
Thomas Nagy
5511593318
Move boring Build.inst construction details to the class
2016-05-06 11:12:54 +02:00
Thomas Nagy
9991004343
Extract Build.inst.run_now
2016-05-06 09:57:01 +02:00
Thomas Nagy
20b62a4eea
docs
2016-05-06 09:11:31 +02:00
Thomas Nagy
6c21deb583
install_task -> install_tg
2016-05-03 23:14:10 +02:00
Thomas Nagy
16082a4c3e
docs
2016-05-03 21:27:15 +02:00
Thomas Nagy
b70692dbb3
Add a configuration test to add /usr/local/lib in linkflags on FreeBSD
2016-05-01 17:03:55 +02:00
Thomas Nagy
568cd6881d
Set the Qt5 search path on FreeBSD
2016-05-01 16:21:23 +02:00
Thomas Nagy
e7aa8349be
Changed the moc_foo.cpp file name to moc_foo.n.cpp to protect against name clashes
2016-05-01 14:49:55 +02:00
Thomas Nagy
ae8253f571
Process Qt files according to the Qt documentation
2016-05-01 14:21:46 +02:00
Thomas Nagy
6b2e837bc2
Issue 1726
2016-05-01 13:21:06 +02:00
Thomas Nagy
eb62ce7620
Set post_mode=POST_LAZY by default to process the next build groups once build files are present
2016-04-30 15:10:16 +02:00
Thomas Nagy
a7dac255af
Fix an error in the progress bar
2016-04-30 14:24:46 +02:00
Thomas Nagy
80109eacbe
Improve error handling in the case of missing implicit dependencies
...
Avoid calling are_implicit_nodes_ready() twice.
Stop the build when files are missing or truncated.
Provide a better error message and avoid catching all exceptions.
2016-04-30 13:35:08 +02:00
Thomas Nagy
fdc67d58f6
Fix an undefined variable in parallel_debug
2016-04-28 20:25:04 +02:00
Thomas Nagy
bf45d33f9e
Update parallel_debug
2016-04-28 20:14:02 +02:00
Thomas Nagy
b59a04a086
Moved the garbage collection code to the object owner
2016-04-28 20:12:20 +02:00
Thomas Nagy
3e86ea6cb8
Fixed an accidental dependency on inst.dest
2016-04-28 00:33:34 +02:00
Thomas Nagy
dd81cb74dc
Pass the vala environment for installation (not modified so it should be fine)
2016-04-28 00:29:12 +02:00
Thomas Nagy
1eaa87413d
Refactor bld.install_as/bld.install_files/bld.symlink_as to use actual task objects
2016-04-28 00:23:54 +02:00
Thomas Nagy
09f67a3b3a
Remove the private Scripting._can_distclean function
2016-04-27 18:42:38 +02:00
Thomas Nagy
bc3915c90a
Close process.py for running processes - Issue 1735
2016-04-27 18:35:02 +02:00
Thomas Nagy
e77b8dc24b
Catch errors in format_defines
2016-04-26 19:38:19 +02:00
Thomas Nagy
8b32d93ec3
cleanup: '%s' -> %r
2016-04-26 19:35:46 +02:00
Thomas Nagy
ba1932ebc2
Do not define the empty prec object on task_gen instances by default
2016-04-26 19:22:56 +02:00
Thomas Nagy
508b20679d
Do not truncate _task suffixes from Task class names
2016-04-26 18:33:03 +02:00
Thomas Nagy
0ba6b042d5
Remove mac_resources processing, use mac_files instead
2016-04-25 22:35:58 +02:00
Thomas Nagy
304935bb9f
Remove popitem() which was added for the lru cache
2016-04-23 23:02:16 +02:00
Thomas Nagy
9133dbc5c9
Cleanup: no need for keys() everywhere
2016-04-22 21:10:22 +02:00
Thomas Nagy
3899c150e3
Provide a more performant LRU cache implementation
2016-04-22 19:43:18 +02:00
Thomas Nagy
d2cd1ebd0b
Provide our own version of ordered_iter_dict
...
Python OrderedDict does not provide a C implementation, so it
is just best to use our own implementation by default.
We also want the iteration order from the end for the purposes
of matching files by extension.
2016-04-22 19:36:35 +02:00
Thomas Nagy
44db1efc02
Enable regexp objects in @extension besides strings for file extensions
2016-04-22 19:27:22 +02:00
Thomas Nagy
b0954282e9
Remove the -DDLL_EXPORT flag which was added by default to fortran link on windows platforms
2016-04-21 22:37:27 +02:00
Thomas Nagy
b87a761ead
Tuples in startswith/endswith (Python 2.5 feature)
2016-04-21 22:30:35 +02:00
Thomas Nagy
d2ba87b296
Duplicate code
2016-04-21 22:12:39 +02:00
Thomas Nagy
8520dd65bb
Code cleanup
2016-04-19 22:00:21 +02:00
Thomas Nagy
8114914e62
Colorgcc for other compilers? Issue 1732
2016-04-19 21:47:59 +02:00
Thomas Nagy
fd2981f91f
Remove Task.dep_vars as it is unnecessary
2016-04-16 13:05:27 +02:00
Shawn Hoover
ac3a332b03
Enable lazy Visual Studio detection by default: one missed spot.
2016-04-15 13:41:53 -04:00
Thomas Nagy
fa8d8e2b45
Typo in platform_toolset_ver
2016-04-12 22:06:08 +02:00
James Harris
10a6e27872
Add PlatformToolset ver. to msvs proj template
...
This patch adds support for an easier syntax for customizing which
version of Visual Studio msvs.py targets. It also allows users to
specify the PlatformToolset property on projects generated by waf. This
is necessary in order to properly generate projects for newer versions
of Visual Studio such as 2013 and 2015.
Example Syntax:
To generate a solution targeted at visual studio 2013 use the following
example:
```Python
class msvs_2013(msvs.msvs_generator):
cmd = 'msvs2013'
numver = '13.00'
vsver = '2013'
platform_toolset_ver = 'v120'
```
This will populate the associated fields correctly for msvs 2013.
2016-04-12 19:06:41 +02:00
Thomas Nagy
e35d3628d2
Add EnvContext to simplify configuration-dependent command definition
2016-04-11 23:28:33 +02:00
Thomas Nagy
e0080e9f58
Identify java tasks more accurately and add build order on non-jar tasks - Issue 1725
2016-04-11 00:08:20 +02:00
Thomas Nagy
aeed691829
Fun with conditional expressions
2016-04-08 18:37:09 +02:00
christophe.duvernois
49ed1e0c0a
java tool : allow manifest to be a node
2016-04-05 19:23:32 +02:00
Thomas Nagy
2c06f0acd6
Simplification
2016-04-05 19:22:54 +02:00
Thomas Nagy
d7a295ab0f
Simplification m.group(0) -> m.group()
2016-04-04 22:18:28 +02:00
Thomas Nagy
e8cf059004
Do not strip / from conf.check(x=, uselib_store=Y) stored arguments
2016-04-04 19:00:31 +02:00
Thomas Nagy
a1a24c8456
Use define_name in check_cfg(define_name=, global_define=1)
2016-04-03 13:20:42 +02:00
Thomas Nagy
e790f6d40f
Added a deprecation warning for the case conf.check_cfg(atleast_version=)
2016-04-03 12:40:00 +02:00
Thomas Nagy
89d5b5462f
Enable define_name in conf.check(modversion=,define_name=)
2016-04-03 12:09:22 +02:00
Thomas Nagy
c0c0da2e92
Set DEFINES=[X=1] with conf.check_cfg(define_name=X) to override the defaults
2016-04-03 11:42:59 +02:00
Thomas Nagy
00c955d8fa
Option for adding HAVE_X to conf.env - conf.check(add_have_to_env=1)
2016-04-03 11:08:00 +02:00
Thomas Nagy
cf9330a371
Remove Context.__hash__
2016-04-01 23:27:46 +02:00
Thomas Nagy
ee0778a76f
Extra parenthesis around assert message
2016-04-01 23:14:26 +02:00
Thomas Nagy
41dcf329b0
Include any symlink in dist archives - Issue 1719
2016-03-31 22:10:47 +02:00
Thomas Nagy
8717fa791f
outstanding.insert -> outstanding.append_left
2016-03-31 07:42:08 +02:00
ita1024
a0bd260957
Merge pull request #1721 from mclayton7/waf-1.9
...
Fix qt4.py to use deque instead of list
2016-03-31 07:36:28 +02:00
Mac Clayton
19dc72e16d
Fix qt4.py to use deque instead of list
2016-03-30 19:04:57 -05:00
Thomas Nagy
bd255ce641
Missing TaskBase.uid() method
2016-03-30 23:01:46 +02:00
Thomas Nagy
c2361d54bd
Removed TaskBase.attr as it is never used
2016-03-30 21:17:26 +02:00
Thomas Nagy
c563396afe
Do not add defines to config.h when global_define is 0
2016-03-28 17:49:27 +02:00
Thomas Nagy
6089893e40
Simplify the assignment of configuration test execution to defines
2016-03-28 16:19:36 +02:00
Thomas Nagy
9fd2683095
Let conf.check/conf.check_cfg set HAVE_x in config.h by default
2016-03-28 16:16:30 +02:00
Thomas Nagy
1eaa5e7a0f
parse_flags code cleanup
2016-03-28 14:46:29 +02:00
Thomas Nagy
b585594d4d
For consistency, cast HAVE_X to integer values
2016-03-28 09:59:24 +02:00
Thomas Nagy
c917e1af63
Remove empty entries in windows path splitting
2016-03-27 21:41:21 +02:00
Thomas Nagy
1ebb318ec0
find_node returns Nodes that exist, no need to verify again
2016-03-27 21:29:02 +02:00
Thomas Nagy
6579592065
re_cpp matches are never empty
2016-03-27 19:25:12 +02:00
Thomas Nagy
51b68cf13b
New --profile command-line option
2016-03-25 14:20:57 +01:00
Thomas Nagy
31742bd06d
Remove old fixes for Python < 2.3
2016-03-25 14:02:36 +01:00
Thomas Nagy
026bae9601
Reduce the amount of function calls in include extraction
2016-03-25 13:30:32 +01:00
Thomas Nagy
df7fc838ce
Do not capture unused regexp groups
2016-03-25 12:56:25 +01:00
Thomas Nagy
5d8d7bf700
Save a few function calls in waflib/Tools/c_preproc.py
2016-03-25 12:22:00 +01:00
Thomas Nagy
ca01ddb83a
Removed an unused variable in Task.py
2016-03-25 12:03:45 +01:00
Thomas Nagy
3cbd029cc9
Task.sig_vars, Task.sig_explit_deps and Task.sig_implicit_deps return None
2016-03-25 11:50:32 +01:00
Thomas Nagy
a64a8d1d29
Extend relative cwd processing to Task generators
2016-03-23 22:28:14 +01:00
Gustavo Jose de Sousa
d46f541099
Use stash/revert/commit pattern for transactional configuration
...
Apply that pattern when relevant. That allows correct behavior if tools are
loaded inside a transaction.
2016-03-22 08:05:53 +01:00
Thomas Nagy
85e403516c
Issue 1632
2016-03-19 18:14:08 +01:00
Gustavo Jose de Sousa
b5584470f9
Add commit() method to ConfigSet
...
That allows users to use nested transactions.
2016-03-19 15:22:09 +01:00
Thomas Nagy
e8bf2731d1
Increase the default cache size for c_preproc
2016-03-19 15:18:16 +01:00
Thomas Nagy
a08aff6bff
Format debug/info records lazily
2016-03-19 14:46:22 +01:00
Thomas Nagy
d62767e561
Add Node.isdir and remove cache_isdir optimizations for the time being
2016-03-19 14:21:02 +01:00
Thomas Nagy
555507975d
Rewrite ConfigSet._get_list_value_for_modification
2016-03-19 10:26:42 +01:00
Thomas Nagy
d54622e341
Simplification: remove Configure.err_handler
2016-03-18 19:54:31 +01:00
Thomas Nagy
7960f19cb1
Fix for extra lines in windows logs - Issue 1715
2016-03-18 19:32:10 +01:00
Thomas Nagy
1fb3645493
Simplifications
2016-03-18 18:26:25 +01:00
Thomas Nagy
017d8fd39e
Use relative paths in apply_incpaths by default
...
Relative paths are usually best for for specialized compilers (emscripten),
so this is for convenience. Absolute paths are usually faster.
2016-03-17 22:56:34 +01:00
Thomas Nagy
ddead0ed59
Simplification: use dict.update()
2016-03-16 23:01:49 +01:00
Thomas Nagy
b63ae9b2ef
Code simplification
2016-03-16 22:37:18 +01:00
Thomas Nagy
e19c0e7e77
Simplification, no need to use item ids anymore
2016-03-16 20:11:24 +01:00
Thomas Nagy
0970eb86cb
docs
2016-03-15 22:06:10 +01:00
Thomas Nagy
83c237ffe0
Redundant repr() call
2016-03-12 12:35:09 +01:00
Thomas Nagy
d81dfac34e
docs
2016-03-12 12:32:27 +01:00
Thomas Nagy
89ac2f0215
Issue 1594
2016-03-09 22:25:52 +01:00
Thomas Nagy
42622a6e52
Do not cache Waf tools in configure
2016-03-07 23:38:14 +01:00
Thomas Nagy
3cac9c7077
Node objects can be folders too, but dependencies must be managed manually
2016-03-07 21:12:51 +01:00
Thomas Nagy
6768a4cb38
Unbind task.last_cmd when the command is successful
2016-03-06 17:23:24 +01:00
Thomas Nagy
333aec0b96
Removed Utils.nogc as it is unused
2016-03-05 11:45:16 +01:00
Thomas Nagy
b95db27d05
Micro-optimization
2016-03-05 11:05:43 +01:00
Thomas Nagy
64af7a67bb
clang quirks - Issue 1714
2016-03-04 19:23:14 +01:00
Thomas Nagy
a8a918763f
Missing output with -j1
2016-03-03 23:36:18 +01:00
Thomas Nagy
028ecf43df
Workaround for unreadable home folders
2016-03-01 22:45:39 +01:00
Thomas Nagy
0ab704f5a4
Minor optimization in Utils.h_list
2016-02-29 18:40:44 +01:00
Thomas Nagy
b4437f3b51
Exception handling enhancements
2016-02-28 14:23:54 +01:00
Thomas Nagy
3ced4c6695
Utils.ex_stack is the same as traceback.format_exc as we are no longer on Python 2.3
2016-02-28 12:23:18 +01:00
Thomas Nagy
08a39b7b19
Ironpython does not have += on deques
2016-02-28 11:37:00 +01:00
Thomas Nagy
126fc7e4b4
Missing piece of code
2016-02-28 11:30:18 +01:00
Thomas Nagy
1524d74301
Missing line
2016-02-28 10:34:32 +01:00
Thomas Nagy
df956ed5c5
Better task cleanup logic
2016-02-28 10:13:03 +01:00
Thomas Nagy
248d89e85b
Use deques
2016-02-28 10:01:43 +01:00
Thomas Nagy
220ac6de5e
Pre-fork processes for Python2
2016-02-28 00:12:50 +01:00
Thomas Nagy
9dbcc4274b
Fixed the broken logic in process execution
2016-02-27 09:37:04 +01:00
Daniel Bartel
015f522fb3
add option for line length to cpplint
2016-02-26 23:11:37 +01:00
Thomas Nagy
1f95d2c4cb
Popen objects provide pid (not getpid)
2016-02-26 21:23:49 +01:00
Thomas Nagy
5bf16d51d8
Lockless list of processes
2016-02-26 21:09:50 +01:00
Thomas Nagy
0ce499c24c
Revert "Make D dependency scanner aware of package.d files"
...
This reverts commit a61528efc3
.
2016-02-26 21:05:13 +01:00
Alexander Afanasyev
b99a82ddfe
Boost module enhancements and fixes
...
- Output detected version of boost in dot-form (e.g., 1.56.0, instead of 1_56)
- Fix Boost.Log library detection:
* when linking to shared library, BOOST_LOG_DYN_LINK needs to be defined
* when linking to non-multithreaded version, BOOST_LOG_NO_THREADS needs to be defined
(see http://www.boost.org/doc/libs/1_60_0/libs/log/doc/html/log/installation/config.html )
2016-02-26 21:04:50 +01:00
Thomas Nagy
1ee5adc3b3
Error handling enhancements
2016-02-26 20:11:58 +01:00
Thomas Nagy
f56f22bb50
Prefix by # to have the artifacts at the root of the build directory
2016-02-26 19:25:23 +01:00
Thomas Nagy
d131a37ac9
No new processes needed on IronPython
2016-02-26 18:52:43 +01:00
Thomas Nagy
75e9735a22
Python3 fixes
2016-02-26 18:36:38 +01:00
Thomas Nagy
023c540b80
Simplifications - child processes will exit on broken pipes
2016-02-25 22:58:11 +01:00
Thomas Nagy
e0b080b7c6
Jython fix
2016-02-25 22:28:00 +01:00
Thomas Nagy
b2bcee43cb
Python 3 fixes
2016-02-25 21:53:17 +01:00
Thomas Nagy
8207a878a9
Enable multiprocessing for faster subprocess execution
2016-02-25 20:03:07 +01:00
Thiago da Silva Andrade Soares =^.~=
4bea5a28ae
Cppcheck tool - Fix creation of invalid command on windows
...
The following error occurring when we try to run the cppcheck tool on windows.
As we see in the error message, the command is not well formed.
WafError:
Command "['C:\\\\Program Files (x86)\\\\Cppcheck\\\\cppcheck.exe'] --inconclusive --report-progress --verbose --xml ..."
returned 1
2016-02-24 21:53:15 +01:00
Thomas Nagy
e176101c8c
Nicer configuration message on ruby detection
2016-02-24 07:16:04 +01:00
Thomas Nagy
df8e144631
Smarter detection of programs passed to the command-line
2016-02-23 22:59:29 +01:00
Thomas Nagy
9147e9128a
Cleanup: unnecessary semicolons in Python code
2016-02-19 23:26:40 +01:00
Thomas Nagy
a02a0b54b3
Limit caching unnecessary data in preproc.py
2016-02-19 23:26:19 +01:00
Thomas Nagy
2d89937205
-DFOO in compiler commands - Issue 1704
2016-02-18 21:56:02 +01:00
Thomas Nagy
7e16c7cb1e
Removed bld.returned_tasks
2016-02-15 23:52:11 +01:00
Thomas Nagy
0bafa590f3
Trim less in lru_cache
2016-02-15 23:23:34 +01:00
Thomas Nagy
31381f9b63
Cache Node signatures on the context level
2016-02-15 23:04:30 +01:00