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
fedepell
185530e170
cppcheck: fix Python3 incompatibilities (see #1921 )
2017-03-08 18:22:22 +01:00
Thomas Nagy
d625e2ac2a
Additional fortran extensions #1916
2017-03-04 12:08:22 +01:00
Thomas Nagy
c8d83954b7
Provide unity builds per task generator
2017-03-04 10:29:04 +01:00
Thomas Nagy
37af78a02b
Obtain run_build_cls from run_build/check parameters
2017-03-04 08:22:18 +01:00
Thomas Nagy
5d4074eb7f
Display commands as string with "WAF_CMD_FORMAT=string waf build -v"
2017-03-04 08:20:27 +01:00
Thomas Nagy
5fb2e21ccf
Remove smart_continue because it is the default behaviour
2017-03-02 20:47:45 +01:00
Thomas Nagy
65dc0c7a6f
Remove force_build_directory as it is the default behaviour
2017-03-02 20:47:22 +01:00
Thomas Nagy
e352fb05c0
UNC path fixes
2017-03-02 20:45:45 +01:00
Thomas Nagy
14197b713f
Cleanup
2017-03-02 20:43:44 +01:00
Thomas Nagy
121e2c29d1
Work around an annoying Python 3.6 regression #1889
2017-03-02 20:10:43 +01:00
Thomas Nagy
8560c18ccb
Process a given task group exactly one
2017-02-20 19:01:33 +01:00
Thomas Nagy
63a53064a3
Provide TaskGroups to replace mem_reducer
2017-02-19 19:58:19 +01:00
Thomas Nagy
1c3c49d0fb
Simplify task.inputs/task.outputs usage
2017-02-19 11:05:44 +01:00
DragoonX6
0c541f606a
Make clang_compilation_database add-on always output complete listings.
2017-02-18 13:04:59 +01:00
Alexander Afanasyev
acd41beef1
qt5: Workaround for QT5 detection on macOS (Bug #1910 )
2017-02-15 18:36:20 +01:00
Matt Selsky
c46ee9bfe3
Typo
2017-02-15 18:36:13 +01:00
Alexander Afanasyev
4e9c5cfa37
c_osx: Fix install task for mac_files
2017-02-15 18:36:05 +01:00
Thomas Nagy
30d5733c22
Better error message on missing macros
2017-02-14 22:44:09 +01:00
Thomas Nagy
2f64e0a273
Warn for missing cflags/cxxflags in gccdeps
2017-02-14 22:36:35 +01:00
Thomas Nagy
620f255b13
Fix the thread index in parallel_debug
2017-02-14 19:42:07 +01:00
Thomas Nagy
d7822a04de
Make Task.Task.hcode a hashable value
2017-02-12 15:42:40 +01:00
Thomas Nagy
497f028a95
Implement a new priority system
2017-02-12 15:29:16 +01:00
Thomas Nagy
ee98328c2f
Keep winres flags in subsequent detections #1908
2017-02-11 23:33:57 +01:00
Thomas Nagy
b7d93c3c4d
Update the year in headers to 2017
2017-02-11 16:13:37 +01:00
Thomas Nagy
5ac8e882e0
Remove the TaskBase class hierarchy level
2017-02-11 15:04:25 +01:00
Thomas Nagy
62fe305d04
Remove field_name, type_name, function_name from conf.check() tests #1906
2017-02-11 10:41:05 +01:00
Thomas Nagy
1ea2039c3a
cleanup
2017-02-05 13:00:36 +01:00
Yinon Ehrlich
cd20e6f0c2
Retain original trace-back ( #1903 )
2017-02-05 12:59:36 +01:00
Thomas Nagy
2d59e84687
Cleanup
2017-01-30 23:25:30 +01:00
Jan Niklas Hasse
3a7903cebd
Improve error message about version mismatch ( #1902 )
2017-01-30 23:25:18 +01:00
Thomas Nagy
f2eaf17089
Disable the detection of Qt debug libraries
2017-01-28 11:50:41 +01:00
Thomas Nagy
ee2c5865f9
Simplify the Qt5 library detection
2017-01-28 11:41:07 +01:00
Thomas Nagy
107b82a242
Remove the lib- prefix from created import libraries
2017-01-28 11:14:03 +01:00
DigitalDan05
90719cf63a
Allow numbers for Java compat attribute ( #1899 )
...
Force the java "compat" parameter as a string.
2017-01-24 20:51:56 +01:00
fedepell
ed3b943803
qt5: generate the list of Qt5 libraries by searching on the system, instead of hardcoded list in tool
...
This gives the possibility to search on the system (QT5_LIBDIR or library automatically
found) for libraries available instead of using the list hardcoded in the tool. The search is
done using a regexp that matches the same files as the ones used for library search with support
for dynamic/static and win32/unix.
This change makes the tool more versatile to new versions of Qt5 as we don't have to maintain the
library list anymore. It should also make configure faster as just the libraries phisically present
will be tested upon. Custom libraries installed on top of base Qt5 will be also recognized with this
method.
2017-01-24 18:26:45 +01:00
Thomas Nagy
1a8e5c881d
Simplify task un-installation
2017-01-22 14:40:36 +01:00
Thomas Nagy
57b406aaff
Add a task status 'canceled'
...
The purpose is to skip safely the tasks that have
missing dependencies due to build errors.
2017-01-21 23:47:44 +01:00
Thomas Nagy
f1487eab44
iso8859-1 -> latin-1
2017-01-21 13:28:06 +01:00
Thomas Nagy
1a0396ea88
Accept nested lists as bld(source=...)
2017-01-21 12:50:52 +01:00
Matt Selsky
0d63f15cde
Typo in docstring ( #1895 )
2017-01-16 18:42:09 +01:00
Thomas Nagy
cfbf539166
Let ant_glob(generator=True) return a generator object
2017-01-15 01:33:44 +01:00
Thomas Nagy
4226d0cf7b
Code cleanup
2017-01-15 01:16:44 +01:00
Federico Pellegrin
ed55a0c9ea
Remove .so extension from detected qt5 library ( #1892 )
2017-01-11 21:30:41 +01:00
fedepell
2128ce1bc1
qt5: add --qtextralibs option to add qt5 custom libraries on the system to the default libraries list present in the qt5 tool
...
example usages:
waf configure --qtextralibs Qt5OpcUA
waf configure --qtextralibs Qt5OpcUA,Qt5Dummy
2017-01-11 08:07:49 +01:00
Thomas Nagy
12b038833e
docs
2017-01-06 23:15:53 +01:00
Thomas Nagy
a3c44f5d9b
Fix the method specification in syms.py
2017-01-06 23:08:05 +01:00
Thomas Nagy
c2baf7f9bf
Missing parentheses in syms.py
2017-01-06 23:02:56 +01:00
Thomas Nagy
0d47689d97
Conceal Python 2.6 subprocess errors
2017-01-06 04:30:02 +01:00
Federico Pellegrin
627cdb705d
Add qt5 5.8.x new libraries to qt5 tool ( #1888 )
2017-01-05 19:33:02 +01:00
Thomas Nagy
fa145ed653
Find the order that follows the alphabet
2017-01-05 03:44:36 +01:00
Thomas Nagy
e5cafe6c7a
Change TaskGen.prec into a map of sets
2017-01-05 01:59:51 +01:00
Thomas Nagy
f322cfe569
Improve Utils.Timer on python >= 3.3
2017-01-03 15:48:35 +01:00
Thomas Nagy
3a68ccccff
Do not add -W warnings to cflags from check_cfg
2016-12-31 17:22:41 +01:00
Thomas Nagy
b6be90f555
Add -g and -W flags for #1887
2016-12-28 11:30:32 +01:00
Thomas Nagy
3180d81e86
simplification
2016-12-28 11:26:55 +01:00
Matt Selsky
0b971bdae5
Make sure to save compiler optimization flags from foo-config scripts ( #1887 )
...
python-config on openSUSE needs -O2 to match -D_FORTIFY_SOURCE
Fixes #1886
2016-12-28 11:23:08 +01:00
montonero
94a5f51e98
Added '-o' flag for emscripten linker ( #1885 )
...
* correct static lib extension for emscripten
* added space after '-o' flag for emscripten/clang
* removed empty line
* -o flag for linker
2016-12-27 20:19:06 +01:00
montonero
86dcfb3ee2
Fixed '-o' flag for emscripten/clang ( #1882 )
...
* correct static lib extension for emscripten
* added space after '-o' flag for emscripten/clang
* removed empty line
2016-12-27 20:18:24 +01:00
Thomas Nagy
c12947571d
Display sha256 instead of sha1 on 'waf dist'
2016-12-27 14:42:15 +01:00
Thomas Nagy
5c2db88730
Prevent accidental data sharing on ext_in/ext_out/before/after
2016-12-26 15:54:03 +01:00
dffischer
b521041eb4
glib2: Compile schemas per directory ( #1881 )
...
* glib2: Compile schemas per directory
By changing GSETTINGSSCHEMADIR during the build setup or on single tasks
or generators, the user may place schemas in various locations. Adding a
post build function for each of this location compiles all of them
instead of only one global directory.
* glib2: Notify user about failed schema compilation
* glib2: Demo schemas installed to multiple places
A new schema lacking lacking any enumerations was introduced. Installing
it isolated simplifies the generator creation to the essential
components demonstrated.
2016-12-23 17:45:12 +01:00
Thomas Nagy
2468850953
Improve process_rule cache accuracy
2016-12-22 18:14:36 +01:00
Thomas Nagy
2d6487883c
Fix chmod with tuple rules #1884
2016-12-22 15:21:26 +01:00
Thomas Nagy
dbe1a4ad78
Include all vars in tuple rules #1883
2016-12-22 15:21:16 +01:00
Thomas Nagy
900d6b891c
Optimize Node.path_from
2016-12-21 22:28:42 +01:00
Thomas Nagy
09713f49e4
Update the gsettings schema cache without a shell
2016-12-21 22:28:30 +01:00
XZS
af7f6c68d6
glib2: consider destdir when compiling schemas
...
When a destdir is set, the schemas are now not only installed below it,
but also compiled there.
2016-12-21 22:28:18 +01:00
montonero
29cc88faf1
correct static lib extension for emscripten ( #1876 )
2016-12-21 22:27:52 +01:00
Ricardo Crudo
2ea34191fb
Tools/python: add option --nopycache ( #1878 )
...
Add option to not use __pycache__ dir when installing python objects.
2016-12-21 22:27:29 +01:00
Thomas Nagy
9be4fa2c0c
Avoid hash() and __class__ usage in Task.hash_constraints
2016-12-07 23:18:53 +01:00
Thomas Nagy
ce78d67f9d
Simplification __class__.inst_to -> inst_to
2016-12-07 22:01:24 +01:00
Thomas Nagy
468f205bcd
Read variables from self.vars #1873
2016-12-07 19:09:30 +01:00
Thomas Nagy
d0c475462b
docs
2016-12-04 01:36:00 +01:00
Thomas Nagy
90993f1153
Remove c_preproc.trimquotes
2016-12-03 06:47:37 +01:00
Thomas Nagy
ceedab882d
Remove atleast-version, exact-version and max-version from conf.check_cfg
2016-12-03 06:44:20 +01:00
Thomas Nagy
ac2ebb2ccc
Remove Task.update_outputs, Task.always_run
2016-12-01 22:58:47 +01:00
Thomas Nagy
fb01bf72ab
Remove the BuildContext.rule decorator
2016-12-01 22:57:25 +01:00
Thomas Nagy
a5d2c5fe24
Remove Node.sig/Node.cache_sig
2016-12-01 22:55:49 +01:00
Thomas Nagy
3e7098861c
Use find_resource for java manifest files
2016-11-26 20:27:04 +01:00
Thomas Nagy
383fb61b0d
Fix the inconsistent partial detection for #1865
2016-11-26 19:39:46 +01:00
Thomas Nagy
c5bf55ee86
Allocate Utils.lru_cache lazily
2016-11-26 18:59:38 +01:00
Thomas Nagy
5fd84a75e6
More cleanup for #1865
2016-11-26 14:22:30 +01:00
Thomas Nagy
1318c5f2d6
Cleanup for #1865
2016-11-26 11:54:27 +01:00
Gustavo J. A. M. Carneiro
ac55bf5bf7
Accept functools.partial() as a task rule #1862 ( #1865 )
...
Accept functools.partial() as task generator rules #1862
2016-11-26 11:54:18 +01:00
Thomas Nagy
99d5112da6
Increase the cache size for #1833 and #1859
2016-11-22 20:34:23 +01:00
Thomas Nagy
ec9081e81c
Let Node.find_or_declare accept paths as lists
2016-11-20 13:49:17 +01:00
Thomas Nagy
a892d8725a
Force files into the build directory by default
2016-11-20 13:43:06 +01:00
Thomas Nagy
2c8777ebc8
Keep sorted lists in TaskGen.prec[]
2016-11-20 10:22:40 +01:00
Thomas Nagy
9c87928f33
Removed ut_fun from waf_unit_test.py
2016-11-20 10:21:19 +01:00
Thomas Nagy
cdfd5f03cf
Development branch for waf 2.0
2016-11-20 10:14:25 +01:00
Thomas Nagy
4699a7871d
Warn of single dots in ant_glob #1853
2016-11-19 09:12:33 +01:00
Thomas Nagy
af66a27da3
Specify shell usage in test script execution
2016-11-19 00:11:46 +01:00
Thomas Nagy
bdb18e8394
Changed --dump-test-runner to --dump-test-scripts
2016-11-19 00:03:55 +01:00
fedepell
e8942d7f22
waf_unit_test: add new option --dump-test-runner that creates python scripts to manually run or debug test executions
...
this can be very useful when debugging unit test problems as when run outside waf then the LD_LIBRARY_PATH (or PYTHONPATH if used with pytest extra) is set dynamically by waf and therefore running the executable manually or via gdb is not immediate
all the environment will be dumped in python script that can then be executed to run manually tests.
2016-11-18 23:40:59 +01:00
Thomas Nagy
24cc1dc057
missing import
2016-11-14 22:20:57 +01:00
Thomas Nagy
af7716f014
docstring for #1851
2016-11-14 22:13:26 +01:00
Thomas Nagy
0454ee677e
docs
2016-11-08 21:31:11 +01:00
Thomas Nagy
058b8f7f39
simplifications
2016-11-06 12:00:35 +01:00
Federico Pellegrin
90b66a4f04
cppcheck: fix extra forn multiple build rules are in a single wscript ( #1844 )
...
* cppcheck: fix extra forn multiple build rules are in a single wscript
When executed the output from cppcheck will be put inside cppcheck.xml and
then the generated error output inside cppcheck/index.html (and related
subfiles). Of course if two separate build rules are present the files
will clash with each other and data will be lost.
So this will not work in previous version:
bld.program(source=bld.path.ant_glob('src/ex-prog-*.cpp'), includes='src/', target='ex-prog-c')
bld.program(source=bld.path.ant_glob('src/ex-prog2-*.cpp'), includes='src/', target='ex-prog2-c')
In the output just one of the two results will be there (or in worst case
we will have files being deleted/garbled) as they both try to work on
cppcheck.xml and index.html (in build and build/cppcheck respectively)
With this commit the xml/html files have a reference to the task name (so
appended with a dash) so they are unique and don't clash. Also all the
messages to the user are corrected accordingly so the user is pointed to
the correct name of the file (and so are the internal links generated in
the html file).
In the previous case we will have:
ccpcheck detected (possible) problem(s) in task 'ex-prog2-c', see report for details:
file:///home/fede/waf/cppc/build/cppcheck/index-ex-prog2-c.html
ccpcheck detected (possible) problem(s) in task 'ex-prog-c', see report for details:
file:///home/fede/waf/cppc/build/cppcheck/index-ex-prog-c.html
* cppcheck: Provide as an option also old way of single index.html file for compatibility
2016-11-06 11:33:25 +01:00
Thomas Nagy
6ecf6390a8
Better error message on method cycle detection
2016-11-05 11:56:08 +01:00
Thomas Nagy
076d9202ba
Append tex configuration outputs to config.log
2016-11-04 06:10:17 +01:00
Thomas Nagy
86e9c0527c
Cleanup
2016-11-03 22:42:17 +01:00
fedepell
572cd98aab
cppcheck: add possibility to use -j option for multiple parallel threads, speeds up drastically when executing on multiple source files
2016-11-03 22:02:10 +01:00
fedepell
655217384a
cppcheck: check very ugly if code checking for configuration mode
2016-10-27 18:36:34 +02:00
fedepell
c6ebd2547c
cppcheck: do not execute task when in configuration mode as this can break other tools (ie qt5) which do a test build. see also #1840
2016-10-26 22:41:02 +02:00
fedepell
54a5ebe46a
pytest extra: add more graceful and informative error if parameter is pointing to no valid source files
2016-10-24 11:17:21 +02:00
Thomas Nagy
0db417ac1a
docs - #1836
2016-10-20 18:44:55 +02:00
Thomas Nagy
cd50b17e7b
Wrong cwd path for unity.py
2016-10-18 18:09:44 +02:00
Thomas Nagy
287046547b
Let unity builds use relative paths for msys #1834
2016-10-17 20:06:39 +02:00
Thomas Nagy
9ae47088bb
Enable configurable preprocessor cache sizes #1833
2016-10-14 19:28:26 +02:00
Thomas Nagy
4bd13de095
Unnecessary file
2016-10-11 18:35:12 +02:00
Thomas Nagy
3e47e4250e
Display @argfile contents in msvcdeps #1831
2016-10-11 18:34:35 +02:00
Thomas Nagy
443985720f
Do not change permissions on symlinks because this is not used anywhere
2016-10-09 21:41:31 +02:00
Thomas Nagy
b159ecc44f
waf-1.9.5
2016-10-09 16:28:59 +02:00
Thomas Nagy
4ed44b2e99
Fix the api documentation
2016-10-08 23:29:46 +02:00
Thomas Nagy
f02047b8ea
Add install_user and install_group to bld.install/bld.install_as/bld.symlink_as
2016-10-08 22:35:05 +02:00
Thomas Nagy
4417a3c8c1
Minimize the amount of tasks displayed during the build #1828
2016-10-08 12:53:16 +02:00
ita1024
6f415aa17a
Merge pull request #1818 from mimon/xcode6-updates
...
bugfix: do not merge env variables of type dictionary in xcode6 tool
2016-10-03 21:29:26 +02:00
Simon
7da04766a3
docs +xcode6 bugfix: do not merge env variables of type dictionary into PROJ_SETTINGS config
2016-10-03 20:36:10 +02:00
Thomas Nagy
70a40c1673
Let the Python byte-compilation display pyc/pyo
2016-10-03 15:30:04 +02:00
Thomas Nagy
37388fda3b
Enable waf --zones=argfile to display @argfile contents
2016-10-03 14:08:42 +02:00
Thomas Nagy
3686ac341d
Simplifications for #1823
2016-10-03 13:02:51 +02:00
Thomas Nagy
eab0bd4c82
Simplifications
2016-09-30 21:36:28 +02:00
Jan Niklas Hasse
bfcef62e45
Don't fail on output decoding errors
2016-09-30 14:25:49 +02:00
Jan Niklas Hasse
87419b3c6b
Less verbose output when a task failed if not running with -v
2016-09-26 12:44:23 +02:00
fedepell
df3b886067
If compiler_cxx was not configured before qt5 then qt5 will try to build applications with an empty compiler which gives very strange errors in the config log. Just check if the compiler is not there and remember the user that compiler_cxx should be configured before qt5.
2016-09-19 17:17:39 +02:00
Thomas Nagy
410d1568d5
Better error message for 'File %r has no mapping in %s'
2016-09-15 22:00:26 +02:00
Thomas Nagy
9ed7d41488
Expand '--foo=' with shell=False - Issue #1814
2016-09-15 21:36:02 +02:00
fedepell
40dafce024
Add qt5 5.7.x new libraries to qt5 tool
2016-09-15 14:40:24 +02:00
ita1024
ca71d1c12b
Merge pull request #1813 from fedepell/pyqt5-pyqt4
...
Add also support for older PyQt4 bindings
2016-09-14 22:02:39 +02:00
fedepell
4770983a87
Add also support for older PyQt4 bindings
2016-09-14 21:42:10 +02:00
fedepell
e8f6d4bfe7
Correct option used for python executable (--python and not --pythondir)
2016-09-14 21:09:45 +02:00
Simon
8b912d2b1f
changed name for alias exe() to program() in xcode6
2016-09-10 15:39:07 +02:00
Thomas Nagy
9c50a30f94
waf 1.9.4
2016-09-10 12:33:21 +02:00
Thomas Nagy
8797425153
Expose Python3 timeout on Task.timeout and bld(rule=..., timeout=...)
2016-09-10 12:32:01 +02:00
Thomas Nagy
86e9b6b959
Set the configuration test build class on conf.run_build_cls
2016-09-10 12:12:46 +02:00
Thomas Nagy
62459e1147
Accept Task.cwd as str besides Node
2016-09-10 10:44:08 +02:00
Thomas Nagy
445e989594
Unnecessary __slots__ annotation on thread subclass
2016-09-04 16:21:03 +02:00
Thomas Nagy
fc2946ce64
Re-raise TimeoutExpired from process executors
2016-09-03 22:36:41 +02:00
Thomas Nagy
af172413f4
Python 3.3 fix
2016-09-03 22:24:29 +02:00
Thomas Nagy
71aed22539
Call killpg only if setsid is enabled
2016-09-03 20:22:43 +02:00
Thomas Nagy
a91e7be005
Ignore subprocess timeouts on Python < 3.3
2016-09-03 18:36:19 +02:00
Thomas Nagy
9f14c9dda0
Kill process trees on timeouts (os.killpg)
2016-09-03 18:29:41 +02:00
Thomas Nagy
1721a505d9
Use the new syntax for sets
2016-09-02 20:20:43 +02:00
Thomas Nagy
7719af7af1
Missing timeout settings
2016-09-02 20:06:26 +02:00
Thomas Nagy
e3092aadc7
Parallel tests can now have an execution order
2016-09-01 22:08:03 +02:00
Thomas Nagy
478d31e701
Can we start using the 'with' keyword now?
2016-08-28 14:06:39 +02:00
Thomas Nagy
d8d7c87ba1
Display parallel test results as they finish
2016-08-28 13:48:16 +02:00
Thomas Nagy
8dba949014
Use the same logic as Python3.5 for handling timeouts #1807
2016-08-28 13:12:55 +02:00
Thomas Nagy
1fb3bfee6a
ValueError and OSError are subclasses of Exception
2016-08-28 10:48:41 +02:00
Gustavo Jose de Sousa
86da12e56e
Fix error when adding new items to SAVED_ATTRS
...
If something was added to SAVED_ATTRS, the next build command failed because
the saved dictionary in the pickle file didn't have that new key.
2016-08-25 13:10:33 -03:00
Thomas Nagy
fdc3b47067
Python3 - Kill processes in subprocess timeouts #1807
2016-08-25 07:48:14 +02:00
Thomas Nagy
f7367c8051
Enable 'waf dist' in arbitrary paths
2016-08-24 18:07:24 +02:00
Thomas Nagy
6e4ba6620c
Remove the Go example because Go has a completely distinct toolchain now
2016-08-22 19:06:12 +02:00
Thomas Nagy
a4f6c7468d
Netcache example update
2016-08-21 17:10:17 +02:00
Thomas Nagy
e169da4227
waf 1.9.3
2016-08-21 15:35:44 +02:00
Thomas Nagy
d31398c4a3
Docs on conf.multicheck
2016-08-21 15:31:47 +02:00
Thomas Nagy
96fe543f2e
Docs
2016-08-21 15:17:47 +02:00
Thomas Nagy
5b30eba4db
Let parallel tests run all tests by default (do not stop on the first error)
2016-08-21 15:10:20 +02:00
Thomas Nagy
ec6b72b0ad
Display failed configuration tests in yellow in multicheck
2016-08-20 13:06:23 +02:00
Thomas Nagy
7d3ddac860
Parallel configuration tests with arbitrary functions #1793
2016-08-19 22:15:04 +02:00
Bernhard Vogginger
49236784b2
Add suppport for finding lib boost_python in gentoo
...
* find libname pattern "libboost_python-2.7.so"
Change-Id: I19a66a5992f7d077c2ed8e35e26e414ab194a7e6
2016-08-19 11:31:22 +02:00
fedepell
a9bb62b3f6
qt5: qt5 5.7 detection, added also case with std=c++11 but no fPIC/fPIE
2016-08-19 06:59:40 +02:00
Thomas Nagy
adea933f1a
Qt 5.7 -std=c++11 #1798
2016-08-18 22:21:35 +02:00
Thomas Nagy
26fc0cfced
Enhance the display of parallel configuration tests
2016-08-15 22:48:29 +02:00
Thomas Nagy
7d60c89744
Split Nag Fortran compiler flags #1797
2016-08-15 19:41:50 +02:00
fedepell
c31aee8745
Add configuration option to select PySide2 Python QT5 bindings, while PyQt5 bindings remain otherwise searched first by default.
2016-08-14 22:02:48 +02:00
Thomas Nagy
f5cfef4be3
Set no_errcheck_out on a task to disable the output files verification
2016-08-13 19:49:28 +02:00
Thomas Nagy
07c153c220
Un-hardcode the cfgtask class name for parallel tests
2016-08-13 09:39:25 +02:00
Thomas Nagy
a4e7cb1930
Copy os.environ because Python3 cannot serialize it
2016-07-31 18:48:36 +02:00
Thomas Nagy
332f3c5665
waf 1.9.2
2016-07-31 18:39:33 +02:00
Thomas Nagy
a76388b632
Obvious mistake
2016-07-31 18:16:31 +02:00
Thomas Nagy
3e08a19a56
Use the parent os.environ value as default in pre-forked processes #1791
2016-07-31 15:55:47 +02:00
Thomas Nagy
8be4adcc64
Docs
2016-07-30 22:54:46 +02:00
Thomas Nagy
7778868718
Set TaskBase.keep_last_cmd to keep the last command executed
2016-07-30 10:09:55 +02:00
Thomas Nagy
70e438393d
Add a parameter to keep the last command executed
2016-07-29 23:10:26 +02:00
Thomas Nagy
3169e0bd4b
Cleanup
2016-07-29 23:02:15 +02:00
Thomas Nagy
452907d102
Cleanup
2016-07-29 20:44:38 +02:00
Thomas Nagy
11ff58981a
Replace FileNotFoundError by EnvironmentError for python2
2016-07-29 20:40:38 +02:00
ita1024
1308001a9e
Merge pull request #1790 from fedepell/pyqt5-separate
...
pyqt5 extra to support qt5 files to python conversion
2016-07-29 18:57:56 +02:00
fedepell
f4e1b59bbc
Fix install_from after suggestion of ita on how to do it better and make sure install_path is present as python requires it
2016-07-29 16:36:01 +02:00
Gustavo Jose de Sousa
8c4401637a
Set do_config as True if file is not found
...
Instead of leaving the user with an error due to FileNotFoundError exception.
2016-07-28 18:28:20 -03:00
Thomas Nagy
954594bf07
Support flexflags as arguments - #1782
2016-07-28 23:19:25 +02:00
Thomas Nagy
195a3e6562
Remove an unnecessary gccdeps verification #1784
2016-07-28 22:22:52 +02:00
Thomas Nagy
ce65dfb415
Node.search -> Node.search_node #1783
2016-07-28 22:03:39 +02:00
fedepell
7ade9796a6
Fix installation path for .py files that are generated on the fly in build
2016-07-28 18:13:26 +02:00
Thomas Nagy
3c2c6a62b0
Remove leftover 'print' statements
2016-07-27 20:22:48 +02:00
Thomas Nagy
7aaa7c14ba
Make gccdeps and msvcdeps compatible - #1780
2016-07-26 19:41:57 +02:00
Thomas Nagy
fe2f2b4fe6
Fix a docstring error
2016-07-25 23:27:05 +02:00
Thomas Nagy
1df8c148f6
Move pytest to the extras/ section
2016-07-25 23:23:44 +02:00
Thomas Nagy
8e68aa4ade
Python 2 fix
2016-07-25 23:10:10 +02:00
Thomas Nagy
c916febaf7
Update some old code
2016-07-25 22:12:35 +02:00
Thomas Nagy
9332a9c24d
Whitespace and Options.options for cppcheck
2016-07-25 20:18:49 +02:00
ita1024
2197dbdff1
Merge pull request #1774 from xbreak/pytest
...
Python unit test support via `pytest' feature.
2016-07-25 19:45:57 +02:00
Thomas Nagy
f623675524
Fix an obsolete import
2016-07-25 19:05:36 +02:00
Calle Rosenquist
3fb1abbb39
Python unit test support via `pytest' feature.
2016-07-25 12:47:41 +00:00
fedepell
d3367e9b0a
Clear up usage text
2016-07-23 14:24:57 +02:00
fedepell
5d8c8a2080
Fixes on comments
2016-07-23 14:22:26 +02:00
fedepell
ad356b3ed2
- Fixed identations
...
- Search for tools just in PATH not in other directories as for C++
- Remove options handling as there is none at the moment
- Use find_program instead of local find_bin
- Fix author
- Try to make documentation clearer
- Remove useless after_link decorator
2016-07-23 14:13:40 +02:00
fedepell
0c78c7ad8e
First version of the pyqt5 extra to add QT5 ui/resources translation to py to be used with pyqt5 or pyside2
2016-07-23 12:51:04 +02:00
Simon
04b7fb6086
Updated docs for xcode6 tool. Also, xcode6 tool tested for XCode 7 (successfully)
2016-07-18 14:01:29 +02:00
Thomas Nagy
ef0cf35cb1
Force qt5 static library detection for #1588
...
Use: 'QT5_XCOMPILE=1 QT5_FORCE_STATIC=1 waf configure'
2016-07-17 15:19:06 +02:00
Thomas Nagy
6e078cff66
Python 3 fix for waf dist #1769
2016-07-14 21:21:50 +02:00
Thomas Nagy
ebc0048eb0
Use if/else blocks instead of and/or in python 2.5
2016-07-14 17:45:49 +02:00
Thomas Nagy
cdb46e29f9
Disable defines by setting define_name='' #1766
2016-07-08 19:39:34 +02:00