-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathREADME.txt
130 lines (89 loc) · 4.8 KB
/
README.txt
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
FLOWGEN SOFTWARE PREREQUISITES:
=====
• Python3
http://www.python.org/getit/
• PlantUML (already provided; NO need to install)
http://plantuml.sourceforge.net/
• LLVM-Clang 3.1 (or superior)
http://clang.llvm.org/
• Clang-Python3 bindings (already provided+fixed some bugs; NO need to install)
https://github.com/kennytm/clang-cindex-python3
ACKNOWLEDGMENTS:
=====
Thanks to the PlantUML team, specially to Arnaud Roques; to cldoc’s developer, Jesse Van Den Kieboom;
and to the big LLVM+Clang developer community. This tool would not be possible without them.
INSTALLATION:
=====
[FOR UNIX-LIKE SYSTEMS: MAC/LINUX]
- Install Python3 (if not present)
- Install LLVM+Clang 3.1 (or superior).
For MAC, you may try using a package management solution such as MacPorts or Fink.
For Linux (type?), you may try using a package management solution such as…
LLVM+Clang pre-built binaries are available from
http://llvm.org/releases/download.html
After installation, the environment variable
$LD_LIBRARY_PATH=path_to_llvm/lib
pointing to the libraries should have been set, or it can be set manually.
That folder contains required library files such as "libclang.dylib".
- Download Flowgen from GitHub.
[FOR WINDOWS]
- Install Python3 (does not seem to work with a portable version, needs a normal installation)
- Install LLVM+Clang 3.1 (or superior).
Prebuilt binaries available (3.4 or superior) from
http://llvm.org/releases/download.html
Choose the option 'Add LLVM to system PATH for all users’
- Download Flowgen from GitHub.
CONFIGURING AND RUNNING FLOWGEN:
=====
There is an example in the folder EXAMPLE, with some C++ code.
[FOR UNIX-LIKE SYSTEMS: MAC/LINUX]
The makefile is configured to either compile the sample program, by typing
> make a.out
or to run Flowgen and generate the documentation, by typing
> make flowdoc
The documentation is generated as .html files inside flowdoc/
Note: erase the folder flowdoc/ to regenerate completely the documentation.
Note: it may be necessary to adjust the variables FLOWGEN_DIR and CXX to run the makefile.
Note: type ‘make’ to do both actions (compiling and generating documentation) in the same run.
Note [MAC SPECIFIC]: by default, makefiles are not recognized on Mac systems. In order to check,
you can do 'make --version'. If it says: ‘-bash: make: command not found’, then you should install it.
The easiest is to install the xCode addition to Mac OS X.
The //$ annotations and the code can be changed in the test C++ code to experiment with Flowgen.
[FOR WINDOWS]
Set FLOWGEN_DIR environment variable to the FLOWGEN folder
The make batch file ‘make_WIN.bat’ is configured to run the example
The documentation is generated as .html files inside flowdoc/
NOTE: FOR THE MOMENT, the user has to copy manually the folder '/htmlCSSandJS' from the Flowgen folder
into the /flowdoc folder of the documentation project
This should be done automatically by make_WIN.bat
The //$ annotations and the code can be changed in the test C++ code to experiment with Flowgen.
MAP OF FILES
=====
build_db.py —> Flowgen Python3 executable
makeflows.py —> Flowgen Python3 executable
makehtml.py —> Flowgen Python3 executable
plantuml.jar —> PlantUML java executable, used by Flowgen
ToDoList.txt —> To Do list, for continued development of the open source Flowgen tool.
LICENSE.txt —> License agreement
README.txt —> Information
clang/ —> FOLDER with Clang-Python3 bindings, used by Flowgen
htmlCSSandJS/ --> FOLDER with CSS and Javascript files that are copied
into the '/flowdoc' SUBFOLDER of any project by the Flowgen script,
and which are needed by the output HTML files
example/ —> FOLDER with sample application
/make_WIN.bat —> Flowgen executable for WINDOWS
/Makefile —> Makefile for systems that have the Make utility.
It can be used to compile the C++ code or to run Flowgen
/simple_demo_src.cpp —> sample C++ source file with main() function
/include/ —> SUB-FOLDER with sample C++ headers
/src/ —> SUB-FOLDER with sample C++ source files
/flowdoc/ —> SUB-FOLDER with documentation generated by flowgen
(this whole folder can be erased and regenerated via Flowgen)
/*.html —> the output HTML documentation files
/aux_files/ —> SUB-SUB-FOLDER with auxiliary files created by Flowgen:
- database files (.flowdb)
- diagrams (.png),
- CMAPX files which are used by the HTML output files
to generate hyperlinks in the PNG diagram files.
- PlantUML diagram-descriptions (*.txt)
(they can be used as input to PlantUML)