Add jni interface for the ArmNN Delegate

 * adds a version script to hide away all symbols that
   are not required to use the interface
 * the main purpose of the jni interface is to enable the
   delegate to be used in android apps
 * Add static building to patch - see patch 7 for JNI patch only

Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I9bb2d698b5fdb0d1b30cf79e6f19746310cd61b2
diff --git a/delegate/CMakeLists.txt b/delegate/CMakeLists.txt
index 523214b..01dde4e 100644
--- a/delegate/CMakeLists.txt
+++ b/delegate/CMakeLists.txt
@@ -54,7 +54,7 @@
         src/Unpack.hpp
         src/Transpose.hpp)
 
-add_library(armnnDelegate SHARED ${armnnDelegate_sources})
+add_library(armnnDelegate ${armnnDelegate_sources})
 
 target_include_directories(armnnDelegate
         PUBLIC
@@ -254,6 +254,12 @@
 
 endif()
 
+option(BUILD_DELEGATE_JNI_INTERFACE "Builds a library to allow accessing the Arm NN delegate from Java code.
+                                     This is an experimental feature." Off)
+if(BUILD_DELEGATE_JNI_INTERFACE)
+    add_subdirectory(armnnDelegateJNI)
+endif()
+
 ####################################################
 ## Export targets
 set(armnn_delegate_export_targets)