Commit Graph

914 Commits

Author SHA1 Message Date
Federico Pellegrin b45634d380 javaw: add node dependencies for non-jar tasks to all generated class files 2019-05-08 05:18:31 +02:00
Federico Pellegrin b22b5636e9 javaw: also when using non-jar CLASSPATH has to be populated to use-d tasks. In this case we point to the directory instead of the JAR file 2019-05-08 05:06:29 +02:00
fedepell d9babce4ce javaw: set dependency between javac task and use-d generated jars nodes 2019-05-07 14:42:39 +02:00
Thomas Nagy 85c499b1cc
Describe how to load md5_tstamp - Issue 2231 2019-04-19 18:47:02 +02:00
ita1024 61c9415b30 Merge branch 'javadoc-optional' into 'master'
javaw: make javadoc optional

See merge request ita1024/waf!2225
2019-04-18 06:12:08 +00:00
Robert Herbst fc7648b386 javaw: make javadoc optional
Make javadoc optional to support builds on platforms that don't include
javadoc in their Java distribution.
2019-04-16 19:09:43 -05:00
James Harris c083461978 msvc: add pdb_install_task with /DEBUG:* flags
Currently PDBs are only installed if the /DEBUG flag appears in the
current toolchain's LINKFLAGS attribute. This patch expands support
so that /DEBUG:FULL and /DEBUG:FASTLINK also cause PDBs to be
installed.
2019-04-15 17:52:03 -05:00
fedepell f903ad5f90 waf_unit_test: prevent error when dumping run to script and environment contains UTF-8 chars 2019-03-12 15:46:46 +01:00
Matt Selsky d8f7fe165f Typos 2019-03-07 22:13:40 -05:00
Thomas Nagy b72fabf8e5
Do not expose Task.allow_argsfile and remove allow_argsfile from non-Task class #2216
The class waflib.Tools.winres.rc_parser is not a subclass of waflib.Task.Task:
rc_parser -> c_preproc.c_parser -> object
2019-03-03 17:04:53 +01:00
James Harris 9599cc532f task: winres: allow tasks to disable @argsfile
Not all tools executed by tasks support the '@argsfile' syntax for
shunting commandline arguments to a file. This means that if such
commands are shunted to a file early, he command will not work. On
windows the rc.exe command is such an example, but some tools on linux
have similar limitations. In the posix case, we artifically limit our
commandline size because it is difficult/variable to caluclate what the
actual limit is (it is partially dependent on environment size). This
could artifically cause commands to fail due to commandline length when
they otherwise wouldn't.

This patch fixes this issue by adding the 'allow_argsfile' flag to the
task. This way certain task instances will be able to specify if they
are compatible with the '@argsfile' syntax or not.
2019-02-19 12:48:04 -06:00
fedepell 44046343c9 javaw: add quiet=True to ant_globs to suppress warnings of globbing in build
Most of the ant_globs used are explicitly and knowingly on build directory
(ie. javadoc, jar re) so the warning is quite spurious. The only one that
may be in doubt is the source re one: I added also here because if you use
a code generator (ie. protoc) then it is also correct to glob on builds and
the warning is misleading.
2019-01-31 07:03:26 +01:00
Thomas Nagy 4bd0c72809
Rework the previous changes 2019-01-05 16:16:48 +01:00
Mickaël Schoentgen 412a9b819e Fix all DeprecationWarning: invalid escape sequence
Signed-off-by: Mickaël Schoentgen <contact@tiger-222.fr>
2019-01-05 12:02:42 +01:00
Harald Klimach e0254f7a75 Missing bracket in submodule appending of fc_scan. 2018-12-21 23:13:35 +01:00
Harald Klimach e77a6561a1 Support for Fortran 2008 submodules. 2018-12-21 19:53:12 +01:00
Thomas Nagy 4fd4de389c
Fix the api documentation build 2018-12-15 19:45:47 +01:00
ita1024 6417d5129d Merge branch 'javaw-docs' into 'master'
javaw: add some documentation on tool usage

