1a3a962bf01352483f73b474a4f2e1bbf76904400Shih-wei Liao###########################################################
2a3a962bf01352483f73b474a4f2e1bbf76904400Shih-wei Liao## Generate clang/Basic/Version.inc
3a3a962bf01352483f73b474a4f2e1bbf76904400Shih-wei Liao###########################################################
4a3a962bf01352483f73b474a4f2e1bbf76904400Shih-wei Liaoifeq ($(LOCAL_MODULE_CLASS),)
5a3a962bf01352483f73b474a4f2e1bbf76904400Shih-wei Liao    LOCAL_MODULE_CLASS := STATIC_LIBRARIES
6a3a962bf01352483f73b474a4f2e1bbf76904400Shih-wei Liaoendif
7a3a962bf01352483f73b474a4f2e1bbf76904400Shih-wei Liao
889189ce0dae3b52240aff1128ea762abb693943eYing Wangintermediates := $(call local-generated-sources-dir)
9a3a962bf01352483f73b474a4f2e1bbf76904400Shih-wei Liao
10a3a962bf01352483f73b474a4f2e1bbf76904400Shih-wei LiaoLLVMVersion := $(shell grep PACKAGE_VERSION $(LLVM_ROOT_PATH)/host/include/llvm/Config/config.h | sed -e 's/\#define PACKAGE_VERSION "\(.*\)"/\1/g')
11a3a962bf01352483f73b474a4f2e1bbf76904400Shih-wei Liao
12726dc5a18bbe6cb8b2cca9db9ece0a3f99e308b5Shih-wei Liao# Compute the Clang version from the LLVM version, unless specified explicitly.
130468753569387e26eeaf2d1d1efb4628bdea660aShih-wei Liao# (Copy from include/clang/Basic/Makefile)
140468753569387e26eeaf2d1d1efb4628bdea660aShih-wei LiaoCLANG_VERSION := $(subst svn,,$(LLVMVersion))
150468753569387e26eeaf2d1d1efb4628bdea660aShih-wei LiaoCLANG_VERSION_COMPONENTS := $(subst ., ,$(CLANG_VERSION))
160468753569387e26eeaf2d1d1efb4628bdea660aShih-wei LiaoCLANG_VERSION_MAJOR := $(word 1,$(CLANG_VERSION_COMPONENTS))
170468753569387e26eeaf2d1d1efb4628bdea660aShih-wei LiaoCLANG_VERSION_MINOR := $(word 2,$(CLANG_VERSION_COMPONENTS))
180468753569387e26eeaf2d1d1efb4628bdea660aShih-wei LiaoCLANG_VERSION_PATCHLEVEL := $(word 3,$(CLANG_VERSION_COMPONENTS))
190468753569387e26eeaf2d1d1efb4628bdea660aShih-wei Liaoifeq ($(CLANG_VERSION_PATCHLEVEL),)
200468753569387e26eeaf2d1d1efb4628bdea660aShih-wei Liao    CLANG_HAS_VERSION_PATCHLEVEL := 0
210468753569387e26eeaf2d1d1efb4628bdea660aShih-wei Liaoelse
220468753569387e26eeaf2d1d1efb4628bdea660aShih-wei Liao    CLANG_HAS_VERSION_PATCHLEVEL := 1
230468753569387e26eeaf2d1d1efb4628bdea660aShih-wei Liaoendif
240468753569387e26eeaf2d1d1efb4628bdea660aShih-wei Liao
25ac774a74e9ac234cb38c90ede73b337a8b1a629dLoganLOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/Version.inc
26f2d6ea48da28c596d67d119da33f252b9c2b8551Stephen Hines$(intermediates)/include/clang/Basic/Version.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Version.inc.in \
27f2d6ea48da28c596d67d119da33f252b9c2b8551Stephen Hines  $(LLVM_ROOT_PATH)/host/include/llvm/Config/config.h
28383c490ad9728e0dafb02ccd7bc0ba340bececbbShih-wei Liao	@echo "Updating Clang version info."
29726dc5a18bbe6cb8b2cca9db9ece0a3f99e308b5Shih-wei Liao	@mkdir -p $(dir $@)
300468753569387e26eeaf2d1d1efb4628bdea660aShih-wei Liao	$(hide) sed -e "s#@CLANG_VERSION@#$(CLANG_VERSION)#g" \
31a3a962bf01352483f73b474a4f2e1bbf76904400Shih-wei Liao	-e "s#@CLANG_VERSION_MAJOR@#$(CLANG_VERSION_MAJOR)#g" \
32a3a962bf01352483f73b474a4f2e1bbf76904400Shih-wei Liao	-e "s#@CLANG_VERSION_MINOR@#$(CLANG_VERSION_MINOR)#g" \
33a3a962bf01352483f73b474a4f2e1bbf76904400Shih-wei Liao	-e "s#@CLANG_VERSION_PATCHLEVEL@#$(CLANG_VERSION_PATCHLEVEL)#g" \
34a3a962bf01352483f73b474a4f2e1bbf76904400Shih-wei Liao	-e "s#@CLANG_HAS_VERSION_PATCHLEVEL@#$(CLANG_HAS_VERSION_PATCHLEVEL)#g" \
35a3a962bf01352483f73b474a4f2e1bbf76904400Shih-wei Liao	$< > $@
36