diff options
author | Eneas U de Queiroz <cotequeiroz@gmail.com> | 2020-04-07 17:07:24 -0300 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2020-04-09 12:51:10 +0200 |
commit | 3204430e38f1a2ba7fda9471720a2a1042adf5e0 (patch) | |
tree | 09c37c01356709c5596609e22616f7d9f208a79c /scripts/config | |
parent | dcf3e63a35d05e7e5103819c0f17195bfafe9baa (diff) | |
download | upstream-3204430e38f1a2ba7fda9471720a2a1042adf5e0.tar.gz upstream-3204430e38f1a2ba7fda9471720a2a1042adf5e0.tar.bz2 upstream-3204430e38f1a2ba7fda9471720a2a1042adf5e0.zip |
build: add option to warn on recursive dependency
This addes the option to treat recursive dependencies as warnings
instead of errors, by running make with WARN_RECURSIVE_DEP=1.
Note that the script/config targets will not get rebuilt when you add or
remove WARN_RECURSIVE_DEP while running make. One must run
'make config-clean' before building config with a different setting.
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
Diffstat (limited to 'scripts/config')
-rw-r--r-- | scripts/config/README | 4 | ||||
-rw-r--r-- | scripts/config/symbol.c | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/scripts/config/README b/scripts/config/README index ac5f094ff2..81243e8016 100644 --- a/scripts/config/README +++ b/scripts/config/README @@ -16,6 +16,10 @@ OpenWrt Buildroot: - reverted an upstream change that avoids writing symbols that are not visible to .config, which breaks OpenWrt busybox's '.config' generation logic. + - add a compilation option (-DWARN_RECURSIVE_DEP) to treat recursive deps + as a warning, avoiding a complete build failure because of unrelated or + minor recursive deps, or making a scrict check before commiting a change + that may cause one. - use pre-built *.lex.c *.tab.[ch] files by default, to avoid depending on flex & bison. Rebuild/remove these files only if running make with BUILD_SHIPPED_FILES defined diff --git a/scripts/config/symbol.c b/scripts/config/symbol.c index b1dd9be29d..5c6f540314 100644 --- a/scripts/config/symbol.c +++ b/scripts/config/symbol.c @@ -1250,6 +1250,11 @@ struct symbol *sym_check_deps(struct symbol *sym) sym->flags &= ~SYMBOL_CHECK; } +#ifdef WARN_RECURSIVE_DEP + if (sym2 && sym2 == sym) + sym2 = NULL; +#endif + return sym2; } |