See merge request ita1024/waf!2200
2018-12-14 06:40:49 +00:00
fedepell 9cd14427c1 javaw: add possibility to enable recurse use also globally via env variable 2018-12-14 05:50:27 +01:00
James Harris 69bac69b5a ccroot.py: add skip_stlib_deps feature 2018-12-13 22:30:54 +00:00
fedepell ce8d103cf4 javaw: add some documentation on tool usage 2018-12-13 16:00:17 +01:00
fedepell 37a36eabf2 javaw: add recursive use processing if recurse_use=True 2018-12-12 07:07:17 +01:00
Romain Le Godais e1981e936f md5_tstamp: Fix documentation.
According to the code, file size is not taken into account to know is the
hash should be recomputed.
2018-11-21 15:02:58 +01:00
Eric Müller 1efa74d38a Append python-config output only once 2018-10-23 12:38:41 +02:00
Adriano Scoditti 9f523216ea Update waf_unit_test command logging to be compatible with 'WAF_CMD_FORMAT' 2018-10-03 17:34:08 +02:00
Thomas Nagy a97f6fb094
Do not raise an exception on check_cfg/mandatory=False/-vv #2193 2018-08-28 23:37:48 +02:00
Thomas Nagy 57fc628d2b
Disable warnings on versioned library installation 2018-08-16 23:30:59 +02:00
Matt Selsky a10822f688 Fix typos 2018-07-28 19:47:10 -04:00
Thomas Nagy 3fc8c8c68a
Fix deadlocks affecting generated Fortran files #2187 2018-07-28 10:27:54 +02:00
Matt Selsky efea0378fd python docs: check_python_version also defines PYTHONARCHDIR 2018-05-24 18:02:03 +02:00
Thomas Nagy 6873a1b4c6
Work around Python 3.6 console issues #2163 2018-05-19 11:23:46 +02:00
Mark Flanagan 5faa15a9f3 Don't quote or escape arg file lines for moc/rcc
Qt parses each argument line-by-line. Avoiding the quoting and escaping
from Task.quote_flag saves us from "too many files specified" moc/rcc error.
2018-05-17 00:00:49 +02:00
Thomas Nagy 55d975f25e
Fix the API docs 2018-05-09 07:23:37 +02:00
Thomas Nagy 8e40c98e0c
Docs: mention PYTHONIOENCODING for windows console users 2018-05-09 07:17:42 +02:00
Thomas Nagy 7bc3f787b2
Rework the vswhere.exe execution
- Do not shadow the encoding parameter for subprocess.Popen in Python 3.6
- Describe console settings
- Import ctypes only if available
2018-05-08 23:46:01 +02:00
Suzumizaki c2980e5090 Adhoc fix where waf cannot run under Japanese version of Windows. (#2155) 2018-05-08 22:55:19 +02:00
Thomas Nagy f8c86e0895
Provide the 'def:' string through a variable #2148 2018-04-14 08:39:27 +02:00
Thomas Nagy 8404aa4d5c
Cosmetic changes on the gdbus/dbus tools 2018-03-21 23:56:48 +01:00
Thomas Nagy b806fe31d9
Moved gdbus to the playground area 2018-03-21 23:53:18 +01:00
Joshua Watt 922604492a gdbus: Add glib DBus bindings
Adds support for generating dbus bindings using the newer gdbus-codegen
tool that is designed to replace the deprecated dbus-binding-tool tool
2018-03-21 23:51:55 +01:00
Thomas Nagy facdc0b173
Python 3.7 fixes #2126 2018-03-12 20:42:55 +01:00
Thomas Nagy 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
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
Thomas Nagy d21446ff71
Update docs for 2018 2018-01-01 20:53:49 +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 bda66f00c3
docs 2017-12-10 21:43:38 +01:00
fedepell a6614586c7 javaw: skip adding empty entries in CLASSPATH 2017-12-04 20:14:55 +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
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
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
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 230096c378
Remove extra parenthesis in qt5.py 2017-10-23 13:59:20 +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 002c1fa094
Move gather_wsdk_versions after the definition of 'target_compiler' 2017-10-20 20:15:16 +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
Daniel Petró 3010e6a2c3 Fix for Intel Fortran Detection on Windows. 2017-10-17 19:19:15 +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 8134aed186
docs 2017-09-23 09:44:28 +02:00
Thomas Nagy 31d32c3f49
Improve default preprocessor behaviour for gcc/msvc 2017-09-23 09:21:21 +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 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 ad5dd18408
Use the 'with' syntax whenever possible 2017-09-12 19:36:43 +02:00
Mihai Moldovan 4f0c7dc44a Backport old gfortran compiler support. 2017-09-05 07:58:46 +02:00
Karl Linden 01e017cfc2 Make unit testing interpreted scripts work. 2017-09-04 21:07:20 +02:00
Thomas Nagy b5408091b3
Cleanup unused global statements 2017-09-02 23:34:15 +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
Thomas Nagy ff0b65ff14
Split unit test commands by shlex 2017-08-27 10:56:06 +02:00
Thomas Nagy 5c15f6f39e
Prevent duplicates in c_preproc.py results 2017-08-26 12:24:22 +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 57087471c1
Remove Utils.ex_stack - use traceback.format_exc() 2017-08-19 11:54:58 +02:00
Thomas Nagy 1cade2ba13
docs 2017-08-05 23:15:50 +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 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
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
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 cddc5552e4 Rename WindowsError to OSError in Python3 2017-06-23 16:51:54 +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 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
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 578230789a
Handle spaces in python paths on Windows #1973 2017-05-29 23:11: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
Thomas Nagy 07c47309de
Handle vswhere output encodings in Python2 #1965 2017-05-17 01:35:38 +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
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 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
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
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 17015626e2
Keep opt.load('python') optional 2017-04-13 12:13:16 +02:00
Thomas Nagy c106c929af
Detect the most recent msvc version first 2017-04-08 21:35:37 +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
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
Thomas Nagy d625e2ac2a
Additional fortran extensions #1916 2017-03-04 12:08:22 +01:00
Thomas Nagy 1c3c49d0fb
Simplify task.inputs/task.outputs usage 2017-02-19 11:05:44 +01:00
Alexander Afanasyev acd41beef1 qt5: Workaround for QT5 detection on macOS (Bug #1910) 2017-02-15 18:36:20 +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 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 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 f1487eab44
iso8859-1 -> latin-1 2017-01-21 13:28:06 +01:00
Matt Selsky 0d63f15cde Typo in docstring (#1895) 2017-01-16 18:42:09 +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
Federico Pellegrin 627cdb705d Add qt5 5.8.x new libraries to qt5 tool (#1888) 2017-01-05 19:33:02 +01:00
Thomas Nagy 3a68ccccff
Do not add -W warnings to cflags from check_cfg 2016-12-31 17:22:41 +01:00