ErgoUpdatePage: 40_ocarina-ubuntu1604.sh

File 40_ocarina-ubuntu1604.sh, 1.8 KB (added by arnaud, 6 years ago)
Line 
1#!/bin/bash
2DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
3. "${DIR}/common.sh"
4
5function overWriteAADLcomponents()
6{
7 # Install TASTE customized version of available deployment targets
8 # Also done in misc, but doing it here allows standalone update of ocarina
9 echo Installing TASTE-supported deployment targets
10 cat ../misc/aadl-library/ocarina_components.aadl | \
11 sed "s,/home/taste/tool-inst,$(taste-config --prefix)," > \
12 "${PREFIX}/share/ocarina/AADLv2/ocarina_components.aadl"
13}
14
15# Setup the tools in ~/.local/bin
16cd "$DIR/../ocarina" || exit 1
17
18# Skip Ocarina building if tree is clean and version is identical
19HEAD="$(git log --oneline | head -1 | cut -d' ' -f1)"
20VERSION_INSTALLED="$(ocarina -v 2>&1 | grep ^Oca | awk '{print $NF}' | sed 's,),,;s,r,,')"
21GIT_OUTPUT=$(git status --porcelain)
22if [ "${GIT_OUTPUT}" == "" ] ; then
23 TREE_DIRTY=0
24else
25 TREE_DIRTY=1
26fi
27if [ ${TREE_DIRTY} -eq 0 ] && [ "${HEAD}" == "${VERSION_INSTALLED}" ] ; then
28 echo Ocarina tree is clean and already installed. Skipping Ocarina build...
29 overWriteAADLcomponents
30 exit 0
31fi
32
33make distclean # ignore any errors here
34./support/reconfig || exit 1
35# ./configure --enable-python --enable-shared --prefix="${PREFIX}" || exit 1
36./configure --enable-shared --prefix="${PREFIX}" || exit 1
37make || exit 1
38make install
39
40overWriteAADLcomponents
41
42# Add Ocarina to PATH
43PATH_CMD='export PATH=$PATH:'"${PREFIX}/bin"
44UpdatePATH
45
46# Add Ocarina Python-binding libraries to LD_LIBRARY_PATH
47PATH_CMD='export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:'"${PREFIX}/lib"
48UpdatePATH
49
50# Add Ocarina env var necessary for Python mappings to function
51PATH_CMD="export OCARINA_PATH=`ocarina-config --prefix`"
52UpdatePATH
53
54# Add Ocarina-specific PYTHONPATH dependencies
55PATH_CMD='export PYTHONPATH=$OCARINA_PATH/include/ocarina/runtime/python:$OCARINA_PATH/lib:$PYTHONPATH'
56UpdatePATH