Commit Graph

773 Commits

Author SHA1 Message Date
Waf Project 0d6464ee7a Update c_nec and c_emscripten 2024-04-16 00:26:13 +02:00
Waf Project 0a17824244 Lock wafcache on non-posix systems 2024-04-01 16:58:49 +02:00
Waf Project f53d3001d7 Move wafcache optional imports 2024-04-01 11:21:44 +02:00
Waf Project f95b42651e Describe why color_gcc.py is no longer relevant 2024-02-18 16:06:05 +01:00
Waf Project 65b96e1ddd Avoid coloring all MSVC logs #2366 2024-02-18 16:03:11 +01:00
Michael Vincent a495d9511b Improve msvc log output 2023-12-07 20:52:08 +00:00
Waf Project fb6f0549c4 Update the example that cleans any non-declared file #2415 2023-09-15 18:38:15 +02:00
Adam Barton 2f36e89f25 Haxe Toolkit support 2023-07-15 15:33:25 +02:00
Federico Pellegrin b9d968a3be sphinx: put doctrees temporary directory out of destination dir
This prevents the doctrees cache being installed in the install
phase which is not desiderable. Each build has a private one,
since each is a separate task and otherwise we can have race
conditions.
2023-06-20 05:27:53 +02:00
ita1024 ee63711f97 Merge branch 'a1batross-master-patch-25634' into 'master'
waflib: extras: msvs: enclose solution path into doublequotes in generated shell commands

See merge request ita1024/waf!2353
2023-04-10 17:57:59 +00:00
Alibek Omarov 87566c681b waflib: extras: msvs: enclose solution path into doublequotes in generated shell commands 2023-04-10 17:35:21 +00:00
Thomas Nagy 0da14c8e7b Support SOURCE_DATE_EPOCH in some places 2023-02-12 10:35:27 +01:00
Thomas Nagy 2db0b41b28 Fix suspicious warnings 2023-01-01 14:03:01 +01:00
Thomas Nagy 46fe4bc658 Add asynchronous wafcache uploads 2023-01-01 13:51:21 +01:00
Harald Klimach f1956a0bb6 Adding an extra module to detect the Fujitsu Fortran compiler on ARM64FX. 2022-11-18 18:00:04 +01:00
Thomas Nagy e94fac33e4 wafcache: skip uploads when inputs are modified while building 2022-10-02 01:24:29 +02:00
Federico Pellegrin c1a1a9fe50 sphinx: support multiple output formats 2022-09-01 19:42:54 +00:00
Andrew Malachowski 514ec749bb gccdeps: Harden class wrapping 2022-08-31 23:02:59 +00:00
Federico Pellegrin 2d27c346d8 pyqt5: improve autodetection of tools and add flag support
Improves autodetection by adding tool naming as found in some recent
distributions (ie. Fedora). Adds also possibility to pass via env
command line options to tools (needed ie. to explicitly pass
generator due to changes to uic/rcc tool).

Test updated to demonstrate and document the parameter needed to
work out of the box with newest tooling.
2022-06-08 08:11:20 +02:00
Thomas Nagy 3a036329e4 Avoid errors in case ECLIPSE_EXTRA_TARGETS is is set to None 2021-12-09 15:46:12 +01:00
Federico Pellegrin 7d77052299 eclipse: add possibility to add custom targets execution
Make it easy to add custom target executions in the automatic
eclipse configuration generation, for example to call other
standard waf targets from other tools or with specific options.
2021-12-09 09:21:35 +01:00
Federico Pellegrin 9b064938d8 wafcache: support stats also for multiple build commands 2021-11-24 13:19:50 +01:00
Thomas Nagy 90dec3a61a Provide the classic runner system from waf 1.x as an extension 2021-09-22 19:52:15 +02:00
Federico Pellegrin 557139ecda eclipse: remove repeated entries in include paths for C/C++
Make sure just unique include paths (both system and local) are
added to prevent overcrowding with useless redundant include paths
that grow up a lot the generated XML file and make the usage of
the GUI messy.
The filter was already there for Java/Python.
2021-09-03 10:18:24 +02:00
Federico Pellegrin 161be6e647 eclipse: add generation of editor language settings
Add automatic generation of editor language settings for C and C++,
so the automatic code correction uses the correct compiler and
compiler flags, including for example the correct C/C++ standard
so construct from such standards are correctly managed by the IDE.
Correct compiler and flags are automatically generated using the
build environment data gathered during configure phase.
The playground example has been modified to contain some code that
is standard specific to demonstrate the new feature when run under
Eclipse.
2021-08-31 10:40:10 +02:00
Federico Giovanardi 23df45272c Make clang_compilation_database compatible with variants
In the current implementation if a project is using
build variants it's not possible to use the clang_compilation_database
plugin because it strips the variant information from the build object.
2021-07-15 10:57:23 +02:00
Erik Parker e65bd769f3 color_gcc: Check that cmd has elements in it before processing it. 2021-06-21 13:48:05 -05:00
Federico Pellegrin 47778d9c8f swig: skip CR (\r) if present in module name
Handles presence of \r in module name (ie. DOS mode swig .i files)
Should fix #2350
2021-04-29 04:33:07 +02:00
Michael Vincent b3663173b5 gccdeps: Refactor cache lock
Rework how gccdeps' cached_nodes lock is used so acquiring the lock is
only necessary on a cache miss. Also use a "with" context manager to
simplify management of the lock lifecycle.

