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
					
				| @ -16,6 +16,13 @@ config GCC_VERSION | |||||||
| 	default $(shell,$(srctree)/scripts/gcc-version.sh -p $(CC) | sed 's/^0*//') if CC_IS_GCC | 	default $(shell,$(srctree)/scripts/gcc-version.sh -p $(CC) | sed 's/^0*//') if CC_IS_GCC | ||||||
| 	default 0 | 	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 | config CONSTRUCTORS | ||||||
| 	bool | 	bool | ||||||
| 	depends on !UML | 	depends on !UML | ||||||
|  | |||||||
| @ -10,24 +10,14 @@ | |||||||
| # clang-5.0.1 etc. | # clang-5.0.1 etc. | ||||||
| # | # | ||||||
| 
 | 
 | ||||||
| if [ "$1" = "-p" ] ; then |  | ||||||
| 	with_patchlevel=1; |  | ||||||
| 	shift; |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| compiler="$*" | compiler="$*" | ||||||
| 
 | 
 | ||||||
| if [ ${#compiler} -eq 0 ]; then | if !( $compiler --version | grep -q clang) ; then | ||||||
| 	echo "Error: No compiler specified." | 	echo 0 | ||||||
| 	printf "Usage:\n\t$0 <clang-command>\n" |  | ||||||
| 	exit 1 | 	exit 1 | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| MAJOR=$(echo __clang_major__ | $compiler -E -x c - | tail -n 1) | MAJOR=$(echo __clang_major__ | $compiler -E -x c - | tail -n 1) | ||||||
| MINOR=$(echo __clang_minor__ | $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) | ||||||
| 	PATCHLEVEL=$(echo __clang_patchlevel__ | $compiler -E -x c - | tail -n 1) | printf "%d%02d%02d\\n" $MAJOR $MINOR $PATCHLEVEL | ||||||
| 	printf "%02d%02d%02d\\n" $MAJOR $MINOR $PATCHLEVEL |  | ||||||
| else |  | ||||||
| 	printf "%02d%02d\\n" $MAJOR $MINOR |  | ||||||
| fi |  | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user