1 | #!/bin/bash
|
---|
2 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
---|
3 | . "${DIR}/common.sh"
|
---|
4 |
|
---|
5 | function 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
|
---|
16 | cd "$DIR/../ocarina" || exit 1
|
---|
17 |
|
---|
18 | # Skip Ocarina building if tree is clean and version is identical
|
---|
19 | HEAD="$(git log --oneline | head -1 | cut -d' ' -f1)"
|
---|
20 | VERSION_INSTALLED="$(ocarina -v 2>&1 | grep ^Oca | awk '{print $NF}' | sed 's,),,;s,r,,')"
|
---|
21 | GIT_OUTPUT=$(git status --porcelain)
|
---|
22 | if [ "${GIT_OUTPUT}" == "" ] ; then
|
---|
23 | TREE_DIRTY=0
|
---|
24 | else
|
---|
25 | TREE_DIRTY=1
|
---|
26 | fi
|
---|
27 | if [ ${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
|
---|
31 | fi
|
---|
32 |
|
---|
33 | make 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
|
---|
37 | make || exit 1
|
---|
38 | make install
|
---|
39 |
|
---|
40 | overWriteAADLcomponents
|
---|
41 |
|
---|
42 | # Add Ocarina to PATH
|
---|
43 | PATH_CMD='export PATH=$PATH:'"${PREFIX}/bin"
|
---|
44 | UpdatePATH
|
---|
45 |
|
---|
46 | # Add Ocarina Python-binding libraries to LD_LIBRARY_PATH
|
---|
47 | PATH_CMD='export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:'"${PREFIX}/lib"
|
---|
48 | UpdatePATH
|
---|
49 |
|
---|
50 | # Add Ocarina env var necessary for Python mappings to function
|
---|
51 | PATH_CMD="export OCARINA_PATH=`ocarina-config --prefix`"
|
---|
52 | UpdatePATH
|
---|
53 |
|
---|
54 | # Add Ocarina-specific PYTHONPATH dependencies
|
---|
55 | PATH_CMD='export PYTHONPATH=$OCARINA_PATH/include/ocarina/runtime/python:$OCARINA_PATH/lib:$PYTHONPATH'
|
---|
56 | UpdatePATH
|
---|