blob: 28ea54a0e8f29c53dc7ecd7a88c2e1e5ed01f54a [file] [log] [blame]
Shih-wei Liaoa3a962b2010-09-14 16:32:10 -07001###########################################################
2## Generate clang/Basic/Version.inc
3###########################################################
4ifeq ($(LOCAL_MODULE_CLASS),)
5 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
6endif
7
Ying Wang89189ce2014-05-20 15:49:52 -07008intermediates := $(call local-generated-sources-dir)
Shih-wei Liaoa3a962b2010-09-14 16:32:10 -07009
10LLVMVersion := $(shell grep PACKAGE_VERSION $(LLVM_ROOT_PATH)/host/include/llvm/Config/config.h | sed -e 's/\#define PACKAGE_VERSION "\(.*\)"/\1/g')
11
Shih-wei Liao726dc5a2010-09-14 17:12:06 -070012# Compute the Clang version from the LLVM version, unless specified explicitly.
Shih-wei Liao04687532010-09-14 17:05:38 -070013# (Copy from include/clang/Basic/Makefile)
14CLANG_VERSION := $(subst svn,,$(LLVMVersion))
15CLANG_VERSION_COMPONENTS := $(subst ., ,$(CLANG_VERSION))
16CLANG_VERSION_MAJOR := $(word 1,$(CLANG_VERSION_COMPONENTS))
17CLANG_VERSION_MINOR := $(word 2,$(CLANG_VERSION_COMPONENTS))
18CLANG_VERSION_PATCHLEVEL := $(word 3,$(CLANG_VERSION_COMPONENTS))
19ifeq ($(CLANG_VERSION_PATCHLEVEL),)
20 CLANG_HAS_VERSION_PATCHLEVEL := 0
21else
22 CLANG_HAS_VERSION_PATCHLEVEL := 1
23endif
24
Loganac774a72011-01-19 12:06:46 +080025LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/Version.inc
Stephen Hinesf2d6ea42013-09-13 00:23:46 -070026$(intermediates)/include/clang/Basic/Version.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Version.inc.in \
27 $(LLVM_ROOT_PATH)/host/include/llvm/Config/config.h
Shih-wei Liao383c4902010-09-14 17:09:49 -070028 @echo "Updating Clang version info."
Shih-wei Liao726dc5a2010-09-14 17:12:06 -070029 @mkdir -p $(dir $@)
Shih-wei Liao04687532010-09-14 17:05:38 -070030 $(hide) sed -e "s#@CLANG_VERSION@#$(CLANG_VERSION)#g" \
Shih-wei Liaoa3a962b2010-09-14 16:32:10 -070031 -e "s#@CLANG_VERSION_MAJOR@#$(CLANG_VERSION_MAJOR)#g" \
32 -e "s#@CLANG_VERSION_MINOR@#$(CLANG_VERSION_MINOR)#g" \
33 -e "s#@CLANG_VERSION_PATCHLEVEL@#$(CLANG_VERSION_PATCHLEVEL)#g" \
34 -e "s#@CLANG_HAS_VERSION_PATCHLEVEL@#$(CLANG_HAS_VERSION_PATCHLEVEL)#g" \
35 $< > $@