-
Notifications
You must be signed in to change notification settings - Fork 0
/
HowToGuide
95 lines (55 loc) · 3.44 KB
/
HowToGuide
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
This tool discovers parallelism in the high-level design of a parallel application. It generates the may-happen-in-parallel (MHP) facts of tasks invoked by the parallel application.
How to get this tool
--------------------
Get the tool from the github repository: https://github.com/anm-spa/MHP
Installation Requirements
-------------------------
You shall need the following tools and environment:
1) python (checked with the python version 2.7.9)
2)
You need to have the SWI prolog (http://www.swi-prolog.org/) installed and available in your shell command. At ericsson environment (in one of the teamserver) you may check availability by the following command:
Command: module avail swipl
You may have either swipl/7.2.3(default) or swipl/7.3.11). Either of the version works fine, Command: module add swipl
Outside Ericsson environment, you may need to install it by yourself. Instruction is available at http://www.swi-prolog.org/build/unix.html for for Linux. Simple command sequences to install swipl are the following:
git clone https://github.com/SWI-Prolog/swipl-devel.git
cd swipl-devel
./prepare
cp -p build.templ build
./build
Note that swipl should support sgml library to parse xml.
3) You need to have the racer tool available which is developed under the clang/llvm environment. First, you may need to install llvm/clang which will take some time.
#Installing llvm at the ericsson environment:
git clone --recursive ssh://gerritmirror.rnd.ki.sw.ericsson.se:29418/flextools/llvm.git
cd llvm
tmp/build-test -l 4
#Installing llvm/clang outside ericsson environment
Just follow the instruction at https://llvm.org/docs/GettingStarted.html
Once you have llvm and clang, now do the following to setup racer.
cd (your llvm directory)/tools/clang/tools
git clone https://github.com/anm-spa/Racer.git
open the CMakeLists.txt and add the following line in the file
add_clang_subdirectory(Racer)
now build llvm again which will install racer in the llvm binary directory
Known BUG while building Racer
------------------------------
CMake Error at tools/clang/tools/Racer/CMakeLists.txt:43 (target_link_libraries):
The keyword signature for target_link_libraries has already been used with
the target "racer". All uses of target_link_libraries with a target must
be either all-keyword or all-plain.
The uses of the keyword signature are here:
* cmake/modules/LLVM-Config.cmake:105 (target_link_libraries)
* cmake/modules/AddLLVM.cmake:771 (target_link_libraries)
********If you get this bug or similar, you can try to get rid of it by just removing the keyword LINK_PRIVATE from the Racer/CMakeLists.txt file****
Install the MHP tool
--------------------
git clone https://github.com/anm-spa/MHP.git mhp
cd mhp
Now, you can do test-install by running the command: make test-install, or make install
If you do test-install, it will be able to test the examples provided in the mhp/test/ directory
If you do general install, you should edit the Makefile in the mhp directory. Set BBDIR to the base directory of your application to be tested, and LLVMBIN directory to the directory of your LLVM binary directory in which the racer tool is available.
How to Use the Tool
-------------------
Please check the HowToUse document coming with this tool
Contact
-------
For any further information, please contact at email: masud.abunaser@mdh.se