diff options
author | 2017-03-15 16:01:00 -0800 | |
---|---|---|
committer | 2017-03-15 17:23:21 -0700 | |
commit | bc5c91c1a4b4748bb1229a7486dafbfae4cdef97 (patch) | |
tree | 77008d3d85b696688be3e02248c98ada6ce0dbd4 /tensorflow/contrib/android | |
parent | 649db27ac3f220dc5a72cb9e049ee4e842a928b5 (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.txt | 23 | ||||
-rw-r--r-- | tensorflow/contrib/android/cmake/build.gradle | 15 |
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 } } } |