Skip to content

Commit 462c2ed

Browse files
authored
Merge pull request #1 from PaddlePaddle/develop
Update
2 parents 1eb5e56 + d4d4580 commit 462c2ed

File tree

187 files changed

+8049
-2228
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

187 files changed

+8049
-2228
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ cmake-build-*
2222

2323
# generated while compiling
2424
python/paddle/v2/framework/core.so
25+
paddle/pybind/pybind.h
2526
CMakeFiles
2627
cmake_install.cmake
2728
paddle/.timestamp

CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@ endif()
6767
if(ANDROID)
6868
if(${CMAKE_SYSTEM_VERSION} VERSION_LESS "16")
6969
message(FATAL_ERROR "Unsupport standalone toolchains with Android API level lower than 16")
70+
elseif(${CMAKE_SYSTEM_VERSION} VERSION_LESS "21")
71+
# TODO: support glog for Android api 16 ~ 19 in the future
72+
message(WARNING "Using the unofficial git repository <https://github.com/Xreki/glog.git> instead")
7073
endif()
7174

7275
set(WITH_GPU OFF CACHE STRING

Dockerfile.android

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@ RUN /bin/bash -c 'if [[ -n ${UBUNTU_MIRROR} ]]; then sed -i 's#http://archive.ub
66

77
# ENV variables
88
ARG ANDROID_ABI
9+
ARG ANDROID_API
910

1011
ENV ANDROID_ABI=${ANDROID_ABI:-"armeabi-v7a"}
12+
ENV ANDROID_API=${ANDROID_API:-21}
1113

1214
ENV HOME=/root \
1315
ANDROID_NDK_HOME=/opt/android-ndk-linux \
14-
ANDROID_ARM_STANDALONE_TOOLCHAIN=/opt/arm-toolchain \
15-
ANDROID_ARM64_STANDALONE_TOOLCHAIN=/opt/arm64-toolchain
16+
ANDROID_TOOLCHAINS_DIR=/opt/toolchains
1617

1718
RUN apt-get update && \
1819
apt-get install -y \
@@ -42,14 +43,12 @@ RUN pip install --upgrade pip && \
4243
pip install pre-commit
4344

4445
# Android NDK
45-
RUN mkdir /opt/android-ndk-tmp && \
46+
RUN mkdir -p ${ANDROID_TOOLCHAINS_DIR} && \
47+
mkdir -p /opt/android-ndk-tmp && \
4648
cd /opt/android-ndk-tmp && \
4749
wget -q https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip && \
4850
unzip -q android-ndk-r14b-linux-x86_64.zip && \
4951
mv android-ndk-r14b ${ANDROID_NDK_HOME} && \
50-
${ANDROID_NDK_HOME}/build/tools/make-standalone-toolchain.sh --arch=arm --platform=android-23 --install-dir=${ANDROID_ARM_STANDALONE_TOOLCHAIN} && \
51-
${ANDROID_NDK_HOME}/build/tools/make-standalone-toolchain.sh --arch=arm64 --platform=android-23 --install-dir=${ANDROID_ARM64_STANDALONE_TOOLCHAIN} && \
52-
rm -rf /opt/android-ndk-tmp && \
53-
rm -rf ${ANDROID_NDK_HOME}
52+
rm -rf /opt/android-ndk-tmp
5453

5554
CMD ["bash", "/paddle/paddle/scripts/docker/build_android.sh"]

cmake/cpplint.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ set(IGNORE_PATTERN
2626
.*ImportanceSampler.*
2727
.*cblas\\.h.*
2828
.*\\.pb\\.txt
29-
.*LtrDataProvider.*
3029
.*MultiDataProvider.*
31-
.*pb.*)
30+
.*pb.*
31+
.*pybind.h)
3232

3333
# add_style_check_target
3434
#

cmake/external/gflags.cmake

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ SET(GFLAGS_SOURCES_DIR ${THIRD_PARTY_PATH}/gflags)
1818
SET(GFLAGS_INSTALL_DIR ${THIRD_PARTY_PATH}/install/gflags)
1919
SET(GFLAGS_INCLUDE_DIR "${GFLAGS_INSTALL_DIR}/include" CACHE PATH "gflags include directory." FORCE)
2020
IF(WIN32)
21-
set(GFLAGS_LIBRARIES "${GFLAGS_INSTALL_DIR}/lib/gflags.lib" CACHE FILEPATH "GFLAGS_LIBRARIES" FORCE)
21+
set(GFLAGS_LIBRARIES "${GFLAGS_INSTALL_DIR}/lib/gflags.lib" CACHE FILEPATH "GFLAGS_LIBRARIES" FORCE)
2222
ELSE(WIN32)
23-
set(GFLAGS_LIBRARIES "${GFLAGS_INSTALL_DIR}/lib/libgflags.a" CACHE FILEPATH "GFLAGS_LIBRARIES" FORCE)
23+
set(GFLAGS_LIBRARIES "${GFLAGS_INSTALL_DIR}/lib/libgflags.a" CACHE FILEPATH "GFLAGS_LIBRARIES" FORCE)
2424
ENDIF(WIN32)
2525

2626
INCLUDE_DIRECTORIES(${GFLAGS_INCLUDE_DIR})
@@ -56,3 +56,12 @@ SET_PROPERTY(TARGET gflags PROPERTY IMPORTED_LOCATION ${GFLAGS_LIBRARIES})
5656
ADD_DEPENDENCIES(gflags extern_gflags)
5757

