aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/android
diff options
context:
space:
mode:
authorGravatar A. Unique TensorFlower <gardener@tensorflow.org>2017-03-15 16:01:00 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2017-03-15 17:23:21 -0700
commitbc5c91c1a4b4748bb1229a7486dafbfae4cdef97 (patch)
tree77008d3d85b696688be3e02248c98ada6ce0dbd4 /tensorflow/contrib/android
parent649db27ac3f220dc5a72cb9e049ee4e842a928b5 (diff)
Android: Update cmake inference AAR build to use Java interface files
Change: 150263070
Diffstat (limited to 'tensorflow/contrib/android')
-rw-r--r--tensorflow/contrib/android/cmake/CMakeLists.txt23
-rw-r--r--tensorflow/contrib/android/cmake/build.gradle15
2 files changed, 27 insertions, 11 deletions
diff --git a/tensorflow/contrib/android/cmake/CMakeLists.txt b/tensorflow/contrib/android/cmake/CMakeLists.txt
index 3d08a69aae..9f9d740d6c 100644
--- a/tensorflow/contrib/android/cmake/CMakeLists.txt
+++ b/tensorflow/contrib/android/cmake/CMakeLists.txt
@@ -30,20 +30,29 @@ add_library(lib_tf STATIC IMPORTED )
set_target_properties(lib_tf PROPERTIES IMPORTED_LOCATION
${PREBUILT_DIR}/lib/libtensorflow-core.a)
# Change to compile flags should be replicated into bazel build file
-# LINT.IfChange
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions \
- -fpic -O2 -mfpu=neon -DTF_LEAN_BINARY -msse4.1 \
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DIS_SLIM_BUILD \
+ -std=c++11 -fno-rtti -fno-exceptions \
+ -O2 -Wno-narrowing \
+ -mfpu=neon -mfloat-abi=softfp -fPIE \
-DGOOGLE_PROTOBUF_NO_RTTI \
-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER")
-# LINT.ThenChange(//tensorflow/tensorflow.bzl)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} \
-Wl,--allow-multiple-definition \
- -Wl,--whole-archive")
-
+ -Wl,--whole-archive \
+ -fPIE -pie -v")
file(GLOB tensorflow_inference_sources
${CMAKE_CURRENT_SOURCE_DIR}/../jni/*.cc)
-add_library(tensorflow_inference SHARED ${tensorflow_inference_sources})
+file(GLOB java_api_native_sources
+ ${TENSORFLOW_ROOT_DIR}/tensorflow/java/src/main/native/*.cc)
+
+add_library(tensorflow_inference SHARED
+ ${tensorflow_inference_sources}
+ ${TENSORFLOW_ROOT_DIR}/tensorflow/c/tf_status_helper.cc
+ ${TENSORFLOW_ROOT_DIR}/tensorflow/c/checkpoint_reader.cc
+ ${TENSORFLOW_ROOT_DIR}/tensorflow/c/test_op.cc
+ ${TENSORFLOW_ROOT_DIR}/tensorflow/c/c_api.cc
+ ${java_api_native_sources})
# Include libraries needed for hello-jni lib
target_link_libraries(tensorflow_inference
diff --git a/tensorflow/contrib/android/cmake/build.gradle b/tensorflow/contrib/android/cmake/build.gradle
index 8791fac18a..fb87de6212 100644
--- a/tensorflow/contrib/android/cmake/build.gradle
+++ b/tensorflow/contrib/android/cmake/build.gradle
@@ -1,8 +1,11 @@
apply plugin: 'com.android.library'
+// TensorFlow repo root dir on local machine
+def TF_SRC_DIR = projectDir.toString() + "/../../../.."
+
android {
compileSdkVersion 24
- buildToolsVersion "24.0.2"
+ buildToolsVersion '25.0.1'
// for debugging native code purpose
publishNonDefault true
@@ -10,7 +13,7 @@ android {
defaultConfig {
archivesBaseName = "Tensorflow-Android-Inference"
minSdkVersion 21
- targetSdkVersion 21
+ targetSdkVersion 23
versionCode 1
versionName "1.0"
ndk {
@@ -25,7 +28,11 @@ android {
}
sourceSets {
main {
- java.srcDirs = ["../java"]
+ java {
+ srcDir "${TF_SRC_DIR}/tensorflow/contrib/android/java"
+ srcDir "${TF_SRC_DIR}/tensorflow/java/src/main/java"
+ exclude '**/examples/**'
+ }
}
}
@@ -86,7 +93,7 @@ if(! Os.isFamily(Os.FAMILY_WINDOWS)) {
// just uncomment this line to use it:
// it can take long time to build by default
// it is disabled to avoid false first impression
- // task.dependsOn buildTensorflow
+ task.dependsOn buildTensorflow
}
}
}