commit | 79a0fff6a8564f6df8a4f7f85ba4a941b3543c9c | [log] [tgz] |
---|---|---|
author | Alexander Afanasyev <aa@cs.fiu.edu> | Tue Dec 05 12:45:14 2017 -0500 |
committer | Alexander Afanasyev <aa@cs.fiu.edu> | Wed Dec 06 19:54:23 2017 -0500 |
tree | 667700736803cb3a38e14b85729ab8a07347cf26 | |
parent | da06629a5adac7e9b9d2add09bba5759f9a6350c [diff] |
Upgrade NFD/ndn-cxx to version 0.6.0 The upgrade required a small hotfix pushed to a custom github fork Change-Id: I0f97f31739537e6274995022ea4d1a88aeedfb57
To compile code, the following is necessary
Example script for Ubuntu 16.04 to get all dependencies, download SDK and NDK:
sudo apt -q update sudo apt -qy upgrade sudo apt-get install -y build-essential git openjdk-8-jdk unzip ruby ruby-rugged sudo apt-get install -y lib32stdc++6 lib32z1 lib32z1-dev mkdir android-sdk-linux cd android-sdk-linux wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip unzip sdk-tools-linux-3859397.zip rm sdk-tools-linux-3859397.zip export ANDROID_HOME=`pwd` export PATH=${PATH}:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools echo "y" | sdkmanager "platform-tools" sdkmanager "platforms;android-26" "build-tools;26.0.3" "ndk-bundle" cd ndk-bundle git clone https://github.com/cawka/android-crew-staging.git crew.dir CREW_OWNER=cawka crew.dir/crew install target/sqlite:3.18.0 target/openssl:1.0.2m target/boost:1.65.1 cd ..
The above crew
scripts will install pre-compiled versions of sqlite, openssl, and boost libraries. To compile them instead, replace install
with build
.
git clone --recursive http://gerrit.named-data.net/NFD-android echo sdk.dir=`pwd`/android-sdk-linux > NFD-android/local.properties echo ndk.dir=`pwd`/android-sdk-linux/ndk-bundle >> NFD-android/local.properties cd NFD-android ./gradlew assembleRelease
Note that you can limit architectures being built using NDK_BUILD_ABI
variable. For example,
export NDK_BUILD_ABI=armeabi-v7a,x86_64
will limit build to armeabi-v7a
and x86_64
.
By default, the build script will try to parallelize build to the number of CPUs. This can be overridden using NDK_BUILD_PARALLEL
variable.
The development setup can be set up with Vagrant and scripts provided in .vagrant/
folder. After vagrant command-line is installed, the following will create VM environment and fetch all necessary dependencies:
cd .vagrant vagrant up vagrant ssh
Refer to vagrant documentation for more information.