Convert versioner to Android.bp

See build/soong/README.md for more information.

Test: mma -j
Change-Id: I0e648143ac480c1257d9829f9b9087ee22005855
diff --git a/tools/versioner/Android.bp b/tools/versioner/Android.bp
new file mode 100644
index 0000000..061709a
--- /dev/null
+++ b/tools/versioner/Android.bp
@@ -0,0 +1,3 @@
+subdirs = [
+    "src",
+]
diff --git a/tools/versioner/Android.mk b/tools/versioner/Android.mk
deleted file mode 100644
index c455f97..0000000
--- a/tools/versioner/Android.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/tools/versioner/src/Android.bp b/tools/versioner/src/Android.bp
new file mode 100644
index 0000000..6e1d750
--- /dev/null
+++ b/tools/versioner/src/Android.bp
@@ -0,0 +1,57 @@
+cc_binary_host {
+    name: "versioner",
+
+    srcs: [
+        "versioner.cpp",
+        "Arch.cpp",
+        "CompilationType.cpp",
+        "DeclarationDatabase.cpp",
+        "Driver.cpp",
+        "Preprocessor.cpp",
+        "SymbolDatabase.cpp",
+        "Utils.cpp",
+        "VFS.cpp",
+    ],
+
+    shared_libs: [
+        "libclang",
+        "libLLVM",
+        "libbase",
+    ],
+
+    header_libs: [
+        "llvm-headers",
+        "clang-headers",
+    ],
+
+    cflags: [
+        "-Wall",
+        "-Wextra",
+        "-Werror",
+        "-Wno-unused-parameter",
+
+        "-D__STDC_CONSTANT_MACROS",
+        "-D__STDC_LIMIT_MACROS",
+    ],
+
+    target: {
+        host: {
+            cppflags: [
+                "-fno-rtti",
+            ],
+        },
+        darwin: {
+            enabled: false,
+        },
+        windows: {
+            enabled: false,
+        },
+    },
+
+    product_variables: {
+        unbundled_build: {
+            // Only do this when Clang is available.
+            enabled: false,
+        },
+    },
+}
diff --git a/tools/versioner/src/Android.mk b/tools/versioner/src/Android.mk
deleted file mode 100644
index c90e02f..0000000
--- a/tools/versioner/src/Android.mk
+++ /dev/null
@@ -1,51 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-include $(CLEAR_TBLGEN_VARS)
-
-# Only do this when Clang is available.
-CLANG_ROOT_PATH := external/clang
-ifneq ($(wildcard $(CLANG_ROOT_PATH)/clang.mk),)
-
-LLVM_ROOT_PATH := external/llvm
-include $(CLANG_ROOT_PATH)/clang.mk
-
-LOCAL_MODULE := versioner
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_CLASS := EXECUTABLES
-
-TBLGEN_TABLES := \
-  AttrList.inc \
-  AttrVisitor.inc \
-  Attrs.inc \
-  CommentCommandList.inc \
-  DeclNodes.inc \
-  DiagnosticCommonKinds.inc \
-  StmtNodes.inc \
-
-LOCAL_SRC_FILES := \
-  versioner.cpp \
-  Arch.cpp \
-  CompilationType.cpp \
-  DeclarationDatabase.cpp \
-  Driver.cpp \
-  Preprocessor.cpp \
-  SymbolDatabase.cpp \
-  Utils.cpp \
-  VFS.cpp
-
-LOCAL_SHARED_LIBRARIES := libclang libLLVM libbase
-
-include $(CLANG_HOST_BUILD_MK)
-include $(CLANG_TBLGEN_RULES_MK)
-
-# Set these after including the clang makefiles, to avoid getting CFLAGS from them.
-LOCAL_CFLAGS := -Wall -Wextra -Werror -Wno-unused-parameter
-LOCAL_CFLAGS += -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS
-LOCAL_CPPFLAGS := -std=c++14 -fno-rtti
-
-LOCAL_MODULE_HOST_OS := linux
-
-include $(BUILD_HOST_EXECUTABLE)
-
-endif