meson/mesonbuild
Eli Schwartz 95b03f7930 avoid clearing the dependency cache unnecessarily based on wrap-mode
We actually do not and should not care about wrap-mode at all for this.
We want to cache dependency lookups whenever humanly possible, but only
use them in cases where we would anyways be using them -- which in
particular means if we said to force a subproject fallback for this dep,
we want to bypass the cache.

Currently, we handle this by always looking up the cache for all
dependencies, but clearing the cache at startup if a reconfigure means
we are changing our resolution strategy. This is bad -- we might have
many dependencies that are worth caching, and only one dependency that
should stop being cached and use a subproject instead.

The simple solution is to handle the forcefallback case when doing a
cache lookup, and not do a cache lookup at all. Now we don't have to
nuke the entire cache. In fact, if a future reconfigure changes the
forcefallback state back to not being forced, we can reuse the original
cached dependency, which is still there.

Closes #11828
2023-05-29 15:04:34 -04:00
..
ast During reconfigure, show that no compiler was found, if compiler fails sanity check. 2023-05-13 11:06:24 +03:00
backend avoid endless reconfigure loops when a build directory is copied around 2023-05-29 14:07:43 -04:00
cmake cmake module: use more typed_pos_args for consistency 2023-05-03 16:24:20 -04:00
compilers rust: Add system libs used by rust std to staticlib external deps 2023-05-20 10:35:42 -04:00
dependencies qt: Allow specifying separate tools for qt4/5/6 2023-05-23 18:24:08 -04:00
interpreter avoid clearing the dependency cache unnecessarily based on wrap-mode 2023-05-29 15:04:34 -04:00
interpreterbase fix various spelling issues 2023-04-11 19:21:05 -04:00
linkers Initial support for Metrowerks C/C++ compiler 2023-04-24 09:07:37 -04:00
modules i18n module: check for a good enough msgfmt before permitting merge_file 2023-05-22 21:20:18 -04:00
scripts meson_exe: print suitable debug information for DLL not found errors 2023-05-16 11:19:43 -04:00
templates treewide: add future annotations import 2023-02-01 17:01:30 -05:00
utils ProgressBar: Fix some rendering issues 2023-05-25 11:06:09 -04:00
wrap ProgressBar: Fix some rendering issues 2023-05-25 11:06:09 -04:00
__init__.py
_pathlib.py pathlib: Patch pathlib to work around some bugs (fixes #7295) 2021-06-29 11:28:08 +02:00
_typing.py typing: replace ImmutableSetProtocol with typing.AbstractSet 2022-06-08 23:19:09 +03:00
arglist.py fix various spelling issues 2023-04-11 19:21:05 -04:00
build.py Allow generator.process(generator.process(...)) 2023-05-21 22:12:57 +03:00
coredata.py avoid clearing the dependency cache unnecessarily based on wrap-mode 2023-05-29 15:04:34 -04:00
depfile.py treewide: add future annotations import 2023-02-01 17:01:30 -05:00
envconfig.py fix various spelling issues 2023-04-11 19:21:05 -04:00
environment.py detect_cpu: Fix mips32 detection on mips64 2023-04-28 00:20:42 -04:00
mcompile.py mcompile: Fix target name suggestions 2023-05-05 16:47:04 -04:00
mconf.py coredata: Do not pickle it twice 2023-03-16 21:02:23 -04:00
mdevenv.py Make --vsenv a readonly builtin option 2023-03-29 09:33:41 -04:00
mdist.py Make --vsenv a readonly builtin option 2023-03-29 09:33:41 -04:00
mesondata.py treewide: add future annotations import 2023-02-01 17:01:30 -05:00
mesonlib.py Move classes used by scripts to their own module 2022-09-28 19:36:13 -04:00
mesonmain.py do not resolve symlinks when calculating the meson command 2023-03-28 15:29:52 +03:00
minit.py Make --vsenv a readonly builtin option 2023-03-29 09:33:41 -04:00
minstall.py extend install scripts to allow specific directory variable exports 2023-05-02 19:28:35 -04:00
mintro.py intro: add more details to generated files(part 2) 2023-05-22 22:12:29 +03:00
mlog.py micro-optimize: define typing-only objects in TYPE_CHECKING 2023-02-01 17:01:30 -05:00
mparser.py mparser: Add partial AST to exceptions 2023-03-01 23:28:43 -05:00
msetup.py update the devenv module hooks to support generic modifications to Build 2023-05-02 19:28:35 -04:00
msubprojects.py ProgressBar: Fix some rendering issues 2023-05-25 11:06:09 -04:00
mtest.py mtest: wildcard selection 2023-05-25 13:44:13 -04:00
munstable_coredata.py simplify instantiation of builtin type using builtins instead of functions 2023-02-01 17:01:30 -05:00
optinterpreter.py typed_kwargs: Extend since_values and deprecated_values for types 2023-03-04 14:19:27 -05:00
programs.py qt: Allow specifying separate tools for qt4/5/6 2023-05-23 18:24:08 -04:00
rewriter.py fix various spelling issues 2023-04-11 19:21:05 -04:00