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
Smartbody-svn@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/smartbody-svn

Reply via email to