Building
Included packages
- MEDDLY, for decision diagram support. This has been included with Smart since version 3.4.0.
Packages required
- gcc and g++, or other C/C++ compiler with support for C++11
- automake
- autoconfig
- libtool
- flex
- bison
Packages strongly recommended
- GMP, for very large integer support.
Build Steps
1. Configure
./Config-all
This step is necessary for the first build, and anytime
configure.ac or any Makefile.am changes. The script performs
system-specific configuration,
and will generate a makefile
in directories:
Build directory | Purpose |
---|---|
bin-devel/ |
for development and debugging executables |
bin-release/ |
for production executables |
The configuration script will look in a few places for libraries it needs. If it fails to find a library, you can set certain environment variables to help the script:
Environment variable | Purpose |
---|---|
GMP_INCLUDE |
Path containing GMP header files |
GMP_LIBRARY |
Path containing GMP library files |
For example, if you built GMP in your home directory, you might use
env GMP_INCLUDE=/home/username/gmp/include GMP_LIBRARY=/home/username/gmp/lib ./Config-all
The following arguments may be passed to the configuration script:
Argument | Description |
---|---|
--without-gmp |
Disables GMP support |
2. Switch to one of the build directories
cd bin-devel
OR
cd bin-release
3. Run make
make
This builds everything. For recent versions of automake,
you can use
make V=0
for silent builds (just gives a summary), and
make V=1
for noisy builds (gives build details).
4. Run tests
make check
This requires automake version 1.12 or higher. Alternatively, you can use
make check-old
which should always work.
5. Run benchmarks (optional)
make bench
This runs timing tests.
6. Install (optional)
make install
This copies binaries into bin/
within the build directory;
otherwise they are in src/
.