forked from mirrors/linux
		
	kconfig: add CC_IS_CLANG and CLANG_VERSION
This will be useful to describe the clang version dependency. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Kees Cook <keescook@chromium.org>
This commit is contained in:
		
							parent
							
								
									a435389898
								
							
						
					
					
						commit
						469cb7376c
					
				
					 2 changed files with 11 additions and 14 deletions
				
			
		|  | @ -16,6 +16,13 @@ config GCC_VERSION | |||
| 	default $(shell,$(srctree)/scripts/gcc-version.sh -p $(CC) | sed 's/^0*//') if CC_IS_GCC | ||||
| 	default 0 | ||||
| 
 | ||||
| config CC_IS_CLANG | ||||
| 	def_bool $(success,$(CC) --version | head -n 1 | grep -q clang) | ||||
| 
 | ||||
| config CLANG_VERSION | ||||
| 	int | ||||
| 	default $(shell,$(srctree)/scripts/clang-version.sh $(CC)) | ||||
| 
 | ||||
| config CONSTRUCTORS | ||||
| 	bool | ||||
| 	depends on !UML | ||||
|  |  | |||
|  | @ -10,24 +10,14 @@ | |||
| # clang-5.0.1 etc. | ||||
| # | ||||
| 
 | ||||
| if [ "$1" = "-p" ] ; then | ||||
| 	with_patchlevel=1; | ||||
| 	shift; | ||||
| fi | ||||
| 
 | ||||
| compiler="$*" | ||||
| 
 | ||||
| if [ ${#compiler} -eq 0 ]; then | ||||
| 	echo "Error: No compiler specified." | ||||
| 	printf "Usage:\n\t$0 <clang-command>\n" | ||||
| if !( $compiler --version | grep -q clang) ; then | ||||
| 	echo 0 | ||||
| 	exit 1 | ||||
| fi | ||||
| 
 | ||||
| MAJOR=$(echo __clang_major__ | $compiler -E -x c - | tail -n 1) | ||||
| MINOR=$(echo __clang_minor__ | $compiler -E -x c - | tail -n 1) | ||||
| if [ "x$with_patchlevel" != "x" ] ; then | ||||
| PATCHLEVEL=$(echo __clang_patchlevel__ | $compiler -E -x c - | tail -n 1) | ||||
| 	printf "%02d%02d%02d\\n" $MAJOR $MINOR $PATCHLEVEL | ||||
| else | ||||
| 	printf "%02d%02d\\n" $MAJOR $MINOR | ||||
| fi | ||||
| printf "%d%02d%02d\\n" $MAJOR $MINOR $PATCHLEVEL | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Masahiro Yamada
						Masahiro Yamada