Thomas Nagy
8404aa4d5c
Cosmetic changes on the gdbus/dbus tools
2018-03-21 23:56:48 +01:00
Thomas Nagy
b806fe31d9
Moved gdbus to the playground area
2018-03-21 23:53:18 +01:00
Joshua Watt
922604492a
gdbus: Add glib DBus bindings
...
Adds support for generating dbus bindings using the newer gdbus-codegen
tool that is designed to replace the deprecated dbus-binding-tool tool
2018-03-21 23:51:55 +01:00
Thomas Nagy
facdc0b173
Python 3.7 fixes #2126
2018-03-12 20:42:55 +01:00
Thomas Nagy
de992ea840
Enable Utils.lazy_generator in Python 2
2018-03-11 22:42:21 +01:00
Fangrui Song
5e4b86b81d
Use "arguments" instead of "command" for compile_commands.json
2018-03-11 21:54:35 +01:00
fedepell
adbee3f23a
protoc: protoc (ver 2 and 3) strips underscores when generating .java file names. consider this in node name generation otherwise the generated java file will not be found
2018-03-09 17:39:55 +01:00
Alexander Afanasyev
9e2da12800
Correction of boost module detection of Boost.Log
...
The previous logic in #1709 made an incorrect assumption that the
filename of shared/static library indicates that it was build as
multi-threaded or single threaded. This assumption does not hold in many
Linux distributions.
In addition to that. Boost.Thread and Boost.Log require -pthread (or
some other) flags in order to properly link.
2018-03-09 08:49:42 +01:00
Alexander Afanasyev
4c79d0dda4
Fix strangle issue with precompiled headers and shared libraries
...
When shared library compiled with precompiled headers enabled, this
change prevents precompiled headers to activate on dependent targets.
Otherwise, there is an issue with -fPIC flag propagation.
2018-03-09 08:48:24 +01:00
Andrew Keller
d525e2ccac
xcode6: fix py3 support
2018-03-08 09:38:59 +01:00
fedepell
e9eca13d92
protoc: fix generation of include directories when having nested wscripts
2018-03-06 09:14:10 +01:00
fedepell
a02c6d8727
protoc: handle case of proto files in deep directories when output is generated with paths
2018-03-02 19:33:38 +01:00
Thomas Nagy
459ddf50b6
waf-2.0.6
2018-02-18 13:24:13 +01:00
Thomas Nagy
ae907a859e
Provide an example of storage using extended filesystem attributes
2018-02-17 22:35:52 +01:00
Thomas Nagy
1a43b608ac
Enable deep input dependencies as a task decorator
2018-02-17 18:40:29 +01:00
Thomas Nagy
a7546a2d22
Fix Python 3 encoding for unit tests #2108
2018-02-14 21:06:48 +01:00
Thomas Nagy
6b99cbfce2
waf-2.0.5
2018-02-10 20:50:13 +01:00
fedepell
23beecebf3
javaw: raise a build fatal error if manifest file not existing instead of crashing
2018-01-24 21:00:13 +01:00
Thomas Nagy
deacb94c93
Force unit tests to depend on the executable creation time
2018-01-24 20:56:40 +01:00
fedepell
0c07d0d7fb
eclipse: don't rely on Context.g_module.out as it may not be defined if default used, used bldnode instead
2018-01-19 00:40:00 +01:00
fedepell
daa0c135e1
eclipse.py: support also if passed srcdir is a Node or a list of directories (which are valid inputs for javaw.py)
2018-01-19 00:40:00 +01:00
Thomas Nagy
d21446ff71
Update docs for 2018
2018-01-01 20:53:49 +01:00
Thomas Nagy
7b36a52b4e
waf-2.0.4
2017-12-30 10:36:51 +01:00
Thomas Nagy
5996879673
Enable more advanced warnings of ant_glob on build folders in verbose mode
2017-12-23 20:36:14 +01:00
Thomas Nagy
2f27d6f52c
Enable 'waf clean' to get the list of files to remove from bld.clean_files
2017-12-23 15:05:29 +01:00
Thomas Nagy
c0e2e7f281
Defer node.ant_glob(..., generator=True) evaluation
2017-12-23 14:56:54 +01:00
Thomas Nagy
955e10291d
Define the environment variable WAF_NO_PREFORK to skip pre-forking
2017-12-22 15:40:06 +01:00
Thomas Nagy
aa361ee568
Fix Can't pickle local object '_createenviron.<locals>.encode' exceptions (Python 3.6)
2017-12-22 14:59:31 +01:00
Thomas Nagy
d35cd0cf12
Improve the Erlang module #2095
2017-12-20 00:13:47 +01:00
Przemyslaw Rzepecki
69157c7b68
Udated Erlang support.
...
This adds a scaner method to track Erlang heders dependencies.
Support for EUnit tests
Support for EDocs
Support for ERL, ERLC, ERLC_FLAGS environment settings.
2017-12-19 22:03:41 +01:00
danbar
fdf22b24c8
fix whitespaces
2017-12-19 16:27:15 +01:00
danbar
3dc4357ada
use interface function of cpplint module
2017-12-19 16:27:15 +01:00
Thomas Nagy
ca6fe005ef
Cosmetic changes
2017-12-13 22:09:12 +01:00
Przemyslaw Rzepecki
c06a19b9d2
Added task target to output of parallel_debug.
...
Without the task name/target it is not obvious which steps in the build take
the most time.
Tested the SVG output with Firefox 52.
2017-12-13 22:06:22 +01:00
Thomas Nagy
bda66f00c3
docs
2017-12-10 21:43:38 +01:00
Thomas Nagy
9effdff4c3
docs
2017-12-10 21:35:53 +01:00
Thomas Nagy
f5f4218cda
Set task.stdout=task.stderr for long-running tasks
2017-12-10 21:27:09 +01:00
fedepell
a6614586c7
javaw: skip adding empty entries in CLASSPATH
2017-12-04 20:14:55 +01:00
Thomas Nagy
2a4c4f0b66
Preparations for waf 2.0.3
2017-12-02 09:43:01 +01:00
Thomas Nagy
6a80016ad5
Warn for typo uses -> use
2017-12-02 09:39:51 +01:00
Thomas Nagy
05188b4c7f
Enable install_path=None for Python targets #2087
2017-12-02 09:26:17 +01:00
Thomas Nagy
a5a3915b7a
Prevent duplicate paths when adding from user classpath #2084
2017-11-30 19:55:48 +01:00
Calle Rosenquist
384e8d85ba
buildcopy: Create destination directories as needed.
2017-11-30 19:09:56 +01:00
Matt Selsky
c98f8ba2ab
Typos
2017-11-28 20:22:10 +01:00
Thomas Nagy
52a61c45e8
Docstring pytask -> pyc/pyo
2017-11-27 19:35:59 +01:00
Thomas Nagy
1f8eee88af
Remove subsystem cflags because those have no effect
2017-11-23 07:50:48 +01:00
Calle Rosenquist
f336f0bf62
pytest: Improved documentation, removed assumption on Python only
...
dep-nodes and locality of link task outputs always in build.
2017-11-20 22:04:35 +01:00
Van de Bugger
f4dca02af6
Unit test summary color scheme fixed to use green and red colors
...
Red color is used for failed tests, green color is used for passed
tests.
2017-11-12 11:35:04 +01:00
Thomas Nagy
96f4eec8ba
Improve the deadlock error message
2017-11-11 10:34:04 +01:00
fedepell
731afed564
report from load_tool the used sys.path in ImportError so it can notified to the user correctly
2017-11-09 08:26:35 +01:00
fedepell
eb6c205ad1
Revert "fix load_tool error messages and cover all occourences"
...
This reverts commit 0557256db454a6ab98e4b909be8fd5db9bbb49c2.
The solution is not viable for API change, let's remove this.
2017-11-09 08:26:35 +01:00
fedepell
5d3576af45
fix load_tool error messages and cover all occourences
...
When a tool cannot be loaded the wrong path was displayed on the error
message. sys.path was always displayed but the actual path used depends
on tooldir being passed and on the value of with_sys_path parameter.
I put the exception handling (raising the fatal) inside load_tool itself
as this is the only place where the exact path is known, without having
to recalculate it outside. To be able to use fatal there also the ctx
has to be passed from the various points.
In this way all load_tool exceptions are caught and reported, while before
an exception during configure was not caught for example, just during the
options.
2017-11-09 08:26:35 +01:00
fedepell
7d00ca7266
qt5: make also uic->h conversion parallel safe, assuming that all transformations are equal
2017-11-03 20:49:49 +01:00
Thomas Nagy
7d62fa411a
waf-2.0.2
2017-10-23 14:48:00 +02:00
DragoonX6
b1efcfa6ab
Change DEST_OS to use underscores in order to find a correct gcc_modifier_ function.
2017-10-23 14:03:47 +02:00
Thomas Nagy
230096c378
Remove extra parenthesis in qt5.py
2017-10-23 13:59:20 +02:00
Thomas Nagy
e6bd4c6609
Add --dnotooltip to parallel_debug for tooltip-free images
2017-10-23 13:55:04 +02:00
fedepell
f5aa701f1f
qt5: resolve concurrency issues when files such as qm and qrc are used by multiple build tasks
2017-10-23 13:51:45 +02:00
Thomas Nagy
4d481ab179
waf-2.0.2
2017-10-22 10:39:32 +02:00
Thomas Nagy
f67d5309f1
Adjust the GAP for tasks from 20*njobs to 5*njobs
2017-10-21 23:21:29 +02:00
Thomas Nagy
40fe56abcd
Have the task count start at 1 (regression)
2017-10-20 20:25:24 +02:00
Thomas Nagy
002c1fa094
Move gather_wsdk_versions after the definition of 'target_compiler'
2017-10-20 20:15:16 +02:00
Thomas Nagy
2928db1c8c
Let ConfigurationContext.load description match more closely Context.load
2017-10-20 20:07:29 +02:00
Thomas Nagy
ec356383e2
object.__getattr__ -> object.__getattribute__
2017-10-20 20:05:06 +02:00
fedepell
ffe88abe80
javatest: extra to integrate java unit testing into standard waf_unit_test environment
2017-10-19 08:28:53 +02:00
Matt Selsky
06f0390992
Typos
2017-10-19 08:27:57 +02:00
Schildkroete23
bef2cf13ec
Use correct batch filed and function for Intel Fortran detection on Windows. ( #2063 )
2017-10-19 08:27:37 +02:00
Thomas Nagy
0be92e74ac
Cosmetic changes for #2055
2017-10-18 21:06:12 +02:00
Roland Puntaier
34e6fd922a
Use DEST_OS in cfg_cross_gnu ( #2055 )
...
* use DEST_OS in cfg_cross_gnu
* add an example
* rename cfg_cross_gnu to cross_gnu
* add configure()
* xcheck_envar -> xcheck_var
* xcheck_var to look in environ only if not already set
2017-10-18 20:54:12 +02:00
Daniel Petró
3010e6a2c3
Fix for Intel Fortran Detection on Windows.
2017-10-17 19:19:15 +02:00
Sean Fisk
21d659b841
Fix incorrect documentation for cmd_and_log
2017-10-17 02:00:13 +02:00
Thomas Nagy
6d18a0e760
Update check_waf_version default bounds
2017-10-11 21:59:29 +02:00
Thomas Nagy
210874d297
Fix #2053
2017-10-04 20:41:21 +02:00
Roland Puntaier
2bbd4b62d5
normpath() to make a 'a/b' variant dir display as 'a\b' on windows
2017-09-30 21:33:41 +02:00
Thomas Nagy
3d64c32c2c
Do not expose the pdb option by default
2017-09-30 21:31:07 +02:00
Roland Puntaier
314240fec9
--pdb option to start pdb on exception
2017-09-30 21:28:55 +02:00
Federico Pellegrin
a02b71a163
protoc: add java support for protobuffers ( #2049 )
...
* protoc: added java support
Modified protoc to support also .proto -> .java generation. the .java file
name generated is not obvious as in C++/Python but follows a couple of rules
that were implemented.
As cxx/python and javaw Tools are quite different the implementation is not
as clean as for cxx/python but is hopefully fine (ie. protoc still uses
sources for input files while javac uses src_dir).
In javaw a small detail was added: a new attribute was added (gencode) that
instructs javac to look for source files also in the build directory. This
are realistically generated code (and .proto -> .java is an example) and
are therefore in the build. Default is false keeping all the previous
behaviour.
* protoc for java enhanchments (protoc version, regex, docs)
In configure stage get protoc version as java naming changes depending on the
version. Implement the version differences between version < 2 and > 2
Improve regex for option catching and implement a mix of them in playground
to verify it.
Add some documentation on how java filenames and paths are generated.
* protoc: build dir with generated code is automatically added, so no need to explicitly use gencode in javac
2017-09-26 19:17:40 +02:00
Thomas Nagy
dc6d584002
waf-2.0.1
2017-09-24 17:23:48 +02:00
Thomas Nagy
8134aed186
docs
2017-09-23 09:44:28 +02:00
Alan Ray
1e994e50fb
Teach use_config to more gracefully fail during options() call #2043
2017-09-23 09:22:35 +02:00
Thomas Nagy
f7833e73ff
Remove unnecessary global declarations
2017-09-23 09:22:24 +02:00
Calle Rosenquist
89c755e714
pytest: Also add in-source library dependencies to libpath. buildcopy: Renamed to_nodes to to_src_nodes to avoid any confusion.
2017-09-23 09:22:16 +02:00
Thomas Nagy
c26f8c12c2
Accept task objects in Build.add_to_group for compatibility reasons
2017-09-23 09:21:51 +02:00
Thomas Nagy
c113442738
Prevent xcode6 from overwriting features lists #2038
2017-09-23 09:21:41 +02:00
Thomas Nagy
31d32c3f49
Improve default preprocessor behaviour for gcc/msvc
2017-09-23 09:21:21 +02:00
Thomas Nagy
e64467892c
Warn against loading gccdeps/msvcdeps options
2017-09-23 09:21:14 +02:00
Thomas Nagy
b78ecf361c
Fix #2035
2017-09-23 09:21:04 +02:00
Thomas Nagy
4272c6b5ba
self.includes may come from a global variable #2035
2017-09-20 20:01:46 +02:00
Thomas Nagy
18955dd91d
Attempt to make the syms tool a little more backward-compatible #2032
2017-09-20 00:06:50 +02:00
Calle Rosenquist
69e45d1a71
Node.ant_glob: Do not ignore case by default, as specified by the documentation.
2017-09-19 22:46:16 +02:00
Calle Rosenquist
1354a37255
Set Logs.verbose from options (regression from be05b6ee8b
)
2017-09-19 15:29:29 +02:00
Thomas Nagy
74204e57e0
waf-2.0.0
2017-09-16 20:34:02 +02:00
fedepell
5cc784aabd
correct the documentation example for colon
2017-09-15 21:06:52 +02:00
Thomas Nagy
4e387de1ce
Follow-up on #2028
2017-09-15 21:00:15 +02:00
Federico Pellegrin
4df813941e
protoc: extend extra to support also Python language ( #2028 )
...
* protoc: extend extra to support also Python language
* protoc: fix ext_out, unite c++/python generation, fix protoc_includes name
2017-09-15 21:00:08 +02:00
Thomas Nagy
da3844b019
Obtain vala tasks directly
2017-09-14 22:47:27 +02:00
Thomas Nagy
e68bc5d65b
docs
2017-09-14 22:20:31 +02:00
Thomas Nagy
ddbc9726b0
Fixup: read the relevant lock file with --top
2017-09-12 20:22:13 +02:00
Adriano Scoditti
f0c8b0c283
When '--top' is specified there is no reason to climb
2017-09-12 20:20:22 +02:00
Thomas Nagy
ad5dd18408
Use the 'with' syntax whenever possible
2017-09-12 19:36:43 +02:00
Thomas Nagy
dcefc468bb
Python3 fixes
2017-09-10 20:59:59 +02:00
Thomas Nagy
be05b6ee8b
Accept relative prefix/bindir/libdir paths from launch_dir
...
Additionally:
- Scripting.parse_options is back for compatibility reasons
- The help message should only be displayed when this is intended
- OptionsContext is responsible for the full initialization, so
the framework should be usable without requiring Scripting.py
- Make it clear that Options.options is an optparse.Values object
- Get rid of the state in Options.options
2017-09-10 20:59:29 +02:00
Adriano Scoditti
3cea04e829
Improve options management
2017-09-10 19:11:27 +02:00
Thomas Nagy
8c3a281746
Fix Configure.autoconfig='clobber' when no previous configuration is present
2017-09-09 17:49:48 +02:00
Mihai Moldovan
4f0c7dc44a
Backport old gfortran compiler support.
2017-09-05 07:58:46 +02:00
Thomas Nagy
82df9d14fd
Remove an unused variable in buildcopy
2017-09-04 21:18:41 +02:00
Calle Rosenquist
82fd4054a7
pytest: Added better support for normal and pyext library dependencies.
...
This also includes the `buildcopy` feature that allows construction of complete Python packages in the build dir.
2017-09-04 21:08:10 +02:00
Karl Linden
01e017cfc2
Make unit testing interpreted scripts work.
2017-09-04 21:07:20 +02:00
Thomas Nagy
53af0cfaef
Remove unused traceback import
2017-09-02 23:34:58 +02:00
Thomas Nagy
b5408091b3
Cleanup unused global statements
2017-09-02 23:34:15 +02:00
captainmalloc
5d4cd9e13c
Default ignore Vim swap and Python Compiled files ( #2020 )
...
* Default ignore Vim swap and Python Compiled files
* Only Vim swap file accepted, removing Python compiled from default ignore
2017-08-31 20:25:18 +02:00
Thomas Nagy
d390d5a5ce
Typo
2017-08-31 20:19:31 +02:00
Adriano Scoditti
fa1a44c115
Fix 'shell' attribute on waf_unit_test:exec_command() Popen call using the same logic defined in Context:exec_command()
2017-08-28 20:23:41 +02:00
Adriano Scoditti
28594b3824
Fix Context.launch_dir init to point on user working directory
2017-08-28 20:13:13 +02:00
Thomas Nagy
ff0b65ff14
Split unit test commands by shlex
2017-08-27 10:56:06 +02:00
Thomas Nagy
755a1bf6a5
Simplify task error handling
2017-08-27 10:11:56 +02:00
Thomas Nagy
5c15f6f39e
Prevent duplicates in c_preproc.py results
2017-08-26 12:24:22 +02:00
Thomas Nagy
5b935a1e6a
Optimize fast_partial.is_stale
2017-08-26 11:13:04 +02:00
Thomas Nagy
b3e9ca89e6
Override the msvc linker through LINK_CXX
2017-08-25 20:23:16 +02:00
Thomas Nagy
0659657a8c
Remove old TODO notes
2017-08-25 20:22:46 +02:00
Thomas Nagy
4438aeadcb
Additional fixes for #2013
2017-08-19 12:58:40 +02:00
Thomas Nagy
57087471c1
Remove Utils.ex_stack - use traceback.format_exc()
2017-08-19 11:54:58 +02:00
Thomas Nagy
d865bffd88
Change the .pickle file storage from waf 1.9
2017-08-19 10:21:40 +02:00
Thomas Nagy
bfe1512a55
Exclude waf-2 folders in waf-2.0
2017-08-19 10:11:36 +02:00
Adriano Scoditti
0e06d4730e
Add distclean compatibility with '--no-lock-in-top' command line option
2017-08-19 09:57:53 +02:00
Roman C. Podolski
d2f48b5d89
Fix protoc #2009
...
Fix bug described in #2009 and extend example in playground to include
described scenario.
2017-08-17 19:56:07 +02:00
Thomas Nagy
c3fee6620c
Update protoc #2009
2017-08-16 19:45:03 +02:00
Thomas Nagy
03a3c604c4
Provide an example of build context sharding
2017-08-13 23:09:35 +02:00
Thomas Nagy
7874f8569f
Cache taskg_gen.idx by absolute path
2017-08-13 23:06:28 +02:00
Thomas Nagy
28846d6f34
Remove one Node class assumption in Task.py
...
Tasks cannot assume that additional dependency (deps_man) belong
to the same Node object class before obtaining their signatures
2017-08-12 16:31:51 +02:00
Thomas Nagy
43d6363177
Re-enable the timestamp cache previously removed
2017-08-09 00:27:13 +02:00
Thomas Nagy
e22390ee44
Obtain store timestamps in a dedicated structure
2017-08-08 22:21:54 +02:00
Thomas Nagy
a28f9475f3
Fixup
2017-08-08 01:01:48 +02:00
Thomas Nagy
dcc09cb0df
Obtain the exact wscript file path
2017-08-07 08:28:03 +02:00
Thomas Nagy
6ed9a9231f
Split fast_partial data storage from the main pickle file
2017-08-06 11:48:25 +02:00
Thomas Nagy
ee3f706bb7
Encapsulate bld.producer.is_dirty behind an interface
2017-08-06 10:51:59 +02:00
Joshua Watt
174f66c523
syms: Improve symbol processing
...
The export symbol regular expression processing is updated to make
several improvements:
* The export expression (export_symbols_regex) now applies to both
functions and global variables
* A named capture group is used to match symbols. This allows the
export expression to contain capture groups without disrupting the
expression matching
2017-08-05 23:17:54 +02:00
Thomas Nagy
1cade2ba13
docs
2017-08-05 23:15:50 +02:00
Thomas Nagy
6d96b245cc
Invalidate the cache if a file is missing in fast_partial
2017-08-02 20:05:00 +02:00
Thomas Nagy
7003858752
Detect configuration changes
2017-08-02 01:23:32 +02:00
Thomas Nagy
5468e0031b
Typo process_uselib_vars -> propagate_uselib_vars #2005
2017-08-02 00:42:42 +02:00
Simon
fe1bb1b58a
Fixed a crash when building a subset of xcode6 targets
...
E.g. when running 'waf xcode6 --targets=some-target'
File "/waf/waflib/Scripting.py", line 167, in waf_entry_point
run_commands()
File "/waf/waflib/Scripting.py", line 268, in run_commands
ctx = run_command(cmd_name)
File "/waf/waflib/Scripting.py", line 252, in run_command
ctx.execute()
File "/waf/waflib/extras/xcode6.py", line 679, in execute
self.post_group()
File "/waf/waflib/Build.py", line 767, in post_group
if self.current_group < self._min_grp:
AttributeError: 'xcode' object has no attribute '_min_grp'
2017-08-02 00:24:11 +02:00
Simon
73c276c11b
Make xcode6 tool consider standard waf build flags
...
Build flags like 'cflags', 'cxxflags' passed to xcode6 builds
are now considered by the xcode6 tool. For example, running command 'waf xcode6'
with the following wscript:
cnf.env.CXXFLAGS = ['-std=c++11']
...
bld.program(..., cxxflags='-O3')
now sets the OTHER_CPLUSCPLUSFLAGS in Xcode to '-O3 -std=c++11'
2017-08-02 00:24:07 +02:00
Thomas Nagy
8289af2b98
Do not skip object-only targets
2017-08-02 00:22:33 +02:00
fedepell
44a9a1f026
qt5: minor correction of uic tool search error message (wrong versions printed)
2017-08-01 22:41:45 +02:00
Thomas Nagy
8da1662894
Example of optimizations for partial builds
2017-07-30 20:11:29 +02:00
Thomas Nagy
6cfd7239c6
Support for old gcc compilers #2003
2017-07-30 19:57:04 +02:00
Thomas Nagy
e3a8e49cf2
TypeError -> ValueError #2002
2017-07-30 00:13:42 +02:00
Thomas Nagy
549fe8cd42
Simplify BuilContext.post_group
2017-07-29 09:19:36 +02:00
Thomas Nagy
2dac65fea9
Document BuildContext.get_targets
2017-07-29 09:16:03 +02:00
Roman C. Podolski
c6fb060710
Protoc: Fix bug in src-path
...
The tool was using an relative path for the includes, but an absolute
for the src-files. Protoc cannot distinguish between relative and
absolute paths and is not able to find sources when relative and
absolute paths are combined.
Tested with protoc 2.6.1, python 3.5.1
2017-07-23 13:25:05 +02:00
Karl Linden
213068dc99
Better default uselib_store and define_name in check_cfg.
...
* Let default uselib_store and define_name be upper case of the first
word of package. This is a better default when package includes a
version specified.
* Remove undocumented *k argument extraction from check_cfg since it
breaks when the first argument includes a version specifier.
2017-07-21 23:35:10 +02:00
Thomas Nagy
12fb29e8a5
WAF_PRINT_FAILURE_LOG #1930
2017-07-20 19:26:22 +02:00
Thomas Nagy
8fedfef8a3
Do not force an encoding on config.log on python2 #1974
2017-07-19 22:38:12 +02:00
Karl Linden
dd3a173e46
Simplify logic in validate_cfg
...
* Validate msg in only on block.
* Reduce the number of places that set okmsg.
* Require exactly one action to be requested.
* Also print the detected version on successful modversion.
2017-07-17 21:26:40 +02:00
Sean Fisk
2c4ff3e28b
Docs: Avoid Qt re-builds by sorting set of includes
...
Because Python's set type is unordered, storing include paths in it
can produce unnecessary re-builds by generating different compiler
command lines between successive builds. Avoid this by using the
sorted() function on the includes.
The documentation for Python ≥ 2.7 guarantees that sorted() is stable,
while for Python 2.5–2.6 it uses the same algorithm as list.sort(),
which is stable [1].
[1]: https://stackoverflow.com/a/1915418
2017-07-06 07:47:48 +02:00
Thomas Nagy
cc9374b646
Assert against invalid inputs in Utils.run_prefork_process
2017-07-01 13:15:17 +02:00
Thomas Nagy
cddc5552e4
Rename WindowsError to OSError in Python3
2017-06-23 16:51:54 +02:00
Thomas Nagy
0a1d47c7ec
Initialize Parallel.processed at 0 not 1
2017-06-23 13:36:28 +02:00
Thomas Nagy
c49a74dd16
Cleanup for #1984
2017-06-21 13:18:07 +02:00
fedepell
8c76bd89ef
eclipse: code cleanups as by comment to #1984
2017-06-21 13:17:59 +02:00
fedepell
73dab83957
eclipse: query the compiler for standard include dirs and add them in eclipse search path, so standard includes can be found also with non standard compilers
...
if command doesn't succeed use hardcoded paths as before. tried with various gcc and llvm.
2017-06-21 13:17:52 +02:00
Thomas Nagy
872052e5c7
Dependencies added after the build starts no longer raise assertions #1982
...
It appears that quite a few builds use the swig tool technique
of setting build dependencies after the build starts. Missing
entries in Runner/revdeps can make builds non-terminating.
2017-06-20 16:31:08 +02:00
Thomas Nagy
4d7527b4c4
Clarify the exception type raised by cmd_and_log
2017-06-20 11:20:53 +02:00
Thomas Nagy
0c4b0592cd
Update some old code in waflib/Tools/fc.py
2017-06-20 10:59:52 +02:00
Thomas Nagy
8795ebc302
Decode vswhere output as utf8/replace when cp1252 fails
2017-06-20 10:02:26 +02:00
Thomas Nagy
6a638625cf
Update the Swig example #1982
2017-06-19 19:42:53 +02:00
Thomas Nagy
a550472fcb
Fix missing tg_idx_count attribute on task generators
2017-06-16 00:28:49 +02:00
Thomas Nagy
f49f162817
Rework the priority system
...
- Have Task.weight apply to the current task only
- Do not rely on object addresses to set the build order
- Introduce tg.tg_idx_count to count task generators
- Enable propagating/non-propagating weights through Task.tree_weight/Task.weight
2017-06-16 00:14:32 +02:00
Thomas Nagy
0b5202a88b
Simplify build order settings for "subst" tasks
2017-06-15 20:36:30 +02:00
Thomas Nagy
af4a768775
Try to process link tasks as early as possible
2017-06-15 16:01:12 +02:00
Thomas Nagy
e5e8397154
Change producer.outstanding.appendleft to producer.outstanding.append
2017-06-14 19:53:01 +02:00
Thomas Nagy
23c0d41aff
Schedule tasks using a priority queue
2017-06-14 18:59:28 +02:00
Thomas Nagy
ddce7d344e
Simplify assertion logic in Runner.py
2017-06-14 14:16:54 +02:00
Thomas Nagy
ef75def36a
Split incomplete tasks into DAG and non-DAG groups
2017-06-14 13:59:46 +02:00
Thomas Nagy
1d4ce07dea
Fix update->extend mismatch in Runner.py - work in progress #1982
2017-06-09 15:54:08 +02:00
Thomas Nagy
f75de87cf4
Complete the rename Runner.frozen -> Runner.incomplete #1982
2017-06-08 20:04:24 +02:00
Thomas Nagy
ccf5961607
Ensure link tasks are processed after swig tasks
2017-06-08 19:46:22 +02:00
Thomas Nagy
3e1e6586e5
Fix one regression on more_tasks #1981
2017-06-08 14:27:56 +02:00
Thomas Nagy
758d520e90
Fix the docstring of find_file #1980
2017-06-08 14:21:45 +02:00
Thomas Nagy
f72167b0e0
Fix one regression on more_tasks #1981
2017-06-07 19:07:27 +02:00
Seth Hinze
2fd1e44a98
Allow overriding namespace of resx files.
2017-06-04 09:18:27 +02:00
Seth Hinze
8410d4554a
Add xmldoc support to cs tool.
2017-06-04 09:18:16 +02:00
Seth Hinze
1d99aed103
Allow /noconfig to be used with csc
2017-06-04 09:18:10 +02:00
Seth Hinze
a3b6d7dcac
Fix pdb installation in cs tool.
2017-06-04 09:18:02 +02:00
Thomas Nagy
377d09831b
Force an encoding on config.log #1974
2017-06-03 00:03:49 +02:00
Thomas Nagy
578230789a
Handle spaces in python paths on Windows #1973
2017-05-29 23:11:53 +02:00
Jan Niklas Hasse
73e7568165
Preserve modification time for is_copy=True
2017-05-24 19:14:54 +02:00
fedepell
b639668c3b
eclipse: generate configuration just for languages that are effecitvely used in wscript and not all of them all the time
2017-05-23 21:24:01 +02:00
fedepell
372c801472
eclipse: little code cleanup
2017-05-23 21:23:53 +02:00
Gustavo Sousa
bb9f4a3b82
javaw: run use_javac_files() before propagate_uselib_vars()
...
Updating the uselib attribute after propagate_uselib_vars() is called won't
yield the desired effect.
2017-05-23 21:23:30 +02:00
fedepell
60070330a6
eclipse: add support also for java project configuration generation
2017-05-17 01:36:05 +02:00
Akira Baruah
5410e58ce5
cpplint: logger subclasses also inherit from object to safely call super()
2017-05-17 01:35:54 +02:00
Thomas Nagy
07c47309de
Handle vswhere output encodings in Python2 #1965
2017-05-17 01:35:38 +02:00
Akira Baruah
86134af9fb
cpplint: fix Python 2 import name collision using absolute_import
2017-05-13 09:42:59 +02:00
Thomas Nagy
7a51f8f364
Detect older products with vswhere.exe
2017-05-08 19:12:17 +02:00
Refael Ackermann
37e2cf449c
Detect MSVS 15.0 Installation path (via vswhere)
...
Fixes : #1924
Inspired by the scripts from https://github.com/node4good/msvs-com-helper
2017-05-08 19:12:08 +02:00
Jan Niklas Hasse
579893f61f
Import library files need to be installed into lib/ on Windows
...
Fix #1860 .
2017-05-06 03:48:43 +02:00
fedepell
71d73d09dd
eclipse: create the pydev python path configuration from the waf setup so the symbols can be correctly resolved in the IDE
2017-05-06 03:48:33 +02:00
fedepell
ac4cd579e6
eclipse: use standard variable ${PROJECT_DIR_NAME} in pydev configuration instead of hardcoded name for better portability
2017-05-06 03:48:26 +02:00
fedepell
acb0420313
eclipse: absolute include paths must be added without the workspace prefix or they will result in an incorrect path. treat them correctly as system paths.
2017-05-03 06:44:55 +02:00
fedepell
25e01a2077
eclipse: generate tool index dynamically or visually eclipse will get confused and overwrite the name of the tools, even if the functionality seems somehow to work anyway.
...
documentation I found seems to point that the index should be unique.
2017-05-03 06:44:48 +02:00
fedepell
f7068944f3
eclipse: pass correct languageId for C++ when generating tool otherwise settings will not be used when C++ files are edited
2017-05-03 06:44:40 +02:00
Akira Baruah
60635533c5
cpplint: add --cpplint-root
option
2017-04-27 21:32:54 +02:00
Akira Baruah
2a7370c597
Check env.CPPLINT_SKIP
after options
are converted to env
s #1953
2017-04-27 21:32:48 +02:00
Akira Baruah
45b11ef381
Remove undeclared ve
variable for performance improvement #1950
2017-04-25 23:59:53 +02:00
Thomas Nagy
b37f37afcd
Improve waf -v speed in verbose mode #1950
2017-04-23 19:10:49 +02:00
Thomas Nagy
712fdf7765
Simplify token processing in c_preproc
2017-04-22 22:30:34 +02:00
Thomas Nagy
ae3d3c6b93
Override ConfigSet.__getattr__ properly in errcheck
2017-04-22 22:29:17 +02:00
Thomas Nagy
fbdc9fd5a3
Code simplifications
2017-04-22 22:12:11 +02:00
Thomas Nagy
8c32fade86
Improve Task group debugging in Runner.py
2017-04-22 22:09:23 +02:00
Thomas Nagy
a768c3114d
Simplify boolean comparisons
2017-04-22 22:08:00 +02:00
Thomas Nagy
e7ba84b8dd
Typo
2017-04-22 21:48:34 +02:00
Thomas Nagy
4b657a6b62
cleanup
2017-04-22 17:29:00 +02:00
Thomas Nagy
5c4e87bbc6
Workaround ironython systemerror bug
2017-04-22 17:17:33 +02:00
Thomas Nagy
89a37949c0
waf-2.0.0pre2
2017-04-22 15:53:00 +02:00
Thomas Nagy
3cee7b36f0
Ensure bld.current_group reflects the current group while building
2017-04-22 15:45:18 +02:00
Jiří Janoušek
585d7876f1
vala: support *.vapi as input files
...
Vala compiler can use *.vapi files also as input files alongside *.vala
files. If you build a library, these vapi files are not included ín
resulting *.deps files and are, therefore, suitable for internal
purposes.
Signed-off-by: Jiří Janoušek <janousek.jiri@gmail.com>
2017-04-21 22:31:17 +02:00
Thomas Nagy
5be20feee2
Exclude install vapi paths and empty installation tasks
2017-04-20 22:06:23 +02:00
Thomas Nagy
1d2f485230
Make the invalid uid task verification slightly less verbose
2017-04-20 22:03:38 +02:00
Thomas Nagy
5ac6123e5e
Cleanup: Break multiple statements on multiple lines
2017-04-17 13:16:57 +02:00
Thomas Nagy
cfe9158664
Cleanup
2017-04-17 12:24:33 +02:00
Simon
b30ff35229
Replace param 'source_files' with 'group_files'.
...
The 'source_files' param to the xcode6 tool was originally separated from the
conventional 'source' param because it was used to control how the source files
would appear in the XCode folder UI. Also, it'd allow to add any file extensions,
and not limited to those extensions supported by the loaded set of waf tools.
This commit renames 'source_files' param to 'group_files'. It also changes the semantic so that 'group_files' now is used like the following:
bld(
source='...', # These are now the files compiled by XCode
'group_files': ..., # Optionally customize the way source files appear i the UI
)
Previously, 'source_files' was used to collect source files for compilation in XCode, and to customize the UI folder structure. In this commit source_files is used only to let the user group files in different UI folders (and add additional resource files besides source files). I want to do the renaming to better reflect the param's meaning.
Additional changes:
* Remove unique_filereference
* Updated examples
2017-04-16 01:38:30 +02:00
Thomas Nagy
29b32f7a1a
Reflect the current build group in bld.current_group
2017-04-15 15:12:03 +02:00
Thomas Nagy
2b09852d9e
Cleanup #1943
2017-04-15 13:50:50 +02:00
Thomas Nagy
f060b33e59
Obtain NO_LOCK_IN_TOP/RUN/OUT from os.environ too
2017-04-14 22:04:57 +02:00
Thomas Nagy
9e9f41c613
Do not cast test outputs to integers with add_to_env
2017-04-14 02:47:44 +02:00
Thomas Nagy
98f051dfa4
Detect Python from conf.env.PYTHON
2017-04-14 02:47:30 +02:00
Thomas Nagy
a31b08615c
Ensure env.PYTHON is set (regression)
2017-04-13 21:10:47 +02:00
Thomas Nagy
25924554f2
Extract the distcheck command argument
2017-04-13 19:03:13 +02:00
Thomas Nagy
eda87cd5b5
Ignore empty lock files
2017-04-13 12:13:34 +02:00
Thomas Nagy
17015626e2
Keep opt.load('python') optional
2017-04-13 12:13:16 +02:00
Thomas Nagy
4c9ee84194
Ignore empty environment variables in find_program
2017-04-10 20:40:07 +02:00
Thomas Nagy
30de08ca8a
Make target declaration unnecessary #1943
2017-04-09 11:28:25 +02:00
Thomas Nagy
c106c929af
Detect the most recent msvc version first
2017-04-08 21:35:37 +02:00
Thomas Nagy
566b3fa644
Xcode 6 generator fixes #1939
2017-04-08 02:27:43 +02:00
Thomas Nagy
172cafa629
Docs for #1937
2017-04-02 09:57:18 +02:00
Thomas Nagy
a61bae1fca
Add -pie for parse_flags #1936
2017-04-02 09:57:02 +02:00
Thomas Nagy
058807ed9a
Add new entries for parse_flags #1936
2017-03-31 18:16:32 +02:00
Matt Selsky
b247ab1c83
Typos
2017-03-27 19:33:16 +02:00
Harald Klimach
648b10a749
Fixed Fortran module naming scheme (unexpected upper instead of lower).
2017-03-27 19:31:52 +02:00
yngwe@FRY
0233ec9c89
#1925 : improve support for Visual Studio 2017, added support for all cross compiler & added ARM64 target support
2017-03-25 23:23:06 +01:00
Thomas Nagy
33918da4f4
Order msvc compiler detection #1907
2017-03-25 13:33:54 +01:00
Thomas Nagy
a26236da2a
Improve Qt detection with frameworks
2017-03-25 12:51:53 +01:00
Jan Niklas Hasse
6ce33c7e53
Support CLICOLOR(_FORCE) to control colored output
2017-03-25 10:44:57 +01:00
Gordon Tisher
dfba301324
Update vs2017 support to correctly configure x64
2017-03-15 18:19:13 +01:00
Gordon Tisher
7c44ac1b3b
Add the ability to detect Visual Studio 2017 to msvc
2017-03-14 22:32:36 +01:00
Simon Guillot
069d5dca2e
Fix bug in the clang_compilation_database tool when no C compiler is loaded
2017-03-14 22:21:10 +01:00
Thomas Nagy
90ab7a2ae9
Cleanup
2017-03-08 18:27:29 +01:00
Justin Israel
6a4091718e
Extend ListContext to print TaskGen descriptions
...
Signed-off-by: Justin Israel <justinisrael@gmail.com>
2017-03-08 18:22:29 +01:00