2
0
mirror of https://gitlab.com/ita1024/waf.git synced 2024-11-11 12:49:06 +01:00
Commit Graph

2180 Commits

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