5858
LIST(APPEND external_project_dependencies gflags)
59+
60+
IF(WITH_C_API)
61+
INSTALL(DIRECTORY ${GFLAGS_INCLUDE_DIR} DESTINATION third_party/gflags)
62+
IF(ANDROID)
63+
INSTALL(FILES ${GFLAGS_LIBRARIES} DESTINATION third_party/gflags/lib/${ANDROID_ABI})
64+
ELSE()
65+
INSTALL(FILES ${GFLAGS_LIBRARIES} DESTINATION third_party/gflags/lib)
66+
ENDIF()
67+
ENDIF()

cmake/external/glog.cmake

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ SET(GLOG_INSTALL_DIR ${THIRD_PARTY_PATH}/install/glog)
1919
SET(GLOG_INCLUDE_DIR "${GLOG_INSTALL_DIR}/include" CACHE PATH "glog include directory." FORCE)
2020

2121
IF(WIN32)
22-
SET(GLOG_LIBRARIES "${GLOG_INSTALL_DIR}/lib/libglog.lib" CACHE FILEPATH "glog library." FORCE)
22+
SET(GLOG_LIBRARIES "${GLOG_INSTALL_DIR}/lib/libglog.lib" CACHE FILEPATH "glog library." FORCE)
2323
ELSE(WIN32)
24-
SET(GLOG_LIBRARIES "${GLOG_INSTALL_DIR}/lib/libglog.a" CACHE FILEPATH "glog library." FORCE)
24+
SET(GLOG_LIBRARIES "${GLOG_INSTALL_DIR}/lib/libglog.a" CACHE FILEPATH "glog library." FORCE)
2525
ENDIF(WIN32)
2626

2727
INCLUDE_DIRECTORIES(${GLOG_INCLUDE_DIR})
@@ -56,3 +56,12 @@ ADD_DEPENDENCIES(glog extern_glog gflags)
5656
LINK_LIBRARIES(glog gflags)
5757

5858
LIST(APPEND external_project_dependencies glog)
59+
60+
IF(WITH_C_API)
61+
INSTALL(DIRECTORY ${GLOG_INCLUDE_DIR} DESTINATION third_party/glog)
62+
IF(ANDROID)
63+
INSTALL(FILES ${GLOG_LIBRARIES} DESTINATION third_party/glog/lib/${ANDROID_ABI})
64+
ELSE()
65+
INSTALL(FILES ${GLOG_LIBRARIES} DESTINATION third_party/glog/lib)
66+
ENDIF()
67+
ENDIF()

cmake/external/openblas.cmake

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,26 @@ IF(NOT ${CBLAS_FOUND})
7373
UPDATE_COMMAND ""
7474
CONFIGURE_COMMAND ""
7575
)
76+
77+
IF(WITH_C_API)
78+
INSTALL(DIRECTORY ${CBLAS_INC_DIR} DESTINATION third_party/openblas)
79+
# Because libopenblas.a is a symbolic link of another library, thus need to
80+
# install the whole directory.
81+
IF(ANDROID)
82+
SET(TMP_INSTALL_DIR third_party/openblas/lib/${ANDROID_ABI})
83+
ELSE()
84+
SET(TMP_INSTALL_DIR third_party/openblas/lib)
85+
ENDIF()
86+
INSTALL(CODE "execute_process(
87+
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CBLAS_INSTALL_DIR}/lib
88+
destination ${CMAKE_INSTALL_PREFIX}/${TMP_INSTALL_DIR}
89+
)"
90+
)
91+
INSTALL(CODE "MESSAGE(STATUS \"Installing: \"
92+
\"${CBLAS_INSTALL_DIR}/lib -> ${CMAKE_INSTALL_PREFIX}/${TMP_INSTALL_DIR}\"
93+
)"
94+
)
95+
ENDIF()
7696
ENDIF(NOT ${CBLAS_FOUND})
7797

7898
MESSAGE(STATUS "BLAS library: ${CBLAS_LIBRARIES}")

cmake/external/protobuf.cmake

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,15 @@ IF(NOT PROTOBUF_FOUND)
223223
SET(PROTOBUF_PROTOC_LIBRARY ${extern_protobuf_PROTOC_LIBRARY}
224224
CACHE FILEPATH "protoc library." FORCE)
225225

226+
IF(WITH_C_API)
227+
INSTALL(DIRECTORY ${PROTOBUF_INCLUDE_DIR} DESTINATION third_party/protobuf)
228+
IF(ANDROID)
229+
INSTALL(FILES ${PROTOBUF_LIBRARY} DESTINATION third_party/protobuf/lib/${ANDROID_ABI})
230+
ELSE()
231+
INSTALL(FILES ${PROTOBUF_LIBRARY} DESTINATION third_party/protobuf/lib)
232+
ENDIF()
233+
ENDIF()
234+
226235
IF(CMAKE_CROSSCOMPILING)
227236
PROMPT_PROTOBUF_LIB(protobuf_host extern_protobuf)
228237
ELSE()

cmake/external/zlib.cmake

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,12 @@ ExternalProject_Add(
4949
)
5050

5151
LIST(APPEND external_project_dependencies zlib)
52+
53+
IF(WITH_C_API)
54+
INSTALL(DIRECTORY ${ZLIB_INCLUDE_DIR} DESTINATION third_party/zlib)
55+
IF(ANDROID)
56+
INSTALL(FILES ${ZLIB_LIBRARIES} DESTINATION third_party/zlib/lib/${ANDROID_ABI})
57+
ELSE()
58+
INSTALL(FILES ${ZLIB_LIBRARIES} DESTINATION third_party/zlib/lib)
59+
ENDIF()
60+
ENDIF()

0 commit comments

Comments
 (0)