Skip to content

Commit

Permalink
kconfig: add basic helper macros to scripts/Kconfig.include
Browse files Browse the repository at this point in the history
Kconfig got text processing tools like we see in Make.  Add Kconfig
helper macros to scripts/Kconfig.include like we collect Makefile
macros in scripts/Kbuild.include.

Signed-off-by: Masahiro Yamada <[email protected]>
Reviewed-by: Kees Cook <[email protected]>
Reviewed-by: Ulf Magnusson <[email protected]>
  • Loading branch information
masahir0y committed May 28, 2018
1 parent 21c54b7 commit e1cfdc0
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 0 deletions.
2 changes: 2 additions & 0 deletions Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,6 @@ mainmenu "Linux/$(ARCH) $(KERNELVERSION) Kernel Configuration"

comment "Compiler: $(CC_VERSION_TEXT)"

source "scripts/Kconfig.include"

source "arch/$(SRCARCH)/Kconfig"
1 change: 1 addition & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -7639,6 +7639,7 @@ L: [email protected]
S: Maintained
F: Documentation/kbuild/kconfig*
F: scripts/kconfig/
F: scripts/Kconfig.include

KDUMP
M: Dave Young <[email protected]>
Expand Down
2 changes: 2 additions & 0 deletions arch/x86/um/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ mainmenu "User Mode Linux/$(SUBARCH) $(KERNELVERSION) Kernel Configuration"

comment "Compiler: $(CC_VERSION_TEXT)"

source "scripts/Kconfig.include"

source "arch/um/Kconfig.common"

menu "UML-specific options"
Expand Down
27 changes: 27 additions & 0 deletions scripts/Kconfig.include
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Kconfig helper macros

# Convenient variables
comma := ,
quote := "
squote := '
empty :=
space := $(empty) $(empty)
dollar := $
right_paren := )
left_paren := (

# $(if-success,<command>,<then>,<else>)
# Return <then> if <command> exits with 0, <else> otherwise.
if-success = $(shell,{ $(1); } >/dev/null 2>&1 && echo "$(2)" || echo "$(3)")

# $(success,<command>)
# Return y if <command> exits with 0, n otherwise
success = $(if-success,$(1),y,n)

# $(cc-option,<flag>)
# Return y if the compiler supports <flag>, n otherwise
cc-option = $(success,$(CC) -Werror $(1) -E -x c /dev/null -o /dev/null)

# $(ld-option,<flag>)
# Return y if the linker supports <flag>, n otherwise
ld-option = $(success,$(LD) -v $(1))

0 comments on commit e1cfdc0

Please sign in to comment.