@@ -26,6 +26,8 @@ <h3>Optional Build Configuration, Additional Comments, and Suggestions</h3>
2626places) for Clang and GCC versions 4.6+. It is unlikely to build for
2727GCC versions before 4.2.</ p >
2828
29+ < hr class ="minorsep "/>
30+
2931< p > As noted, LLVM version 3.1 or newer is required. If LLVM is not installed
3032in a standard location, you will probably have to tell scons where to find the
3133LLVM configuration helper for your installation. You can do this by a command
@@ -39,13 +41,26 @@ <h3>Optional Build Configuration, Additional Comments, and Suggestions</h3>
3941when building LLVM should look something like< br />
4042< kbd class ="indent "> configure --enable-shared</ kbd > </ p >
4143
44+ < p > If you intend to use aggressive optimization (see below), you should
45+ also consider building LLVM with assertions enabled. The flags for this will
46+ vary with LLVM version, but, as an example, a standard build to use CSI with
47+ LLVM 4.0 would be:< br />
48+ < kbd class ="indent "> cmake srcdir -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON
49+ -DLLVM_ENABLE_RTTI=ON -DLLVM_LINK_LLVM_DYLIB=ON</ kbd > </ p >
50+
51+ < hr class ="minorsep "/>
52+
4253< p > CSI is capable of aggressive optimization for program coverage
4354instrumentation schemes. Specifically, if you are hoping to use fully-optimal
4455instrumentation for program coverage (see the
4556< a href ="running_optimization.html "> coverage optimization</ a > page), you will
46- need to build CSI with support for connecting to the
47- < a href ="https://www.gams.com/ "> GAMS</ a > optimization framework. Naturally,
48- you first need to have < a href ="https://www.gams.com/ "> GAMS</ a > installed.
57+ need to build CSI with support for connecting to one of the following:</ p >
58+ < ul >
59+ < li > the < a href ="https://www.gams.com/ "> GAMS</ a > optimization framework</ li >
60+ < li > the < a href ="https://www.gurobi.com "> GUROBI</ a > optimizer AND the
61+ < a href ="https://lemon.cs.elte.hu/trac/lemon "> LEMON</ a > graph library</ li >
62+ </ ul >
63+ < p > For the first option, you first need to have < a href ="https://www.gams.com/ "> GAMS</ a > installed.
4964Then, you can tell CSI where to find your
5065< a href ="https://www.gams.com/ "> GAMS</ a > installation by a command like< br />
5166< kbd class ="indent "> scons GAMSDIR=/path/to/GAMS</ kbd > < br />
@@ -54,6 +69,16 @@ <h3>Optional Build Configuration, Additional Comments, and Suggestions</h3>
5469the < kbd > gams</ kbd > executable, as well as a subdirectory called
5570< kbd > apifiles/</ kbd > .</ p >
5671
72+ < p > For the second option, you, again, need to up-to-date installations of
73+ < a href ="https://www.gams.com/ "> GAMS</ a > and
74+ < a href ="https://lemon.cs.elte.hu/trac/lemon "> LEMON</ a > .
75+ Then, you can tell CSI where to find your installations by a command like< br />
76+ < kbd class ="indent "> scons LEMONDIR=/path/to/lemon GUROBIDIR=/path/to/gurobi</ kbd > < br />
77+ Again, these paths should point to the top-level directories of the installed
78+ tools, containing subdirectories like < kbd > bin</ kbd > and < kbd > include</ kbd > .
79+
80+ < hr class ="minorsep "/>
81+
5782< p > If building on OSX, note that many pre-packaged distributions of LLVM do not
5883include a full LLVM shared object for linking with CSI. If you see linker
5984errors when building with pre-installed LLVM, please try building LLVM from
0 commit comments