2
0
mirror of https://gitlab.com/ita1024/waf.git synced 2024-11-18 16:09:32 +01:00
Commit Graph

1702 Commits

Author SHA1 Message Date
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