Message ID | 1527499328-13213-25-git-send-email-yamada.masahiro@socionext.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Masahiro, On 28.05.2018 11:22, Masahiro Yamada wrote: > This will be useful to specify the required compiler version, > like this: > > config FOO > bool "Use Foo" > depends on GCC_VERSION >= 40800 > help > This feature requires GCC 4.8 or newer. > I tried using CC_IS_GCC today while using clang. It seems that it is set to y despite I am using CC=clang. .config looks like this after config: ... CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=40201 CONFIG_CC_IS_CLANG=y CONFIG_CLANG_VERSION=60000 ... I am using clang 6.0.0 on Arch Linux, which seems to return a version when using gcc-version.sh: ./scripts/gcc-version.sh clang | sed 's/^0*//' 402 I guess that should not be the case? -- Stefan > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> > Reviewed-by: Kees Cook <keescook@chromium.org> > --- > > Changes in v5: None > Changes in v4: None > Changes in v3: None > Changes in v2: None > > init/Kconfig | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/init/Kconfig b/init/Kconfig > index f1b0cfb..2e33d93 100644 > --- a/init/Kconfig > +++ b/init/Kconfig > @@ -8,6 +8,14 @@ config DEFCONFIG_LIST > default ARCH_DEFCONFIG > default "arch/$(ARCH)/defconfig" > > +config CC_IS_GCC > + def_bool $(success,$(CC) --version | grep -q gcc) > + > +config GCC_VERSION > + int > + default $(shell,$(srctree)/scripts/gcc-version.sh -p $(CC) | sed > 's/^0*//') if CC_IS_GCC > + default 0 > + > config CONSTRUCTORS > bool > depends on !UML -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Stefan 2018-06-05 6:49 GMT+09:00 Stefan Agner <stefan@agner.ch>: > Hi Masahiro, > > On 28.05.2018 11:22, Masahiro Yamada wrote: >> This will be useful to specify the required compiler version, >> like this: >> >> config FOO >> bool "Use Foo" >> depends on GCC_VERSION >= 40800 >> help >> This feature requires GCC 4.8 or newer. >> > > I tried using CC_IS_GCC today while using clang. It seems that it is set > to y despite I am using CC=clang. > > .config looks like this after config: > > ... > CONFIG_CC_IS_GCC=y > CONFIG_GCC_VERSION=40201 > CONFIG_CC_IS_CLANG=y > CONFIG_CLANG_VERSION=60000 > ... > > > I am using clang 6.0.0 on Arch Linux, which seems to return a version > when using gcc-version.sh: > ./scripts/gcc-version.sh clang | sed 's/^0*//' > 402 > > I guess that should not be the case? > What will 'clang --version' print on your machine? -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 05.06.2018 02:07, Masahiro Yamada wrote: > Hi Stefan > > 2018-06-05 6:49 GMT+09:00 Stefan Agner <stefan@agner.ch>: >> Hi Masahiro, >> >> On 28.05.2018 11:22, Masahiro Yamada wrote: >>> This will be useful to specify the required compiler version, >>> like this: >>> >>> config FOO >>> bool "Use Foo" >>> depends on GCC_VERSION >= 40800 >>> help >>> This feature requires GCC 4.8 or newer. >>> >> >> I tried using CC_IS_GCC today while using clang. It seems that it is set >> to y despite I am using CC=clang. >> >> .config looks like this after config: >> >> ... >> CONFIG_CC_IS_GCC=y >> CONFIG_GCC_VERSION=40201 >> CONFIG_CC_IS_CLANG=y >> CONFIG_CLANG_VERSION=60000 >> ... >> >> >> I am using clang 6.0.0 on Arch Linux, which seems to return a version >> when using gcc-version.sh: >> ./scripts/gcc-version.sh clang | sed 's/^0*//' >> 402 >> >> I guess that should not be the case? >> > > > What will 'clang --version' print on your machine? $ clang --version clang version 6.0.0 (tags/RELEASE_600/final) Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /home/ags/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf/bin I use a symlink to clang in my cross compiler toolchain, that is why InstalledDir points to a GCC toolchain. -- Stefan -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/init/Kconfig b/init/Kconfig index f1b0cfb..2e33d93 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -8,6 +8,14 @@ config DEFCONFIG_LIST default ARCH_DEFCONFIG default "arch/$(ARCH)/defconfig" +config CC_IS_GCC + def_bool $(success,$(CC) --version | grep -q gcc) + +config GCC_VERSION + int + default $(shell,$(srctree)/scripts/gcc-version.sh -p $(CC) | sed 's/^0*//') if CC_IS_GCC + default 0 + config CONSTRUCTORS bool depends on !UML