blob: 5e202fb5c5ccebe0872d3b966b43c9e84c2f7d49 [file] [log] [blame]
Yuta HIGUCHIa7ec0732014-03-10 16:01:06 -07001#!/bin/bash
Yuta HIGUCHI1c2c0db2014-03-13 16:20:35 -07002
Yuta HIGUCHIc83a4fb2014-04-07 15:16:06 -07003if [ -z "${JAVA_HOME}" ]; then
4 echo "JAVA_HOME not set"
5 OPENJDK=`java -version 2>&1 | grep OpenJDK`
6 if [ -z "${OPENJDK}" -a -d "/usr/lib/jvm/java-7-oracle" ]; then
7 JAVA_HOME=/usr/lib/jvm/java-7-oracle
8 else
9 JAVA_HOME=/usr/lib/jvm/default-java
10 fi
11 echo "Assuming JAVA_HOME=${JAVA_HOME}"
12fi
13
Yuta HIGUCHI4d70a012014-03-26 17:56:40 -070014# fail on command error
15set -e
16
Yuta HIGUCHIc83a4fb2014-04-07 15:16:06 -070017# echo back each command
18set -x
19
Yuta HIGUCHIa7ec0732014-03-10 16:01:06 -070020JAVA_HOME=${JAVA_HOME:-/usr/lib/jvm/java-7-oracle}
Yuta HIGUCHI318d9d12014-04-10 17:00:32 -070021export ONOS_HOME=${ONOS_HOME:-$(cd `dirname $0`; cd ..; pwd)}
22export RAMCLOUD_HOME=${RAMCLOUD_HOME:-~/ramcloud}
Yuta HIGUCHIa7ec0732014-03-10 16:01:06 -070023RAMCLOUD_BRANCH=${RAMCLOUD_BRANCH:-master}
24
Yuta HIGUCHId47eac32014-04-07 13:44:47 -070025if [ ! -e ${ONOS_HOME}/target/classes/edu/stanford/ramcloud/JRamCloud.class ]; then
26 mvn -f ${ONOS_HOME}/pom.xml compile -T 1C
27fi
Yuta HIGUCHIa7ec0732014-03-10 16:01:06 -070028
29javah -cp ${ONOS_HOME}/target/classes -o ${ONOS_HOME}/src/main/cpp/edu_stanford_ramcloud_JRamCloud.h edu.stanford.ramcloud.JRamCloud
30
31g++ -g -Wall -O3 -shared -fPIC -std=c++0x -I${JAVA_HOME}/include/ -I${JAVA_HOME}/include/linux -I${RAMCLOUD_HOME}/src/ -I${RAMCLOUD_HOME}/obj.${RAMCLOUD_BRANCH}/ -I${RAMCLOUD_HOME}/logcabin/ -I${RAMCLOUD_HOME}/gtest/include/ -L${RAMCLOUD_HOME}/obj.${RAMCLOUD_BRANCH} -o ${ONOS_HOME}/lib/libedu_stanford_ramcloud_JRamCloud.so ${ONOS_HOME}/src/main/cpp/edu_stanford_ramcloud_JRamCloud.cc -lramcloud
32
Yuta HIGUCHIa7ec0732014-03-10 16:01:06 -070033