Generate Version.inc from version.py

Use the version numbers from version.py instead of parsing them out
of external/llvm/host/include/llvm/Config/config.h.

Test: m -j libclangDriver, manually inspect generated Version.inc
Change-Id: Ie2a35f9611b25c27e6220b1745523d1c2a023452
diff --git a/clang-version-inc.mk b/clang-version-inc.mk
index 55530d4..cdf87a3 100644
--- a/clang-version-inc.mk
+++ b/clang-version-inc.mk
@@ -11,7 +11,7 @@
 # (from include/clang/Basic/Makefile)
 LOCAL_GENERATED_SOURCES += $(intermediates)/include/clang/Basic/Version.inc
 $(intermediates)/include/clang/Basic/Version.inc: $(CLANG_ROOT_PATH)/include/clang/Basic/Version.inc.in \
-  $(LLVM_ROOT_PATH)/host/include/llvm/Config/config.h $(CLANG_ROOT_PATH)/clang-version-inc.sh
+  $(CLANG_ROOT_PATH)/clang-version-inc.py $(CLANG_ROOT_PATH)/version.py
 	@echo "Updating Clang version info."
 	@mkdir -p $(dir $@)
-	$(hide) $(CLANG_ROOT_PATH)/clang-version-inc.sh $(LLVM_ROOT_PATH)/host/include/llvm/Config/config.h <$< >$@
+	$(hide) $(CLANG_ROOT_PATH)/clang-version-inc.py $< >$@
diff --git a/clang-version-inc.py b/clang-version-inc.py
new file mode 100755
index 0000000..eeffb62
--- /dev/null
+++ b/clang-version-inc.py
@@ -0,0 +1,27 @@
+#!/usr/bin/env python
+
+import os
+import sys
+
+import version
+
+version_string = '%s.%s.%s' % (version.major, version.minor, version.patch)
+
+if len(sys.argv) < 2:
+    print sys.stderr, "Usage: %s <Version.inc.in>"
+    sys.exit(1)
+
+with open(sys.argv[1], 'r') as f:
+    replacements = {
+        '@CLANG_VERSION@': version_string,
+        '@CLANG_VERSION_MAJOR@': version.major,
+        '@CLANG_VERSION_MINOR@': version.minor,
+        '@CLANG_VERSION_PATCHLEVEL@': version.patch,
+        '@CLANG_HAS_VERSION_PATCHLEVEL@': '1',
+    }
+
+    for line in f:
+        line = line.strip()
+        for replace, to in replacements.iteritems():
+            line = line.replace(replace, to)
+        print line
diff --git a/clang-version-inc.sh b/clang-version-inc.sh
deleted file mode 100755
index e0051e4..0000000
--- a/clang-version-inc.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash -eu
-
-CLANG_VERSION=$(grep PACKAGE_VERSION $1 | sed -e 's/\#define PACKAGE_VERSION "\(.*\)"/\1/g' | sed -e 's/svn//')
-CLANG_VERSION_MAJOR=$(echo ${CLANG_VERSION} | cut -d. -f1)
-CLANG_VERSION_MINOR=$(echo ${CLANG_VERSION} | cut -d. -f2)
-CLANG_VERSION_PATCHLEVEL=$(echo ${CLANG_VERSION} | cut -d. -f3)
-if [[ "${CLANG_VERSION_PATCHLEVEL}" == "" ]]; then
-  CLANG_HAS_VERSION_PATCHLEVEL=0
-else
-  CLANG_HAS_VERSION_PATCHLEVEL=1
-fi
-
-sed -e "s#@CLANG_VERSION@#${CLANG_VERSION}#g" \
-    -e "s#@CLANG_VERSION_MAJOR@#${CLANG_VERSION_MAJOR}#g" \
-    -e "s#@CLANG_VERSION_MINOR@#${CLANG_VERSION_MINOR}#g" \
-    -e "s#@CLANG_VERSION_PATCHLEVEL@#${CLANG_VERSION_PATCHLEVEL}#g" \
-    -e "s#@CLANG_HAS_VERSION_PATCHLEVEL@#${CLANG_HAS_VERSION_PATCHLEVEL}#g"