diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2020-01-15 11:30:07 +0000 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2020-01-15 12:50:36 +0000 |
commit | 42d519e3d0c071161d0a1c36e95a3743b113c590 (patch) | |
tree | 5bfe148ad9f8808c401b8c99be28410e4c3cf909 /scripts/Kconfig.include | |
parent | 46cf053efec6a3a5f343fead837777efe8252a46 (diff) | |
download | linux-42d519e3d0c071161d0a1c36e95a3743b113c590.tar.gz linux-42d519e3d0c071161d0a1c36e95a3743b113c590.tar.bz2 linux-42d519e3d0c071161d0a1c36e95a3743b113c590.zip |
kbuild: Add support for 'as-instr' to be used in Kconfig files
Similar to 'cc-option' or 'ld-option', it is occasionally necessary to
check whether the assembler supports certain ISA extensions. In the
arm64 code we currently do this in Makefile with an additional define:
lseinstr := $(call as-instr,.arch_extension lse,-DCONFIG_AS_LSE=1)
Add the 'as-instr' option so that it can be used in Kconfig directly:
def_bool $(as-instr,.arch_extension lse)
Acked-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Vladimir Murzin <vladimir.murzin@arm.com>
Tested-by: Vladimir Murzin <vladimir.murzin@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'scripts/Kconfig.include')
-rw-r--r-- | scripts/Kconfig.include | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include index d4adfbe42690..9d07e59cbdf7 100644 --- a/scripts/Kconfig.include +++ b/scripts/Kconfig.include @@ -31,6 +31,10 @@ cc-option = $(success,$(CC) -Werror $(CLANG_FLAGS) $(1) -E -x c /dev/null -o /de # Return y if the linker supports <flag>, n otherwise ld-option = $(success,$(LD) -v $(1)) +# $(as-instr,<instr>) +# Return y if the assembler supports <instr>, n otherwise +as-instr = $(success,printf "%b\n" "$(1)" | $(CC) $(CLANG_FLAGS) -c -x assembler -o /dev/null -) + # check if $(CC) and $(LD) exist $(error-if,$(failure,command -v $(CC)),compiler '$(CC)' not found) $(error-if,$(failure,command -v $(LD)),linker '$(LD)' not found) |