fedepell
bb458769ee
protoc: add .proto dependencies also in include path otherwise protoc will fail if dependency is in another directory
2018-03-22 23:13:40 +01:00
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