blob: 433e06ab270fb5b8f1357505a8268c652b2087f7 [file] [log] [blame]
sandeepindiaf606d952022-12-05 23:48:36 +05301#!/bin/bash
2
3# O-RAN-SC
4#
5# Copyright (C) 2020 AT&T Intellectual Property and Nokia
6#
7# Licensed under the Apache License, Version 2.0 (the "License");
8# you may not use this file except in compliance with the License.
9# You may obtain a copy of the License at
10#
11# http://www.apache.org/licenses/LICENSE-2.0
12#
13# Unless required by applicable law or agreed to in writing, software
14# distributed under the License is distributed on an "AS IS" BASIS,
15# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16# See the License for the specific language governing permissions and
17# limitations under the License.
18
19# Installs Debian package 'pistache' to support building RPMs
20
21echo "---> install-git-RESTful.sh"
22
23# stop on error or unbound var, and be chatty
24set -eux
25echo "---> install RESTful API dependencies..."
26
27#export PATH=$PATH:~/.local/bin
28#export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu
29
30#building and installing cpprestsdk
31sudo apt-get install -y libcpprest-dev
32
33sudo apt-get install -y g++ git libboost-atomic-dev libboost-thread-dev libboost-system-dev libboost-date-time-dev libboost-regex-dev libboost-filesystem-dev libboost-random-dev libboost-chrono-dev libboost-serialization-dev libwebsocketpp-dev openssl libssl-dev ninja-build zlib1g-dev
34
35sudo git clone https://github.com/Microsoft/cpprestsdk.git casablanca && \
36 cd casablanca && \
37 mkdir build && \
38 cd build && \
39 cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF -DBUILD_SAMPLES=OFF -DCMAKE_INSTALL_PREFIX=/usr/local .. && \
40 ninja && \
41 ninja install && \
42 cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=0 -DBUILD_TESTS=OFF -DBUILD_SAMPLES=OFF -DCMAKE_INSTALL_PREFIX=/usr/local .. && \
43 ninja && \
44 ninja install
45
46cd ../../
47
48
49
50#installing all dependicies for pistache
51sudo apt-get update && sudo apt-get -y install ninja-build python python3-pip libcurl4-openssl-dev libssl-dev pkg-config
52python3 -m pip install meson
53
54
55git clone https://github.com/Tencent/rapidjson && \
56 cd rapidjson && \
57 mkdir build && \
58 cd build && \
59 cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. && \
60 make install
61
62cd ../../
63
64
65#building and installing pistache
66git clone https://github.com/pistacheio/pistache.git
67
68cd pistache && \
69 meson setup build \
70 --buildtype=release \
71 -DPISTACHE_USE_SSL=true \
72 -DPISTACHE_BUILD_EXAMPLES=true \
73 -DPISTACHE_BUILD_TESTS=true \
74 -DPISTACHE_BUILD_DOCS=false \
75 --prefix="/usr/local"
76
77cd build && \
78 ninja && \
79 ninja install
80cp /usr/local/lib/x86_64-linux-gnu/libpistache* /usr/local/lib/
81cp /usr/local/lib/x86_64-linux-gnu/pkgconfig/libpistache.pc /usr/local/lib/pkgconfig
82cd ../../
83
84
85#install nlohmann json
86git clone https://github.com/nlohmann/json.git && cd json && cmake . && make install
87cd ../
88#install json-schema-validator
89git clone https://github.com/pboettch/json-schema-validator.git && cd json-schema-validator &&mkdir build &&cd build && cmake .. && make install
90cd ../
91
92
93export LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib
94export C_INCLUDE_PATH=/usr/local/include
95
96echo "---> install-git-RESTful.sh ends"
97