author | frederic.urbani@inria.fr |
Wed, 29 Aug 2012 16:17:31 +0200 | |
changeset 262 | e2fa5ca29cd4 |
parent 259 | 8229b566699d |
child 263 | 80ddc553e4ec |
permissions | -rwxr-xr-x |
119 | 1 |
#!/bin/bash |
2 |
# this script checkout NS3 and DCE sources, and build them. |
|
148
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
3 |
USE_KERNEL=NO |
236
1ba94266f3ad
Add VDL option to waf to build dce-runner in order to run dce scenario using the VDL loader.
frederic.urbani@inria.fr
parents:
227
diff
changeset
|
4 |
USE_VDL=NO |
259 | 5 |
USE_MPI=NO |
236
1ba94266f3ad
Add VDL option to waf to build dce-runner in order to run dce scenario using the VDL loader.
frederic.urbani@inria.fr
parents:
227
diff
changeset
|
6 |
WAF_VDL= |
224 | 7 |
args=("$@") |
8 |
NB=$# |
|
9 |
for (( i=0;i<$NB;i++)); do |
|
10 |
if [ ${args[${i}]} = '-k' ] |
|
11 |
then |
|
12 |
USE_KERNEL=YES |
|
225
dd5e3466cb3c
Add a myscripts directories for user scripts build.
frederic.urbani@inria.fr
parents:
224
diff
changeset
|
13 |
WGET=wget |
224 | 14 |
fi |
236
1ba94266f3ad
Add VDL option to waf to build dce-runner in order to run dce scenario using the VDL loader.
frederic.urbani@inria.fr
parents:
227
diff
changeset
|
15 |
if [ ${args[${i}]} = '-v' ] |
1ba94266f3ad
Add VDL option to waf to build dce-runner in order to run dce scenario using the VDL loader.
frederic.urbani@inria.fr
parents:
227
diff
changeset
|
16 |
then |
1ba94266f3ad
Add VDL option to waf to build dce-runner in order to run dce scenario using the VDL loader.
frederic.urbani@inria.fr
parents:
227
diff
changeset
|
17 |
USE_VDL=YES |
1ba94266f3ad
Add VDL option to waf to build dce-runner in order to run dce scenario using the VDL loader.
frederic.urbani@inria.fr
parents:
227
diff
changeset
|
18 |
fi |
259 | 19 |
if [ ${args[${i}]} = '-m' ] |
20 |
then |
|
21 |
USE_MPI=YES |
|
22 |
MPI_SWITCH=--enable-mpi |
|
23 |
fi |
|
224 | 24 |
done |
225
dd5e3466cb3c
Add a myscripts directories for user scripts build.
frederic.urbani@inria.fr
parents:
224
diff
changeset
|
25 |
for i in patch hg make $WGET tar |
224 | 26 |
do |
27 |
which $i >/dev/null |
|
28 |
if [ 1 == $? ] |
|
29 |
then |
|
30 |
echo $i not found ! |
|
31 |
echo "Please, install $i command line tool." |
|
32 |
exit 1 |
|
206
0f48e3ded7e3
Add checking of patch command existance in compile script.
frederic.urbani@inria.fr
parents:
205
diff
changeset
|
33 |
fi |
224 | 34 |
done |
120 | 35 |
cd `dirname $BASH_SOURCE`/../.. |
119 | 36 |
SAVE_PATH=$PATH |
37 |
SAVE_LDLP=$LD_LIBRARY_PATH |
|
38 |
SAVE_PKG=$PKG_CONFIG_PATH |
|
120 | 39 |
#echo clone ns-3-dce : |
40 |
#hg clone http://code.nsnam.org/furbani/ns-3-dce |
|
119 | 41 |
echo clone readversiondef |
42 |
hg clone http://code.nsnam.org/mathieu/readversiondef |
|
148
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
43 |
if [ "YES" == "$USE_KERNEL" ] |
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
44 |
then |
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
45 |
echo clone ns-3-linux |
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
46 |
hg clone http://code.nsnam.org/furbani/ns-3-linux |
227 | 47 |
fi |
134 | 48 |
echo clone ns-3-dev |
259 | 49 |
hg clone -r 7752dc4ce7e9 http://code.nsnam.org/ns-3-dev |
119 | 50 |
mkdir build |
134 | 51 |
cd ns-3-dev |
245
7bcafc101432
clean up the build script along with ns-3-linux
Hajime Tazaki <tazaki@nict.go.jp>
parents:
243
diff
changeset
|
52 |
hg revert -a |
162
cb46566adf75
Add prototype implementation for socket of domain AF_PACKET and type SOCK_RAW.
frederic.urbani@inria.fr
parents:
161
diff
changeset
|
53 |
patch -p1 <../ns-3-dce/utils/packet-socket-upgrade-exp.patch |
227 | 54 |
patch -p1 <../ns-3-dce/utils/remove-default-simulator-asserts.patch |
259 | 55 |
./waf configure --prefix=`pwd`/../build --enable-tests $MPI_SWITCH |
119 | 56 |
./waf |
57 |
./waf install |
|
58 |
cd .. |
|
59 |
export PATH=$SAVE_PATH:`pwd`/build/bin |
|
60 |
export LD_LIBRARY_PATH=$SAVE_LDLP:`pwd`/build/lib |
|
61 |
export PKG_CONFIG_PATH=$SAVE_PKG:`pwd`/build/lib/pkgconfig |
|
62 |
cd readversiondef/ |
|
63 |
make |
|
64 |
make install PREFIX=`pwd`/../build/ |
|
65 |
cd .. |
|
148
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
66 |
if [ "YES" == "$USE_KERNEL" ] |
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
67 |
then |
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
68 |
cd ns-3-linux/ |
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
69 |
make |
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
70 |
cd .. |
173
721b6053d1af
Update kernel and iproute2 sources of sources !
frederic.urbani@inria.fr
parents:
162
diff
changeset
|
71 |
wget http://www.linuxgrill.com/anonymous/iproute2/NEW-OSDL/iproute2-2.6.38.tar.bz2 |
721b6053d1af
Update kernel and iproute2 sources of sources !
frederic.urbani@inria.fr
parents:
162
diff
changeset
|
72 |
tar jxf iproute2-2.6.38.tar.bz2 |
721b6053d1af
Update kernel and iproute2 sources of sources !
frederic.urbani@inria.fr
parents:
162
diff
changeset
|
73 |
cd iproute2-2.6.38 |
721b6053d1af
Update kernel and iproute2 sources of sources !
frederic.urbani@inria.fr
parents:
162
diff
changeset
|
74 |
./configure |
148
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
75 |
LDFLAGS=-pie make CCOPTS='-fpic -D_GNU_SOURCE -O0 -U_FORTIFY_SOURCE' |
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
76 |
cd ../ns-3-dce |
205
cecb106ffa9a
Linux kernel file is searched using DCE_PATH env var now.
frederic.urbani@inria.fr
parents:
204
diff
changeset
|
77 |
ln -s ../ns-3-linux/libnet-next-2.6.so |
204 | 78 |
mkdir -p build/bin_dce |
79 |
cd build/bin_dce |
|
262
e2fa5ca29cd4
Change the name of the kernel library used in examples and tests.
frederic.urbani@inria.fr
parents:
259
diff
changeset
|
80 |
ln -s ../../../ns-3-linux/libnet-next-2.6.so liblinux.so |
204 | 81 |
ln -s ../../../iproute2-2.6.38/ip/ip |
82 |
cd ../.. |
|
148
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
83 |
fi |
236
1ba94266f3ad
Add VDL option to waf to build dce-runner in order to run dce scenario using the VDL loader.
frederic.urbani@inria.fr
parents:
227
diff
changeset
|
84 |
if [ "YES" == "$USE_VDL" ] |
1ba94266f3ad
Add VDL option to waf to build dce-runner in order to run dce scenario using the VDL loader.
frederic.urbani@inria.fr
parents:
227
diff
changeset
|
85 |
then |
243
79c17eb3f698
fix the hg command option issue on old version of mercurial (mercurial 1.1 on F8)
Hajime Tazaki <tazaki@nict.go.jp>
parents:
237
diff
changeset
|
86 |
hg clone -r d7ef4732dccc http://code.nsnam.org/mathieu/elf-loader/ |
236
1ba94266f3ad
Add VDL option to waf to build dce-runner in order to run dce scenario using the VDL loader.
frederic.urbani@inria.fr
parents:
227
diff
changeset
|
87 |
cd elf-loader |
1ba94266f3ad
Add VDL option to waf to build dce-runner in order to run dce scenario using the VDL loader.
frederic.urbani@inria.fr
parents:
227
diff
changeset
|
88 |
make vdl-config.h |
1ba94266f3ad
Add VDL option to waf to build dce-runner in order to run dce scenario using the VDL loader.
frederic.urbani@inria.fr
parents:
227
diff
changeset
|
89 |
make |
1ba94266f3ad
Add VDL option to waf to build dce-runner in order to run dce scenario using the VDL loader.
frederic.urbani@inria.fr
parents:
227
diff
changeset
|
90 |
make test |
237
6f0b6ada8ad0
Copy libvdl.so to the good place in order to dce-runner to find it.
frederic.urbani@inria.fr
parents:
236
diff
changeset
|
91 |
cp libvdl.so ../build/lib |
236
1ba94266f3ad
Add VDL option to waf to build dce-runner in order to run dce scenario using the VDL loader.
frederic.urbani@inria.fr
parents:
227
diff
changeset
|
92 |
cd .. |
1ba94266f3ad
Add VDL option to waf to build dce-runner in order to run dce scenario using the VDL loader.
frederic.urbani@inria.fr
parents:
227
diff
changeset
|
93 |
WAF_VDL="--enable-vdl-loader" |
1ba94266f3ad
Add VDL option to waf to build dce-runner in order to run dce scenario using the VDL loader.
frederic.urbani@inria.fr
parents:
227
diff
changeset
|
94 |
fi |
119 | 95 |
cd ns-3-dce/ |
148
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
96 |
if [ "YES" == "$USE_KERNEL" ] |
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
97 |
then |
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
98 |
WAF_KERNEL=--enable-kernel-stack=`pwd`/../ns-3-linux |
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
99 |
fi |
259 | 100 |
./waf configure --prefix=`pwd`/../build --verbose $WAF_KERNEL $WAF_VDL $MPI_SWITCH |
119 | 101 |
./waf |
102 |
./waf install |
|
103 |
export LD_LIBRARY_PATH=$SAVE_LDLP:`pwd`/build/lib:`pwd`/build/bin:`pwd`/../build/lib |
|
148
5dd2d890f1a0
Update documentation and build script.
frederic.urbani@inria.fr
parents:
140
diff
changeset
|
104 |
. utils/setenv.sh |
119 | 105 |
echo Launch NS3TEST-DCE |
106 |
./build/bin/ns3test-dce --verbose |