~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/scripts/Kconfig.include

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0-only
  2 # Kconfig helper macros
  3 
  4 # Convenient variables
  5 comma       := ,
  6 quote       := "
  7 squote      := '
  8 empty       :=
  9 space       := $(empty) $(empty)
 10 dollar      := $
 11 right_paren := )
 12 left_paren  := (
 13 
 14 # $(if-success,<command>,<then>,<else>)
 15 # Return <then> if <command> exits with 0, <else> otherwise.
 16 if-success = $(shell,{ $(1); } >/dev/null 2>&1 && echo "$(2)" || echo "$(3)")
 17 
 18 # $(success,<command>)
 19 # Return y if <command> exits with 0, n otherwise
 20 success = $(if-success,$(1),y,n)
 21 
 22 # $(failure,<command>)
 23 # Return n if <command> exits with 0, y otherwise
 24 failure = $(if-success,$(1),n,y)
 25 
 26 # $(cc-option,<flag>)
 27 # Return y if the compiler supports <flag>, n otherwise
 28 cc-option = $(success,trap "rm -rf .tmp_$$" EXIT; mkdir .tmp_$$; $(CC) -Werror $(CLANG_FLAGS) $(1) -c -x c /dev/null -o .tmp_$$/tmp.o)
 29 
 30 # $(ld-option,<flag>)
 31 # Return y if the linker supports <flag>, n otherwise
 32 ld-option = $(success,$(LD) -v $(1))
 33 
 34 # $(as-instr,<instr>)
 35 # Return y if the assembler supports <instr>, n otherwise
 36 as-instr = $(success,printf "%b\n" "$(1)" | $(CC) $(CLANG_FLAGS) $(2) -Wa$(comma)--fatal-warnings -c -x assembler-with-cpp -o /dev/null -)
 37 as-instr64 = $(as-instr,$(1),$(m64-flag))
 38 
 39 # check if $(CC) and $(LD) exist
 40 $(error-if,$(failure,command -v $(CC)),C compiler '$(CC)' not found)
 41 $(error-if,$(failure,command -v $(LD)),linker '$(LD)' not found)
 42 
 43 # Get the C compiler name, version, and error out if it is not supported.
 44 cc-info := $(shell,$(srctree)/scripts/cc-version.sh $(CC))
 45 $(error-if,$(success,test -z "$(cc-info)"),Sorry$(comma) this C compiler is not supported.)
 46 cc-name := $(shell,set -- $(cc-info) && echo $1)
 47 cc-version := $(shell,set -- $(cc-info) && echo $2)
 48 
 49 # Get the assembler name, version, and error out if it is not supported.
 50 as-info := $(shell,$(srctree)/scripts/as-version.sh $(CC) $(CLANG_FLAGS))
 51 $(error-if,$(success,test -z "$(as-info)"),Sorry$(comma) this assembler is not supported.)
 52 as-name := $(shell,set -- $(as-info) && echo $1)
 53 as-version := $(shell,set -- $(as-info) && echo $2)
 54 
 55 # Get the linker name, version, and error out if it is not supported.
 56 ld-info := $(shell,$(srctree)/scripts/ld-version.sh $(LD))
 57 $(error-if,$(success,test -z "$(ld-info)"),Sorry$(comma) this linker is not supported.)
 58 ld-name := $(shell,set -- $(ld-info) && echo $1)
 59 ld-version := $(shell,set -- $(ld-info) && echo $2)
 60 
 61 # machine bit flags
 62 #  $(m32-flag): -m32 if the compiler supports it, or an empty string otherwise.
 63 #  $(m64-flag): -m64 if the compiler supports it, or an empty string otherwise.
 64 cc-option-bit = $(if-success,$(CC) -Werror $(1) -E -x c /dev/null -o /dev/null,$(1))
 65 m32-flag := $(cc-option-bit,-m32)
 66 m64-flag := $(cc-option-bit,-m64)

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php