Commit Graph

915 Commits

Author SHA1 Message Date
Federico Pellegrin 47d097d5a0 waf_unit_test: make sure test is rerun if ut_str changes 2020-11-01 21:19:38 +01:00
Thomas Nagy e73e8d680a Fail Qt5 detection immediately when the c++ compiler is missing 2020-09-19 08:49:05 +02:00
Thomas Nagy ea509dd782 Determine a suitable msvc version option from VSCMD_VER in environment
See b3d1a0c2d4
2020-08-19 23:54:04 +02:00
Thomas Nagy 025ba60ebf Force an asm-specific defines flag 2020-08-15 12:16:36 +02:00
Thomas Nagy f65d08f5d5 Improve wafcache process pre-allocation 2020-08-03 23:20:53 +02:00
Thomas Nagy b41b1741d1 Improve the definition of static link tasks 2020-07-20 22:51:24 +02:00
Alibek Omarov 260f6065b9 c_config: add MCST Elbrus detection 2020-07-20 22:37:51 +02:00
Thomas Nagy 14b7d15a03 Ensure that the assertion message is showed in python.py #2302 2020-07-15 17:35:22 +02:00
Federico Pellegrin 5ee61cfa91 qt5: improve documentation on library detection and options 2020-05-02 19:09:43 +02:00
Thomas Nagy a910d07d55 Make the unit test result format API compatible with waf 2.0 2020-04-28 01:17:07 +02:00
Federico Pellegrin ba9ddfbfcb waf_unit_test: return also test task in report tuples 2020-04-22 03:55:38 +02:00
Federico Pellegrin 0c616901b4 c_config: -flto and -fno-lto need to be passed also when linking 2020-03-27 20:20:30 +01:00
swaldhoer 93a0258996 Add support for clang++ on cygwin 2020-03-27 20:20:12 +01:00
swaldhoer 02cff4a20c add support for clang on cygwin 2020-03-27 20:19:49 +01:00
Federico Pellegrin c438138476 javaw: fix buglet overwrites working variable while adding dependencies
variable x is used in the outer loop and gets corrupted by inner enumeration in case of non-jar dependency

to reproduce: use the demos/java and run waf build twice: the first time will work (since no class files around)
while the second will not since will by bad luck pick a class file in the inner loop
2020-01-04 11:31:15 +01:00
Thomas Nagy 13d9c8566c Reduce relative path lengths to work around Visual Studio limitations #2272 2019-12-18 07:27:03 +01:00
Thomas Nagy 07d3203e0b
Make multicheck collisions less likely 2019-12-14 23:49:24 +01:00
Thomas Nagy 52a49960c1 Improve extras/clang_cl 2019-12-10 07:53:23 +01:00
Thomas Nagy bab51bf9f4 Remove conf.find_cpp from irix compiler detection 2019-12-10 07:32:08 +01:00
Thomas Nagy 5ec740ad2e Update irixcc 2019-12-10 07:32:01 +01:00
Rafaël Kooi 32c2a49bf0 Support pure clang-cl builds on not Windows
A.k.a. I just tested it on Linux.
2019-12-10 05:07:35 +01:00
Severin Strobl 799001bfae Support versioned shared libraries.
Shared libraries often use a suffix encoding their version which should
be handled when parsing linker flags.
2019-11-24 09:07:58 +01:00
Thomas Nagy d97ac90419
Improve the Qt5 fPIC/fPIE detection 2019-11-16 18:47:34 +01:00
Thomas Nagy e485b45472 Remove the dependency on Qt5Gui in the Qt5 detection 2019-11-10 10:39:39 +01:00
Federico Pellegrin 26309403fd Tools/c_config.py: update to documentation 2019-11-07 07:07:44 +01:00
Thomas Nagy b8f19bfea3 Improve cache activity verbosity 2019-10-29 07:31:41 +01:00
Thomas Nagy a6ff2fc274
Push wafcache files synchronously for now 2019-10-23 19:53:18 +02:00
Thomas Nagy 6ef3a95c48 Insert the classpath dependencies from other task generators in first position #2186 2019-10-23 07:39:03 +02:00
Thomas Nagy f93cd67b14
Remove WinCE detection from msvc.py 2019-10-20 08:23:36 +02:00
Thomas Nagy 4aaadc1320
Remove Winphone detection 2019-10-20 07:45:02 +02:00
Thomas Nagy 5041a862fb
Propagate ldflags to fortran tasks #2262 2019-10-20 07:39:11 +02:00
Thomas Nagy dbe338c246
Make wafcache a default module 2019-10-18 23:05:12 +02:00
Thomas Nagy 6539bd1ad3
Improve error messages in c_aliases 2019-10-08 20:04:00 +02:00
Thomas Nagy 68bf3867df
Unbreak the endianness test with msvc 2019-09-08 22:51:09 +02:00
Thomas Nagy d2060dfd8a Conceal imp warnings in Python3 2019-08-14 22:05:45 +02:00
Thomas Nagy 2793fb7dbb
Improve endianness detection 2019-07-31 21:04:53 +02:00
Thomas Nagy 4a79f95aa4
Disable lto for the endianness configuration test #2250 2019-07-30 18:45:07 +02:00
Thomas Nagy bbaa976ae0
Add executable arguments for configuration tests / execute=True
conf.check(..., execute=True, test_args=['--abc=def'])
2019-07-11 07:55:38 +02:00
Thomas Nagy 2e9954e087 Add a dependency scanner for gas/yasm and nasm (incomplete) 2019-06-26 15:00:03 +02:00
Thomas Nagy 770910fcda Detect of assembly features in bld.program()/bld.shlib() 2019-06-26 12:03:29 +02:00
Thomas Nagy 173f410e3f Improve the configuration cache accuracy 2019-06-25 11:51:44 +02:00
Thomas Nagy 497b875a89 Add -fno-strict-aliasing flags only if missing
https://gitlab.com/ita1024/waf/merge_requests/2248/diffs
2019-06-20 23:14:51 +02:00
Eric Müller e319a9c2c9 Allow for flat install of python files via `py` feature 2019-06-19 22:33:36 +02:00
fedepell 31c51501d7 javaw: bugfix outdir is always a node (since converted in apply_javac) 2019-06-06 15:06:41 +02:00
Thomas Nagy fa6496dbc4
Use a constant instead of a hard-coded number (Qt5) 2019-06-02 09:23:57 +02:00
Thomas Nagy 6bc6cb599c
Refactor javaw.py 066a051181 2019-06-02 08:50:06 +02:00
Thomas Nagy 66fafd876a
Improve Qt5 processing 1de43d82c0 2019-06-02 08:43:19 +02:00
ita1024 387f01750c Merge branch 'javac_dep_robust' into 'master'
javaw: make dependencies code introduced in !2232 more robust

See merge request ita1024/waf!2239
2019-06-02 06:39:50 +00:00
fedepell a2589b9ed4 qt5: ignore moc generation on uninstall target 2019-06-02 00:57:33 +02:00
fedepell 066a051181 javaw: make dependencies code introduced in !2232 more robust 2019-05-28 11:40:43 +02:00
Miro Hrončok 38d1cbeba4 Python 3.8 has different flags for pyembed, needs --embed
As recommended in the docs, to support both 3.8 and
previous versions, we try to use python3-config --embed and
fallback to the previous behavior.

Fixes https://gitlab.com/ita1024/waf/issues/2239

See https://docs.python.org/dev/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build
2019-05-24 11:49:58 +02:00
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