Commit Graph

2075 Commits

Author SHA1 Message Date
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
Thomas Nagy 1b1bad8231
Unused keyword 2016-07-07 07:47:15 +02:00
Thomas Nagy 1fa2e6f7e1
waf-1.9.1 2016-07-03 09:51:45 +02:00
Thomas Nagy 0189850710
Do not de-duplicate configuration flags passed in conf.check(stlib=) for consistency reasons 2016-07-02 19:59:17 +02:00
Gustavo Jose de Sousa 9a0932951f Fallback to run_regular_process if we can't pickle arguments 2016-06-27 20:49:37 -03:00
Thomas Nagy 39056a6ba5
waf 1.9 2016-06-26 13:45:21 +02:00
Thomas Nagy ff1be31ec4
Fix Qt5 detection when pkg-config is missing 2016-06-26 12:06:17 +02:00
Thomas Nagy 50ae7dc3ba
Api docs 2016-06-26 11:59:27 +02:00
Thomas Nagy 461c065bbb
Typo 2016-06-26 00:16:51 +02:00
Thomas Nagy f84b219818
Api docs 2016-06-26 00:15:41 +02:00
Thomas Nagy 850e9ad5fc
Simplify env['FOO'] -> env.FOO 2016-06-25 23:54:12 +02:00
Thomas Nagy ef48d49260
Remove update_outputs from the documentation 2016-06-25 22:48:47 +02:00
Thomas Nagy 4991120891
Api docs 2016-06-25 21:30:32 +02:00
Thomas Nagy fc02c1d42a
Api docs 2016-06-25 20:10:04 +02:00
Thomas Nagy f08356516a
Fix invalid method names in after/before constraints 2016-06-25 19:54:26 +02:00
Thomas Nagy c9db34e1bf
Fix invalid method names in after/before constraints 2016-06-25 19:53:54 +02:00
Thomas Nagy 8ad77d3b6b
Use SVG in the feature map 2016-06-25 18:22:13 +02:00
Thomas Nagy eaa83004c8
Api docs 2016-06-25 16:23:06 +02:00
Thomas Nagy ef6525c0bf
Api docs 2016-06-25 14:49:27 +02:00
Thomas Nagy a2ca4b6dab
Remove Options.platform and Options.cmds 2016-06-25 13:55:13 +02:00
Thomas Nagy 3c132ad97a
Fix a wrong error message when installing to readonly folders 2016-06-25 13:38:48 +02:00
Thomas Nagy 57e711d801
Api docs 2016-06-25 13:27:22 +02:00
Thomas Nagy 2c76187d41
Api docs 2016-06-25 12:50:04 +02:00
Thomas Nagy ccc77cd9f5
Api docs 2016-06-25 02:38:26 +02:00
Thomas Nagy 21e9be8cdb
Api docs 2016-06-24 13:31:06 +02:00
Thomas Nagy 63a29dfd18
Api docs 2016-06-24 13:26:36 +02:00
Thomas Nagy 79aece2650
Api docs 2016-06-24 13:21:32 +02:00
fedepell 585bc1e9a8 qt5: uic generation task, use node.parent insted of self.path otherwise the path gets lost and all ui_XXX.h get generated on top level build directory which may also
lead to name clashes
2016-06-22 14:07:10 +02:00
Thomas Nagy 6854fae055
Removed some annoying whitespace 2016-06-21 22:57:06 +02:00
Daniel Bartel f88f13f0cf Fix the Swig version detection message 2016-06-21 21:19:46 +02:00
Daniel Bartel 44b571172b Merge branch 'master' into check_swig_version 2016-06-21 21:07:55 +02:00
Thomas Nagy 9be51b5cf8
Fix the Python version detection message #1760 2016-06-21 20:22:27 +02:00
fedepell 567ab43ac2 Manage case in unit_test running when LD_LIBRARY_PATH is not already defined in the environment 2016-06-21 09:13:57 +02:00
Gustavo Jose de Sousa a339a9c320 Yet another fix for #1758
The build command wasn't being executed for 'clobber' autoconfiguration.
2016-06-20 18:53:35 -03:00
Daniel Bartel 2241db8557 make check_swig_version similar to check_python_version 2016-06-20 21:38:46 +02:00
Daniel Bartel bf05bac08a fix output format issue 2016-06-20 21:33:26 +02:00
Thomas Nagy 2f03b76833
Qt5 may require -fPIC 2016-06-20 20:24:37 +02:00
Thomas Nagy b2bfbba4f0
One more fix needed for #1758 2016-06-19 13:39:03 +02:00
Thomas Nagy ed7e2f5016
Add -pthread to link jni programs on FreeBSD 2016-06-19 11:26:25 +02:00
Thomas Nagy 59be2b56c0
This fixes #1758 2016-06-19 09:01:02 +02:00
Thomas Nagy 8120504156
Restore configuration values with Configure.autoconfig='clobber' #1758 2016-06-18 01:06:23 +02:00
Thomas Nagy 764645a014
Reduce the amount of paths added to unit test environment variable PATH 2016-06-17 22:02:41 +02:00
Thomas Nagy 16aeb5756a
Extended unit test program parameters 2016-06-17 20:18:06 +02:00
Thomas Nagy 7d5f6e4a59
Process tsk.env.PATH as lists or strings 2016-06-17 07:34:11 +02:00
Thomas Nagy 98f495bda1
Simplify manifest file processing 2016-06-16 21:39:50 +02:00
Thomas Nagy f18d481e75
No need to wrap fc/c/cxx classes for manifest processing 2016-06-16 21:07:40 +02:00
Thomas Nagy 73384b11f4
Dead code removal 2016-06-16 21:02:24 +02:00
Thomas Nagy d50017f693
Have Task.exec_command add tsk.env.PATH to os.environ in the child process 2016-06-16 20:07:40 +02:00
Thomas Nagy dee0932fb0
No need to paste /Fo flags as the command system does not insert spaces anymore 2016-06-16 19:42:29 +02:00
Thomas Nagy 27b2c3b8c4
Task.exec_command already sets the cwd, no need to repeat it 2016-06-16 17:08:53 +02:00
Thomas Nagy 092712f001
Enable per-OS @argfile limits 2016-06-15 22:24:30 +02:00
Thomas Nagy 537d1fcd45
Simplify long command processing 2016-06-15 20:24:34 +02:00
Thomas Nagy 4a09e1943a
Workaround for #1756 2016-06-13 19:19:00 +02:00
fedepell d202190cd0 Fix: when using the ut_cmd or Option --testcmd, if the test command line has parameters (added for example with the ut_fun method as in the examples)
this will be lost as just ut_exec[0] was used. Now join the command line before using it in substition.
2016-06-12 23:59:07 +02:00
Thomas Nagy 605952fe92
Remove redundant warnings 2016-06-11 22:26:34 +02:00
Thomas Nagy 04df9202fb
Reduce Swig verbosity for #1755 2016-06-11 22:23:06 +02:00
fedepell 1986391d79 Fixes #1748 : doxygen convert EXCLUDE_PATTERNS occourences of */ in **/ as internally globs are used 2016-06-05 22:11:18 +02:00
fedepell 32bd21a77f qt5: Fix usage examples as libraries in qt5 are named QT5XXX and not QTXXX as in qt4 (ie. QT5WIDGETS instead of QTWIDGETS) 2016-06-05 22:10:38 +02:00
Thomas Nagy f71fe257ff
Make c_preproc.filter_comments a method so that it is easier to override 2016-06-05 00:53:25 +02:00
Thomas Nagy e8ef5a89eb
More cleanup 2016-06-05 00:23:57 +02:00
Thomas Nagy 75b1423ce8
Winrc processing is almost certainly broken... 2016-06-05 00:01:01 +02:00
Thomas Nagy 062a5263a0
Update conf.check_waf_version to 1.9 2016-06-04 09:33:13 +02:00
fedepell e64061f6d2 DOXY_FILE_PATTERNS is generated as a string but then used as an array when using the RECURSIVE option, therefore the generated patterns for files to be searched are wrong. Convert it into an array with split() therefore to have correct patterns. 2016-06-04 08:51:09 +02:00
Thomas Nagy ae243dd23b
Fix waflib/extras/syms.py 2016-05-29 16:58:41 +02:00
Thomas Nagy 5526a71695
Update batched_cc for waf 1.9 2016-05-29 16:45:42 +02:00
Thomas Nagy 6665a6ebdd
Update waflib/extras/stale.py 2016-05-29 14:11:05 +02:00
Thomas Nagy 02a8361149
Beautify Logs.{debug,error,info,warn} now that the formatting bug is fixed 2016-05-28 16:18:51 +02:00
Thomas Nagy a615bb56c1
Use the info/error parameters 2016-05-28 15:11:58 +02:00
Thomas Nagy 8fcd30dcc8
Subclasses should not provide incompatible constructors 2016-05-28 14:51:44 +02:00
Thomas Nagy 34bad1498f
Remove the preforks since we already have a version with subprocesses in Utils.py 2016-05-27 18:59:40 +02:00
Thomas Nagy a2b7c639e8
cleanup 2016-05-27 18:23:04 +02:00
Thomas Nagy 6574fd7e40
waf 1.9.0 p3 2016-05-23 22:08:57 +02:00
Thomas Nagy d3471d6171
Adjustments for the msvc configuration structure changes 2016-05-22 18:39:44 +02:00
Thomas Nagy c3af6e3fad
Simplify the data structures in msvc.py 2016-05-22 18:27:57 +02:00
Thomas Nagy 1eb45162b1
Bind setup_msvc and setup_ifort as configuration methods 2016-05-22 17:11:29 +02:00
Thomas Nagy 9c44a4b360
Remove print_all_msvc_detected 2016-05-22 17:10:21 +02:00
Thomas Nagy 315d94ec24
Typo conf->self 2016-05-22 17:06:53 +02:00
Thomas Nagy 0c945f9e0a
Simplifications 2016-05-22 16:57:22 +02:00
Thomas Nagy 25fc153658
Improve ifort logging 2016-05-22 16:48:14 +02:00
Thomas Nagy 201118736e
Error handling simplifications 2016-05-22 12:40:51 +02:00
Thomas Nagy 76c9d3356b
Remove msvc.get_compiler_env which does not get anything 2016-05-22 12:12:32 +02:00
Thomas Nagy c46ffd1a4a
Typo 2016-05-22 12:09:46 +02:00
Thomas Nagy e3d1da421f
Remove one level of object nesting in msvc configuration 2016-05-22 12:04:23 +02:00
Thomas Nagy dbad47244b
Cleanup 2016-05-22 11:15:00 +02:00
Thomas Nagy bae3e35af5
Cleanup 2016-05-22 10:58:24 +02:00
Thomas Nagy 56b84dc5a5
Cleanup 2016-05-22 03:13:28 +02:00
Thomas Nagy 15985db73d
Refactor ifort.py like msvc.py 2016-05-22 03:07:44 +02:00
Thomas Nagy 7fadda584a
Add a __repr__ method for MSVC_INSTALLED_VERSIONS 2016-05-22 02:50:02 +02:00
Thomas Nagy df6e88f2f5
Typo 2016-05-22 02:45:12 +02:00
Thomas Nagy 929f89c0bb
Simplify msvc.py 2016-05-22 02:43:35 +02:00
Thomas Nagy 67e7db41d9
Simplification x=x+1 -> x+=1 2016-05-22 00:45:47 +02:00
Thomas Nagy 75a011f81c
docs 2016-05-21 12:08:28 +02:00
Thomas Nagy ab9609c0d8
docs 2016-05-21 12:01:48 +02:00
Thomas Nagy c2646d2380
Provide md5_tstamp by default and make it easier to add more persistent BuildContext dicts 2016-05-21 11:58:47 +02:00
Thomas Nagy f876392200
Must call os.remove on files 2016-05-21 01:15:19 +02:00
Thomas Nagy 09fd2f211f
Ensure Node.delete can remove invalid folders 2016-05-21 00:39:56 +02:00
Thomas Nagy e09a32467f
Fix install_files in the case relative_trick=True 2016-05-20 19:20:54 +02:00
Thomas Nagy 5eaf7aee1b
Simplification 2016-05-18 22:02:47 +02:00
Thomas Nagy 74e54322c5
Use try-else-finally in Python >= 2.5 2016-05-18 22:01:37 +02:00
Thomas Nagy 3f38b9d2b8
Logic simplification 2016-05-18 21:34:23 +02:00
Thomas Nagy 3c5be88550
Better names for install task method and compatibility fix for install_task.dest 2016-05-18 19:43:14 +02:00