Ported from 8b5a2a2086
2021-04-22 12:53:59 +02:00
Michael Vincent c52efadbe6 gccdeps: Move scan() method
Move the scan() method down in the file to match msvcdeps' method
ordering. This makes it easier to compare gccdeps.py and msvcdeps.py
to keep them in sync.
2021-04-22 12:50:22 +02:00
Michael Vincent 412b5c3e49 gccdeps: Rename some variables
Rename some local variables to clarify their purpose and to align with
msvcdeps.py.
2021-04-22 12:49:17 +02:00
Michael Vincent 0bc85fb681 msvcdeps: Align with gccdeps
Just a few small changes to make msvcdeps.py align with gccdeps.py
better.
2021-04-22 12:48:25 +02:00
Michael Vincent 99820803b9 msvcdeps: Remove unused variable 2021-04-22 12:42:21 +02:00
Thomas Nagy c082c5c668 Let msvcsdeps process relative paths and in a deterministic manner 2021-04-22 02:19:25 +02:00
Michael Vincent 2d14817f1f msvcdeps: Faster case correction
Visual Studio returns paths to dependencies with incorrect case.
ant_glob() is very slow for this use case (40~50% impact to overall
build time). This patch uses os.listdir() to find the correct case
of each path component.
2021-04-20 13:38:46 -05:00
Erik Parker 8fecd438f3 msvs: Update project sorting in visual studio solution file
In order to correctly set a default project in visual studio any folders
must be listed at the top of the solution file. This change ensures that
any folders included in generated solutions sort to the top of the .sln
file. The default project, if one exists, will be located after the
folders. Note that it should also be correct to place the default
at the top of the file, followed by any folders.
2021-03-12 13:00:38 -06:00
Thomas Nagy f95264563e Add more docs to clang_compilation_database 2021-01-19 17:49:54 +01:00
Thomas Nagy 99a041cb36 Increase clang_compilation_database and swig compatibility 2021-01-13 17:39:52 +01:00
Thomas Nagy 0c31d99614 Suppress cache trimming operation errors 2021-01-12 18:16:57 +01:00
Federico Pellegrin 1619c2f0fa wafcache: fix reporting of concurrent trim error
As this is run in the non-waf process we don't have Logs, so we
write to stderr instead or we will get a NameError name 'Logs' is
not defined.
2021-01-11 11:18:48 +01:00
Federico Pellegrin 5dbae3b012 wafcache: fix small typo on stats log message 2021-01-07 04:09:11 +01:00
ita1024 3e92585541 Merge branch 'wafcache_stats' into 'master'
wafcache: add simple cache statistics collection, configurable via env

See merge request ita1024/waf!2309
2020-12-26 19:24:33 +00:00
Federico Pellegrin 08c2ca49e0 wafcache: add simple cache statistics collection, configurable via env 2020-12-24 04:20:38 +01:00
Andrew Brodko 329cd106bc Haxe support 2020-12-23 21:40:34 +01:00
Thomas Nagy 307202417c Improve clang_compilation_database interaction with wafcache 2020-12-16 11:08:11 +01:00
Thomas Nagy abfd2f6c76 Reduce wafcache verbosity on cleanup operations 2020-12-16 11:08:03 +01:00
Thomas Nagy 5cddf4b06c Conceal wafcache decoding errors in Python3 2020-12-16 11:07:55 +01:00
Thomas Nagy 7b25a04c97 Exclude wafcache symlink handling
- Exclude classes having folder or symlinks
- Exclude well-known Task classes from wafcache processing
- Remove stale 'waflib.Task.Task.chmod' processing
2020-12-09 08:24:03 +01:00
Thomas Nagy ce770a924a Improve the WAFCACHE_CMD description 2020-11-08 20:04:27 +01:00
Thomas Nagy 3083f83eb5 Improve WAFCACHE_CMD parameter handling 2020-11-03 22:41:37 +01:00