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