Clean up vpp build bootstrap step
[vpp.git] / build-root / bootstrap.sh
1 #!/bin/bash
2
3 # Copyright (c) 2015 Cisco and/or its affiliates.
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at:
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 build_root=`pwd`
17 cd ../
18 wsroot=`pwd`
19
20 # PATH
21 if [[ ! $CCACHE_DIR ]];then
22     CCACHE_DIR="$build_root/.ccache"
23 fi
24 ADD_TO_PATH="$build_root/tools/ccache-bin:$build_root/tools/bin"
25
26 # Construct build-config.mk
27 cd $build_root
28 echo SOURCE_PATH = $wsroot > build-config.mk
29 echo 
30 echo Saving PATH settings in `pwd`/path_setup
31 echo Source this file later, as needed
32 cat >path_setup <<EOF
33 #!/bin/bash
34
35 export PATH=$ADD_TO_PATH:$PATH
36 export CCACHE_DIR=$CCACHE_DIR
37 EOF
38
39 # regenerate tools/ccache-bin
40 rm -rf tools/ccache-bin
41 mkdir -p tools/ccache-bin tools/bin
42
43 if [ ! -f /usr/bin/ccache ] ; then
44     echo CCACHE is required. Please install it!
45     exit 1
46 fi
47
48 cd tools/ccache-bin
49 for c in gcc g++ clang clang++
50 do
51     ln -s /usr/bin/ccache $c
52 done
53 cd ../
54 ln -s $wsroot/src/tools/vppapigen/vppapigen  \
55       $build_root/tools/bin/vppapigen
56
57 cd $build_root
58
59 exit 0