Thomas Nagy
1eb45162b1
Bind setup_msvc and setup_ifort as configuration methods
2016-05-22 17:11:29 +02:00
Thomas Nagy
9c44a4b360
Remove print_all_msvc_detected
2016-05-22 17:10:21 +02:00
Thomas Nagy
315d94ec24
Typo conf->self
2016-05-22 17:06:53 +02:00
Thomas Nagy
0c945f9e0a
Simplifications
2016-05-22 16:57:22 +02:00
Thomas Nagy
25fc153658
Improve ifort logging
2016-05-22 16:48:14 +02:00
Thomas Nagy
201118736e
Error handling simplifications
2016-05-22 12:40:51 +02:00
Thomas Nagy
76c9d3356b
Remove msvc.get_compiler_env which does not get anything
2016-05-22 12:12:32 +02:00
Thomas Nagy
c46ffd1a4a
Typo
2016-05-22 12:09:46 +02:00
Thomas Nagy
e3d1da421f
Remove one level of object nesting in msvc configuration
2016-05-22 12:04:23 +02:00
Thomas Nagy
dbad47244b
Cleanup
2016-05-22 11:15:00 +02:00
Thomas Nagy
bae3e35af5
Cleanup
2016-05-22 10:58:24 +02:00
Thomas Nagy
56b84dc5a5
Cleanup
2016-05-22 03:13:28 +02:00
Thomas Nagy
15985db73d
Refactor ifort.py like msvc.py
2016-05-22 03:07:44 +02:00
Thomas Nagy
7fadda584a
Add a __repr__ method for MSVC_INSTALLED_VERSIONS
2016-05-22 02:50:02 +02:00
Thomas Nagy
df6e88f2f5
Typo
2016-05-22 02:45:12 +02:00
Thomas Nagy
929f89c0bb
Simplify msvc.py
2016-05-22 02:43:35 +02:00
Thomas Nagy
67e7db41d9
Simplification x=x+1 -> x+=1
2016-05-22 00:45:47 +02:00
Thomas Nagy
75a011f81c
docs
2016-05-21 12:08:28 +02:00
Thomas Nagy
ab9609c0d8
docs
2016-05-21 12:01:48 +02:00
Thomas Nagy
c2646d2380
Provide md5_tstamp by default and make it easier to add more persistent BuildContext dicts
2016-05-21 11:58:47 +02:00
Thomas Nagy
f876392200
Must call os.remove on files
2016-05-21 01:15:19 +02:00
Thomas Nagy
09fd2f211f
Ensure Node.delete can remove invalid folders
2016-05-21 00:39:56 +02:00
Thomas Nagy
e09a32467f
Fix install_files in the case relative_trick=True
2016-05-20 19:20:54 +02:00
Thomas Nagy
5eaf7aee1b
Simplification
2016-05-18 22:02:47 +02:00
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
Guillaume Poirier-Morency
c4bfce0fe7
vala: Initialize 'VALAFLAGS' with OS flags
2016-02-15 21:54:35 +01:00
Thomas Nagy
0441d01545
Added the missing __getitem__ method on lru_cache
2016-02-15 21:13:48 +01:00
Thomas Nagy
4e09a1bc5a
New lru caches in preproc.py to limit memory overconsumption
2016-02-15 00:46:44 +01:00
Thomas Nagy
22fae4ebef
From now on, ensure that buildcontext classes have a producer
2016-02-15 00:46:39 +01:00
Thomas Nagy
4be840bd7a
Reduced Task size (~700B/task)
2016-02-15 00:46:35 +01:00
Thomas Nagy
2897bcfd81
Reduced Task size (~600B/task)
2016-02-15 00:46:27 +01:00
Thomas Nagy
6bbcce206b
Better value for Utils.SIG_NIL
2016-02-14 11:15:52 +01:00
Thomas Nagy
437bfda8d1
Use waflib.Build.SAVED_ATTRS for serialization and initialization
...
The purpose is to make it easier to serialize additional dicts
on BuildContext instances.
2016-02-14 11:10:38 +01:00
Thomas Nagy
6c372e24fc
Issue 1701 - cpplint
2016-02-13 00:21:37 +01:00
Guillaume Poirier-Morency
70e49cc038
valadoc: Include the '--vala-target-glib' flag
2016-02-12 07:21:28 +01:00
SirNickolas
a61528efc3
Make D dependency scanner aware of package.d files
2016-02-11 21:43:32 +01:00
Thomas Nagy
5580e8c69f
Use subprocess32 when possible
2016-02-10 23:46:55 +01:00
Thomas Nagy
70df345c3f
Use the lru implementation when present (Python3)
2016-02-10 23:42:30 +01:00
Thomas Nagy
82b3ade500
Clear the c dependency scanner cache to prevent excessive memory consumption
2016-02-10 00:07:07 +01:00
Thomas Nagy
29cd350170
Use Node.exists when possible
2016-02-09 22:12:39 +01:00
Thomas Nagy
f1f2e8f8bc
Slightly better error message for inexisting nodes
2016-02-09 22:05:12 +01:00
Thomas Nagy
6124ee6975
Removed an old and unnecessary wrapper for objects in deps_man
2016-02-09 22:03:20 +01:00
Thomas Nagy
f7ed95d60e
Missing configuration files should raise an instance of WafError
2016-02-08 22:41:12 +01:00
Thomas Nagy
6d6222bc18
Unnecessary variable duplication
2016-02-06 13:03:43 +01:00
Kenneth Zhao
b8a1675123
Add SUN cc compiler version 5.0
2016-02-04 07:23:34 +01:00
Guillaume Poirier-Morency
8c8b0d8f0b
Apply 'Utils.to_list' on 'vala_defines' and include it in 'valadoc' tool
2016-02-04 07:23:10 +01:00
Jérôme Carretero
bc80ea97ae
waflib: extras: rst: update scan to provide dependent directive type
2016-02-01 21:59:59 -05:00
Jérôme Carretero
c923c31031
extras: rst: extend parse_rst_node()
2016-01-30 13:07:29 -05:00
Thomas Nagy
2999a120a1
Missing cwd handling in exec_command
2016-01-30 16:59:35 +01:00
Thomas Nagy
361e4b7730
Enable vnum for libraries created in the source directory
2016-01-30 11:39:18 +01:00
Thomas Nagy
5b82ce528c
No more 'missing node signature' errors
2016-01-28 22:45:37 +01:00
Ivan Tubert-Brohman
9a7381b20e
No-op in netcache run/post_run if nocache is true
...
When a task class has a true value for the nocache attribute,
setup_nocache doesn't decorate the run() and post_run() methods of the
class. In most cases, however, that's not enough to disable caching
because the base Task class is still modified; any class based on Task
which doesn't override these methods will still use caching even if it
sets nocache to True. This is solved by having the decorated versions of
run() and post_run() do nothing except call the original version of the
method when the task object has a true value for self.nocache.
2016-01-25 20:40:52 +01:00
Ivan Tubert-Brohman
2a7e0de018
Do chmod in netcache post_run
...
This ensures that, for example, executable files that are fetched from
the cache end up with the right permissions.
2016-01-25 20:21:15 +01:00
Haakon Sporsheim
f9e78b0225
c_config: Add xtensa as a known CPU.
2016-01-21 22:53:08 +01:00
Thomas Nagy
cbaab2f1b0
Circular dependencies may require passing the same library several times to the linker
2016-01-20 17:40:08 +01:00
Thomas Nagy
aac6e800eb
Import libraries for Intel Fortran
2016-01-20 00:12:42 +01:00
Thomas Nagy
872f77f8b5
Build fcprogram_test with Intel compiler
2016-01-19 21:08:48 +01:00
Harald Klimach
d00b90986c
Set FC_NAME also in find_ifort_win32.
2016-01-18 21:57:01 +01:00
Thomas Nagy
22e150e0cb
conf.check(..., comment='some text') to help with large config.h files
2016-01-17 17:02:10 +01:00
Thomas Nagy
05a15b229e
Code cleanup
2016-01-17 14:32:23 +01:00
Thomas Nagy
8ffbb6db0a
Code cleanup
2016-01-17 14:25:57 +01:00
Thomas Nagy
139b3f7a05
Unused variable LINK
2016-01-17 03:55:19 +01:00
Thomas Nagy
e91fbe2d1b
Intel Fortran manifest files
2016-01-17 03:27:30 +01:00
Thomas Nagy
66009e5777
Intel Fortran detection on Windows
2016-01-17 02:30:41 +01:00
Thomas Nagy
7a93e7e443
Added the windows Intel Fortran flags from Harald's branch
2016-01-16 22:50:14 +01:00
Thomas Nagy
101dc83283
Detect newer sun compilers Issue 1686
2016-01-16 21:18:08 +01:00
Thomas Nagy
a167bcce5f
Better error message
2016-01-15 23:53:17 +01:00
Bálint Aradi
d1ebc6f308
Fixing version flag for NAG compiler.
2016-01-15 00:14:37 +01:00
Thomas Nagy
adc1ce1375
Simplification: added Task.get_cwd()
2016-01-11 05:25:46 +01:00
Thomas Nagy
85157243c4
Version number for waf 1.9
2016-01-11 03:20:07 +01:00
Thomas Nagy
c016a5761e
Missing variable dependency in compile_fun_shell for
2016-01-11 03:10:50 +01:00
Thomas Nagy
331dd9f96c
Commands executed without a shell will merge flags of the form
2016-01-06 17:53:55 +01:00
Thomas Nagy
d23490287a
Code simplifications - use enumerate
2016-01-06 14:53:18 +01:00
Harald Klimach
7541929609
Do not set the ARFLAGS unconditionally to rcs for ifort.
...
Instead, try invoke search for ar after looking for xiar.
2016-01-06 12:38:31 +01:00
Thomas Nagy
3430e18205
New option in waf_unit_tests --clear-failed - Issue 1678
2016-01-05 15:20:56 +01:00
Thomas Nagy
69e51290fd
Made this project build on Linux
2016-01-03 06:54:21 +01:00
Thomas Nagy
8083205b81
Additional merges from #1666
2016-01-03 05:08:10 +01:00
Thomas Nagy
43e26b5bef
cwd must be a Node object
2016-01-02 01:54:52 +01:00
Thomas Nagy
7b26ce74d1
Updated the cwd logic in glib2.py
2016-01-02 01:37:20 +01:00
Thomas Nagy
e36420d68b
No chmod value for symlink_as at this time
2016-01-02 01:10:08 +01:00
Thomas Nagy
017d7a6257
Typo
2016-01-02 01:04:08 +01:00
Thomas Nagy
da97d28d18
Fixed undefined variables
2016-01-02 00:58:38 +01:00
Thomas Nagy
a3e014b0ae
Enable lazy Visual Studio detection by default
2015-12-25 19:28:29 +01:00
Thomas Nagy
4111d559b4
docs
2015-12-25 18:06:18 +01:00
Thomas Nagy
f73d3f1a2f
Misleading attribute never_skip, replaced by always_run
2015-12-25 17:54:10 +01:00
Thomas Nagy
6aa1c74798
docs
2015-12-25 17:54:07 +01:00
Thomas Nagy
ad2f3d420c
Setting node signatures clears cached values if present
2015-12-25 17:54:02 +01:00
Thomas Nagy
4fdd8a520d
Task cwd must be a node object
2015-12-24 23:10:56 +01:00
Thomas Nagy
8d3111235f
Try to de-duplicate environment-provided flags such as CFLAGS or LINKFLAGS
2015-12-24 22:52:19 +01:00
Thomas Nagy
d1fdf2f16a
Removed the default include paths that were always added to vala
2015-12-24 22:49:22 +01:00
Thomas Nagy
2d36bfe7ff
Removed the unused 'dummy' function from fc.py
2015-12-24 22:46:27 +01:00
Thomas Nagy
96a4487a57
New option to install files when symlinks are not possible
2015-12-24 22:45:27 +01:00
Thomas Nagy
5a3a89b4de
Stop adding incompatible task data into the same dict objects
2015-12-24 18:36:48 +01:00
Thomas Nagy
6648d3e6e7
Docs
2015-12-24 18:36:45 +01:00
Thomas Nagy
06c7c09681
Provide node.exists() to increase filesystem abstraction
2015-12-24 18:36:42 +01:00
Thomas Nagy
72fda8ae36
Reduce the size of the build pickle file
2015-12-24 18:36:38 +01:00
Thomas Nagy
ddaf29b78d
Process CPPFLAGS at the end of commands
2015-12-23 19:26:34 +01:00
Thomas Nagy
281148b8eb
Removed the old __eq__ and __hash__ which are not useful anymore in recent interpreters
2015-12-23 19:16:31 +01:00
Thomas Nagy
e365a30215
Cache file hashes for performance reasons
2015-12-23 18:23:14 +01:00
Thomas Nagy
7681bddfb7
Remove Node.sig and Node.cache_sig
2015-12-23 17:55:44 +01:00
Thomas Nagy
db31168eb6
New class attribute Task.never_skip to enable tasks to be always executed (the class decorator will be phased out)
2015-12-23 17:55:44 +01:00
Thomas Nagy
2ab00f7f49
Removed Node.cache_sig
2015-12-23 17:55:44 +01:00
Thomas Nagy
6ecd0d22c3
Let run_once process a list of arguments
2015-12-23 17:55:44 +01:00
Thomas Nagy
04449361e8
Detect clang first on FreeBSD, NetBSD, etc
2015-12-23 17:55:44 +01:00
Thomas Nagy
e1d82be8a5
The tool kde4 is not included by default in waf 1.9
2015-12-23 17:55:44 +01:00
Thomas Nagy
972d8e4904
The tool qt4 is not included by default in waf 1.9
2015-12-23 17:55:44 +01:00
Thomas Nagy
d3f788da4c
Added the tool called 'nobuild' to help troubleshoot build scripts
2015-12-23 17:55:44 +01:00
Thomas Nagy
b58a7d8057
Removed the command called 'update'
2015-12-23 17:55:44 +01:00
Thomas Nagy
8b74beb233
Removed the split functions from Node.py
2015-12-23 17:54:41 +01:00
Harald Klimach
c097fcc08a
Replaced spaces by tabs.
2015-12-23 15:38:48 +01:00
Harald Klimach
5c3a40d115
Loosened and simplified the regex for the version string of ifort as suggested by apthorpe
2015-12-23 15:28:43 +01:00
Harald Klimach
f5cb7c9e2e
Ensure the stdout and stderr attributes actually exist when capturing the
...
WafError in getoutput for the Fortran compilers.
2015-12-23 15:15:06 +01:00
Harald Klimach
2262f1009b
Ignore error codes from cmd_and_log in getoutput that is used to obtain
...
the version string of Fortran compilers.
Some compilers will fail and return an error code if not provided with
a source file, yet they print the desired version string.
Thus, in case of an error code we ignore it here and just pass on the
stdout and stderr of the called subprocess.
2015-12-23 14:32:52 +01:00
Thomas Nagy
6132c8e055
Duplicate entry 'update' in default commands
2015-12-22 18:22:13 +01:00
Thomas Nagy
a184a9e245
Experimental conf.define(key, val, comment='msg in config.h')
2015-12-20 14:26:14 +01:00
Thomas Nagy
95114ff205
wix.py - Issue 1666
2015-12-18 00:35:27 +01:00
Thomas Nagy
bdca245588
Replace backslashes in resx.py - Issue 1666
2015-12-17 23:53:41 +01:00
Mohammad AlSaleh
6eb836e03d
c_config: Fix regression in exec_cfg() introduced in 1fbac66
...
Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
2015-12-11 21:52:38 +02:00
Thomas Nagy
41f005082f
Let msvc.py display encoding errors in the config.log file
2015-12-09 00:14:17 +01:00
Thomas Nagy
4293b8e19a
Compat - shorter version
2015-12-07 23:36:07 +01:00
Thomas Nagy
d109ed4fc7
Additional fixes in extras/compat15.py
2015-12-05 14:00:56 +01:00
Thomas Nagy
8113778aab
Undefined name 'unicode' in the new json methods
2015-11-21 17:17:16 +01:00
Thomas Nagy
0e03aec82d
Unmask unicode errors in msvc - Issue 1657
2015-11-20 19:59:32 +01:00
Thomas Nagy
eb5aeb8715
The json module is available only in Python 2.6, so the import cannot be on the top-level
2015-11-20 18:06:36 +01:00
ita1024
23ceb2262b
Merge pull request #1659 from vcatechnology/node-read-json
...
Node JSON functions
2015-11-20 18:01:57 +01:00
Thomas Nagy
6c34e2a654
Force scanner functions to run after task failures - Issue 1660
2015-11-20 17:15:33 +01:00
Matt Clarkson
8b71e16989
Add Node.write_json()
...
Allows for a python object to be serialized to disk as JSON easily. By
default the function pretty prints the JSON which makes the file easily
human readable. A compact representation of the JSON can be done with
'pretty = False'
2015-11-20 13:52:26 +00:00
Matt Clarkson
2c617a42f8
Add a Node.read_json() function
...
This allows an easy way to read a JSON file into a python object. It, by
default, on Python2 converts all strings to normal strings. This is the
common use case for simple JSON files. Files that have UTF8 codepoints
over the normal ASCII range can use the 'convert = False' argument.
2015-11-20 13:51:11 +00:00
Thomas Nagy
a46cb274a7
Intel fortran detection - Issue 1655
2015-11-18 19:12:15 +01:00
Thomas Nagy
e66cf563ce
Uninitialized variables when qt options are not used
2015-11-16 19:30:07 +01:00
Thomas Nagy
e414ad08fd
Version 1.8.17
2015-11-10 21:52:54 +01:00
Thomas Nagy
cd7579a727
Do not try to post all task generator when installing, that will not work
2015-11-10 19:47:19 +01:00
Thomas Nagy
2fb1e0cfb2
Let gccdeps work when a custom cwd is provided through bld.cwdx
2015-11-08 11:48:53 +01:00
Simon
f3a20e293c
Replaced 'source' arg to 'source_files'. Updated Docs and demo. Fixed bugs.
2015-11-08 10:06:03 +01:00
ita1024
2855dd2411
Merge pull request #1652 from mimon/find_file-fix
...
Enable usage of home folder/tilde ~ in Configure.find_files
2015-11-08 00:40:06 +01:00
Thomas Nagy
70be189ad2
Experimental option env.merge_config_header
...
This new option writes 'defines' into the test files
during the configuration tests for c/c++. This may
provide more readable config.log files.
2015-11-07 23:02:49 +01:00
Simon
842bd28c0d
Changed so that calling expanduser after joining the paths in Configure.find_files
2015-11-07 22:01:37 +01:00
Thomas Nagy
c2605e4dbb
Honor chmod on subst and rule when provided - Issue 1650
2015-11-07 00:29:03 +01:00
Thomas Nagy
8a3ff0e113
Missing Errors import in print_commands.py
2015-11-06 23:11:49 +01:00
Thomas Nagy
ac226635d0
Quote arguments that contain spaces in print_commands.py, and use the latest version of exec_command
2015-11-06 23:07:23 +01:00
Thomas Nagy
7d25369e6c
Removed a leftover print statement
2015-11-06 22:55:45 +01:00
Thomas Nagy
02b8aafb8e
Let chmod on subst change the permissions for all files created (not just the first one)
2015-11-05 18:05:32 +01:00
Thomas Nagy
c5b1aa4a33
Decorators @conf and @run_once must provide function wrappers having the same names as the original
...
The following will now work; mind the order of the wrappers:
@Configure.conf
@Utils.run_once
def print_it(self):
print('hello')
def configure(ctx):
ctx.print_it()
ctx.print_it()
2015-11-05 02:01:32 +01:00
Thomas Nagy
18204eb963
Additional compatibility helpers in compat15.py
2015-11-05 00:57:37 +01:00
Thomas Nagy
efbc47b434
Added a fake Constants module in compat15.py
2015-11-04 23:16:48 +01:00
Thomas Nagy
d4334adfb9
Let waf -v catch invalid string on hcode values in Python3
2015-11-03 22:35:33 +01:00
Thomas Nagy
084d9a215d
Calculate ${SRC} and ${TGT} from user-defined folders
...
The current working directory used for expanding ${SRC} and ${TGT} is
assumed to be bld.bldnode. This change enables changing the current
working directory globally so that commands can be executed from
the 'build' folder instead of the 'variant' folder:
def build(bld):
bld.cwdx = bld.bldnode.parent
bld.cwd = bld.cwdx.abspath()
print("building from %r instead of %r" % (bld.cwdx, bld.bldnode))
...
2015-11-01 14:09:47 +01:00
Thomas Nagy
cf334db465
Use options.enable_gccdeps if provided by user scripts
2015-10-31 11:24:53 +01:00
Simon
921483b335
Enabled usage of home folder/tilde ~ in Configure.find_files
2015-10-30 01:00:33 +01:00
ita1024
975fdde91b
Merge pull request #1648 from mimon/xcode6-gen
...
Xcode6 generator
2015-10-29 18:59:16 +01:00
Simon
f1da3b34ef
Updated useage and docs in xcode6
2015-10-29 11:53:19 +01:00