c5b762bd0c0fd1184c6938fa53f8f63a94bf5ef4
[ci-management.git] / jjb / cicn / include-raw-cicn-radio-emulators-build.sh
1 #!/bin/bash
2 # basic build script example
3 set -euxo pipefail
4 IFS=$'\n\t'
5
6 APT_PATH=`which apt-get` || true
7 apt_get=${APT_PATH:-"/usr/local/bin/apt-get"}
8
9 PACKAGE_NAME="RADIO_EMULATOR"
10 RADIO_EMULATOR_DEPS_UBUNTU="pkg-config libboost-all-dev libsqlite3-dev libopenmpi-dev libxml2-dev libwebsocketpp-dev"
11
12 BUILD_TOOLS="build-essential cmake"
13
14 ARCHITECTURE=`uname -m`
15
16 # Figure out what system we are running on
17 if [ -f /etc/lsb-release ];then
18
19     . /etc/lsb-release
20     DEB=ON
21     RPM=OFF
22
23     if [ "$ARCHITECTURE" == "x86_64" ]; then
24         ARCHITECTURE="amd64"
25     fi
26
27 elif [ -f /etc/redhat-release ];then
28
29     sudo yum install -y redhat-lsb
30     DISTRIB_ID=`lsb_release -si`
31     DISTRIB_RELEASE=`lsb_release -sr`
32     DISTRIB_CODENAME=`lsb_release -sc`
33     DISTRIB_DESCRIPTION=`lsb_release -sd`
34
35     DEB=OFF
36     RPM=ON
37 else
38     echo "ERROR: System configuration not recognized. Build failed"
39     exit -1
40 fi
41
42 echo ARCHITECTURE: $ARCHITECTURE
43 echo DISTRIB_ID: $DISTRIB_ID
44 echo DISTRIB_RELEASE: $DISTRIB_RELEASE
45 echo DISTRIB_CODENAME: $DISTRIB_CODENAME
46 echo DISTRIB_DESCRIPTION: $DISTRIB_DESCRIPTION
47
48 setup $DISTRIB_ID $DISTRIB_CODENAME
49
50 # Install deps
51
52 if [ $DISTRIB_ID == "Ubuntu" ]; then
53     echo $BUILD_TOOLS $RADIO_EMULATOR_DEPS_UBUNTU | xargs sudo ${apt_get} install -y --allow-unauthenticated || true
54 else
55     echo "This package is currently supported only for ubuntu. Exiting.."
56     exit -1
57 fi
58
59 # Parameters
60 # $1 = WIFI / LTE
61 #
62 build() {
63     PARAM=$1
64     mkdir -p build
65     cd build
66     ls | grep -v *.deb | xargs rm -rf || true
67     echo $PARAM | xargs cmake -DCMAKE_INSTALL_PREFIX=/usr -DRPM_PACKAGE=$RPM -DDEB_PACKAGE=$DEB -DDISTRIBUTION=$DISTRIB_CODENAME -DARCHITECTURE=$ARCHITECTURE ..
68     make
69 }
70
71 # Install libns3
72
73 pushd emu-radio/ns3-packages
74 sudo dpkg -i *.deb || true
75 sudo apt-get -f install -y --allow-unauthenticated || true
76 popd
77
78 # Build wifi-emualtor
79 pushd emu-radio
80 build "-DWIFI=ON -DLTE=OFF"
81 make package
82 popd
83
84 # Build lte-emualtor
85 pushd emu-radio
86 build "-DLTE=ON -DWIFI=OFF"
87 make package
88 popd