-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathprepare.sh
executable file
·51 lines (36 loc) · 1.29 KB
/
prepare.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
path=$(cd "$(dirname "$0")"; pwd)
filesToProcess() {
local listFile=casestudy/busybox_files
cat $listFile
}
flags="-x CONFIG_ \
-c $path/casestudy/redhat.properties \
--include $path/casestudy/config.h \
-I $path/busybox-1.18.5/include \
--featureModelDimacs $path/casestudy/BB_fm.dimacs \
--recordTiming --parserstatistics --lexNoStdout \
-U HAVE_LIBDMALLOC \
-DCONFIG_FIND \
-U CONFIG_FEATURE_WGET_LONG_OPTIONS \
-U ENABLE_NC_110_COMPAT \
-U CONFIG_EXTRA_COMPAT \
-D_GNU_SOURCE"
#tunitgen
tunitgen=" --bdd \
--study busybox --serializeAST --writePI --interface --debugInterface"
filesToProcess|while read i; do
echo "Analysing $path/busybox-1.18.5/$i.c"
echo "With settings: $tunitgen $flags"
../Morpheus/morpheus.sh $path/busybox-1.18.5/$i.c $tunitgen $flags
done
interfacegen="--study busybox --writeProjectInterface"
echo "Generate interfaces"
../Morpheus/morpheus.sh $path/busybox-1.18.5/archival/ar.c $interfacegen
refgen="--bdd \
--study busybox --reuseAST --refPrep --refLink $path/CLinking.interface"
filesToProcess|while read i; do
echo "Analysing $path/busybox-1.18.5/$i.c"
echo "With settings: $refgen $flags"
../Morpheus/morpheus.sh $path/busybox-1.18.5/$i.c $refgen $flags
done