Attention is currently required from: Arthur Heymans. Hello Arthur Heymans,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/coreboot/+/63081
to review the following change.
Change subject: Kconfig: Mark clang as ready to use on some arch ......................................................................
Kconfig: Mark clang as ready to use on some arch
This adds 2 flags: * invisible opt-in flag for platforms on which clang seems to work * visible opt-in flag to allow experimenting
Clang seems to work rather well on x86_32 so it makes sense to start adding that to Jenkins buildtesting, which this allows.
Change-Id: I46f1bad59bda94f60f4a141237ede11f6eb93cc2 Signed-off-by: Arthur Heymans arthur@aheymans.xyz --- M src/Kconfig M src/arch/x86/Kconfig 2 files changed, 16 insertions(+), 4 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/81/63081/1
diff --git a/src/Kconfig b/src/Kconfig index 3811efc..743440d 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -70,19 +70,30 @@ For details see http://gcc.gnu.org.
config COMPILER_LLVM_CLANG - bool "LLVM/clang (TESTING ONLY - Not currently working)" + bool "LLVM/clang" + depends on ALLOW_EXPERIMENTAL_CLANG || ARCH_SUPPORTS_CLANG help Use LLVM/clang to build coreboot. To use this, you must build the coreboot version of the clang compiler. Run the command make clang - Note that this option is not currently working correctly and should - really only be selected if you're trying to work on getting clang - operational. + Note that Clang is not currently working on all architectures.
For details see http://clang.llvm.org.
endchoice
+config ARCH_SUPPORTS_CLANG + bool + help + Opt-in flag for architectures that generally work well with CLANG. + By default the option would be hidden. + +config ALLOW_EXPERIMENTAL_CLANG + bool "Allow experimental LLVM/Clang" + help + On some architectures CLANG does not work that well. + Use this only to try to get CLANG working. + config ANY_TOOLCHAIN bool "Allow building with any toolchain" default n diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig index 4052b2e..11be921 100644 --- a/src/arch/x86/Kconfig +++ b/src/arch/x86/Kconfig @@ -33,6 +33,7 @@ select ARCH_VERSTAGE_X86_32 select ARCH_ROMSTAGE_X86_32 select ARCH_RAMSTAGE_X86_32 + select ARCH_SUPPORTS_CLANG
# stage selectors for x64