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
+}