On Fri, Feb 8, 2019 at 6:04 AM Nick Desaulniers <ndesaulniers@xxxxxxxxxx> wrote: > > Masahiro, > I was looking into sprucing up Kbuild for improved LLD support. One > thing I was curious about was the different checks for clang in the > top level Makefile. > > How come a change like: > diff --git a/Makefile b/Makefile > index 3142e67d03f1..525b3fef7d27 100644 > --- a/Makefile > +++ b/Makefile > @@ -489,7 +489,7 @@ ifneq ($(KBUILD_SRC),) > $(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkmakefile $(srctree) > endif > > -ifneq ($(shell $(CC) --version 2>&1 | head -n 1 | grep clang),) > +ifdef CONFIG_CC_IS_CLANG > ifneq ($(CROSS_COMPILE),) > CLANG_FLAGS := --target=$(notdir $(CROSS_COMPILE:%-=%)) > GCC_TOOLCHAIN_DIR := $(dir $(shell which $(LD))) > > > doesn't work? It's odd that later on in the top level Makefile, we > have that kind of check. I was hoping to do something similar for > LLD, but it seems that the config options are not defined for that > particular make target? Does this have to do with config-targets? include/config/auto.conf is included at line 594 of top Makefile. 'ifdef CONFIG_CC_IS_CLANG' is always false here. -- Best Regards Masahiro Yamada