Revision: 5858
http://sourceforge.net/p/smartbody/code/5858
Author: fastict
Date: 2014-09-24 05:17:05 +0000 (Wed, 24 Sep 2014)
Log Message:
-----------
branch - android - newly compiled clapack for android ndk. Updated master
build scripts to build with NDK r10. Renamed libs to match the standard names.
platform:
Ubuntu 13.04
Android NDK r10
Steps documented here:
https://confluence.ict.usc.edu/display/VHTK/Building+the+Toolkit#BuildingtheToolkit-3rdPartyInstructions
-------
11. clapack (blas, lapack, f2c)
wget www.netlib.org/clapack/clapack-3.2.1-CMAKE.tgz
tar zxvf clapack-3.2.1-CMAKE.tgz
cd clapack-3.2.1-CMAKE
create file toolchain-android.cmake:
set(DEV_HOME "/var/chroot/home/fast/Desktop/installers/android")
set(NDK_ROOT "${DEV_HOME}/android-ndk-r10")
set(TOOLCHAIN "${NDK_ROOT}/platforms/android-9/arch-arm")
set(SYSROOT "${TOOLCHAIN}")
set(CMAKE_FIND_ROOT_PATH "${SYSROOT}" "${NDK_ROOT}")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_SYSTEM_NAME "GNU")
set(CMAKE_SYSTEM_PROCESSOR armv7)
set(CPATH
"${NDK_ROOT}/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin")
set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
set(CMAKE_C_COMPILER "${CPATH}/arm-linux-androideabi-gcc")
set(CMAKE_CXX_COMPILER "${CPATH}/arm-linux-androideabi-g++")
remove_definitions("-D__linux__")
remove_definitions("-D__LINUX__")
add_definitions("-pipe --sysroot=${SYSROOT} -mthumb")
set(CMAKE_C_LINK_FLAGS "--sysroot=${SYSROOT} -L${SYSROOT}/usr/lib
-L${SYSROOT}/usr/lib/system")
set(CMAKE_CXX_LINK_FLAGS ${CMAKE_C_LINK_FLAGS})
include_directories("${SYSROOT}/usr/include")
include_directories("${SYSROOT}/usr/include")
link_directories("${SYSROOT}/usr/lib")
link_directories("${SYSROOT}/usr/lib/system")
set(CMAKE_CROSSCOMPILING TRUE)
set(ANDROID TRUE)
set(BUILD_ANDROID TRUE)
In .\CMakeLists.txt, make these changes:
line 4, comment out:
#include(CTest)
line 15, change OFF to ON:
option(USE_BLAS_WRAP "pre-pend f2c_ to each function in blas" ON)
line 24, comment out:
#add_subdirectory(TESTING)
In BLAS\CMakeLists.txt, change:
line 2, comment out:
#add_subdirectory(TESTING)
In F2CLIBS\libf2c\CMakeLists.txt, change:
line 1, remove main.c from list:
set(MISC
f77vers.c i77vers.c s_rnge.c abort_.c exit_.c getarg_.c iargc_.c
getenv_.c signal_.c s_stop.c s_paus.c system_.c cabs.c ctype.c
derf_.c derfc_.c erf_.c erfc_.c sig_die.c uninit.c)
In SRC\CMakeLists.txt, change:
line 49, remove ../INSTALL/lsame.c from list:
set(ALLAUX maxloc.c ilaenv.c ieeeck.c lsamen.c iparmq.c
ilaprec.c ilatrans.c ilauplo.c iladiag.c chla_transtype.c
../INSTALL/ilaver.c) # xerbla.c xerbla_array.c
In F2CLIBS\libf2c\sysdep1.h, change:
line 11, change to #if 0:
#if 0
#define USE_LARGEFILE
#define OFF_T __off64_t
#endif
In F2CLIBS\libf2c\uninit.c, change:
line 234, change to #if 0:
#if 0
#define IEEE0_done
#include "fpu_control.h"
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain-android.cmake ..
make
make (you must do 'make' twice)
copy .\build\BLAS\SRC\libblas.a to /android/lib
copy .\build\F2CLIBS\libf2c\libf2c.a to /android/lib
copy .\build\SRC\liblapack.a to /android/lib
Revision Links:
--------------
http://sourceforge.net/p/smartbody/code/10
http://sourceforge.net/p/smartbody/code/10
http://sourceforge.net/p/smartbody/code/10
Modified Paths:
--------------
branches/fast/smartbody-toolkit-5542/android/smartbody/jni/Android.mk
Added Paths:
-----------
branches/fast/smartbody-toolkit-5542/android/lib/libblas.a
branches/fast/smartbody-toolkit-5542/android/lib/libf2c.a
branches/fast/smartbody-toolkit-5542/android/lib/liblapack.a
Removed Paths:
-------------
branches/fast/smartbody-toolkit-5542/android/lib/blas_ANDROID.a
branches/fast/smartbody-toolkit-5542/android/lib/lapack_ANDROID.a
branches/fast/smartbody-toolkit-5542/android/lib/libf2c_ANDROID.a
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Smartbody-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/smartbody-svn