IVGCVSW-2911 Add Android Q support to android-nn-driver infrastructure

 * Updated Android.mk to build Android Q
 * Added androidnn.go to inject cpp flags for Q
 * Create Runtime when ACL is not enabled

Change-Id: Ia3e7a8e484fc81ce63998a65e29753cbf941173c
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Signed-off-by: Kevin May <kevin.may@arm.com>
diff --git a/androidnn.go b/androidnn.go
new file mode 100644
index 0000000..aa83b1a
--- /dev/null
+++ b/androidnn.go
@@ -0,0 +1,44 @@
+//
+// Copyright © 2017 ARM Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+package armnn_nn_driver
+
+import (
+    "android/soong/android"
+    "android/soong/cc"
+)
+
+func globalFlags(ctx android.BaseContext) []string {
+    var cppflags []string
+
+    if ctx.AConfig().PlatformVersionName() == "Q"  {
+        cppflags = append(cppflags, "-fno-addrsig")
+    }
+
+    return cppflags
+}
+
+func armnnNNDriverDefaults(ctx android.LoadHookContext) {
+        type props struct {
+                Cppflags []string
+        }
+
+        p := &props{}
+        p.Cppflags = globalFlags(ctx)
+
+        ctx.AppendProperties(p)
+}
+
+func init() {
+
+  android.RegisterModuleType("armnn_nn_driver_defaults", armnnNNDriverDefaultsFactory)
+}
+
+func armnnNNDriverDefaultsFactory() android.Module {
+
+   module := cc.DefaultsFactory()
+   android.AddLoadHook(module, armnnNNDriverDefaults)
+   return module
+}