Shih-wei Liao | a3a962b | 2010-09-14 16:32:10 -0700 | [diff] [blame] | 1 | ########################################################### |
| 2 | ## Generate clang/Basic/Version.inc |
| 3 | ########################################################### |
| 4 | ifeq ($(LOCAL_MODULE_CLASS),) |
| 5 | LOCAL_MODULE_CLASS := STATIC_LIBRARIES |
| 6 | endif |
| 7 | |
| 8 | intermediates := $(call local-intermediates-dir) |
| 9 | |
| 10 | LLVMVersion := $(shell grep PACKAGE_VERSION $(LLVM_ROOT_PATH)/host/include/llvm/Config/config.h | sed -e 's/\#define PACKAGE_VERSION "\(.*\)"/\1/g') |
| 11 | |
Shih-wei Liao | 726dc5a | 2010-09-14 17:12:06 -0700 | [diff] [blame] | 12 | # Compute the Clang version from the LLVM version, unless specified explicitly. |
Shih-wei Liao | 0468753 | 2010-09-14 17:05:38 -0700 | [diff] [blame] | 13 | # (Copy from include/clang/Basic/Makefile) |
| 14 | CLANG_VERSION := $(subst svn,,$(LLVMVersion)) |
| 15 | CLANG_VERSION_COMPONENTS := $(subst ., ,$(CLANG_VERSION)) |
| 16 | CLANG_VERSION_MAJOR := $(word 1,$(CLANG_VERSION_COMPONENTS)) |
| 17 | CLANG_VERSION_MINOR := $(word 2,$(CLANG_VERSION_COMPONENTS)) |
| 18 | CLANG_VERSION_PATCHLEVEL := $(word 3,$(CLANG_VERSION_COMPONENTS)) |
| 19 | ifeq ($(CLANG_VERSION_PATCHLEVEL),) |
| 20 | CLANG_HAS_VERSION_PATCHLEVEL := 0 |
| 21 | else |
| 22 | CLANG_HAS_VERSION_PATCHLEVEL := 1 |
| 23 | endif |
| 24 | |
Logan | ac774a7 | 2011-01-19 12:06:46 +0800 | [diff] [blame] | 25 | LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/Version.inc |
| 26 | $(intermediates)/include/clang/Basic/Version.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Version.inc.in |
Shih-wei Liao | 383c490 | 2010-09-14 17:09:49 -0700 | [diff] [blame] | 27 | @echo "Updating Clang version info." |
Shih-wei Liao | 726dc5a | 2010-09-14 17:12:06 -0700 | [diff] [blame] | 28 | @mkdir -p $(dir $@) |
Shih-wei Liao | 0468753 | 2010-09-14 17:05:38 -0700 | [diff] [blame] | 29 | $(hide) sed -e "s#@CLANG_VERSION@#$(CLANG_VERSION)#g" \ |
Shih-wei Liao | a3a962b | 2010-09-14 16:32:10 -0700 | [diff] [blame] | 30 | -e "s#@CLANG_VERSION_MAJOR@#$(CLANG_VERSION_MAJOR)#g" \ |
| 31 | -e "s#@CLANG_VERSION_MINOR@#$(CLANG_VERSION_MINOR)#g" \ |
| 32 | -e "s#@CLANG_VERSION_PATCHLEVEL@#$(CLANG_VERSION_PATCHLEVEL)#g" \ |
| 33 | -e "s#@CLANG_HAS_VERSION_PATCHLEVEL@#$(CLANG_HAS_VERSION_PATCHLEVEL)#g" \ |
| 34 | $< > $@ |
| 35 | |