In order to build EFM-SYMBEX, you'll need :
EFM-SYMBEX build is driven by CMake and tested with the following generators :
Following instructions are given for debian-like distributions. You should adapt them to the package manager used by your distribution.
sudo apt-get install cmake
sudo apt-get install cmake-gui
sudo apt-get install boost-1.53
sudo apt-get install libgmp-dev
sudo apt-get install libantlr-dev
As no ANTLR 3.4 package seems available, it is necessary to compile a source distribution : Download libantlr3c-3.4.tar.gz then :
tar zxvf libantlr3c-3.4.tar.gz
./configure --enable-static=true --enable-shared=false, add
--enable-64bit according to your system.
sudo make install
Headers and library should be automatically installed in /usr/local. Use
.\configure --prefix=<yourpath> to install in another location. In this case, you'll need to set
ANTLR3_ROOT variable to this location for CMake to know about it.
Add the following lines in
deb http://cvc4.cs.nyu.edu/debian/ stable/
deb http://cvc4.cs.nyu.edu/debian unstable/
deb_src http://cvc4.cs.nyu.edu/debian unstable/
Then do :
sudo apt-get update
sudo apt-get install cvc4 libcvc4-dev
No package being available for Omega, it is necessary to compile a source distribution. Clone the source repository :
git clone https://github.com/davewathaverford/the-omega-project.git
Then do :
sudo make install
Headers and library should be automatically installed in /usr/local. Use .\configure --prefix=/usr/local to install in another location. In this case, you'll need to set
OMEGA_ROOT variable to this location for CMake to know about it.
TO BE DONE
WARNING : Currently under test
Use the Windows installer found here
Follow instructions of INSTALL_MSYS.md.
Download the sources archive cvc4-1.4.tar.gz
TO BE CONTINUED
Launch cmake (or cMake-gui), set the source directory and the desired build directory. Choose a valid generator, select your compilers (native compilers are recommended), configure and generate. If your prerequisites are installed in non-standard locations, you'll have to set
<PREREQUISITE>_ROOT variable(s) in the CMake cache editor.
Then build the project using the built-in commands of the generator :
makein the build directory.
A the end of the process, the symbex executable is built and can be checked using
To customize the build, you'll have to modify CMake Files. All CMake files are
*.cmake. Each project target (main executable and internal libraries) is associated with a
CMakeLists.txt in which every thing specific to this target are defined. All things relative to the project as a whole (prerequisites, cmake detection module, ...) are stored stored in the cmake directory.
Options which hold for all target and whatever the platform are set in
DefineGeneric.cmake Options which hold for all target and are platform-specific are set in
<Platform>Specific.cmake. Options which hold for one target and whatever the platform are set in the
CMakeLists.txt of this target.
Main target link is defined in
Prerequisites are defined and searched for in
Here you can add a new prerequisite or change the way an existing prerequisite is search for.
Simply add a new subdirectory(ies) into existing target(s) source hierarchy.
To add a new
newtarget to the project, you have to :
newtargetsource hierarchy in
CMakeLists.txtinto target root directory
newtarget/(it is easy to adapt a
CMakeLists.txtfrom other targets)
DefineProjectStructure.cmaketo make CMake aware to the new sources
newtargetto the link line.