Commit Graph

35 Commits

Author SHA1 Message Date
Matthias Weiss 929afdc833 Update .gitignore for global Eclipse projects
Suppress Eclipse project files globally, making it more convenient to integrate
CBMC into Eclipse as the repository can directly be used as the project's root
folder. This also eliminates the need to integrate JBMC and CBMC as separate
projects.
2019-06-05 20:17:02 +01:00
Kareem Khazem 562fad22ee
Make JBMC build optional with cmake
This commit adds an option to CMake, `WITH_JBMC`, that controls whether
the jbmc directory will be built. It is switched on by default,
preserving the current behaviour.

The motivation is to make it as easy as possible for users to get
started with CBMC, especially users who are only interested in the C
front-end and are on Windows, where installing the JDK and Maven is a
painful exercise.

Also updated `COMPILING.md` to note that you can pass `-DWITH_JBMC=OFF`
to cmake to avoid building jbmc.
2019-03-14 07:05:57 -07:00
Romain Brenguier fccd412fea Document the BDD_GUARDS compilation flag
This adds instruction to COMPILING.md so that people interested in
performances can find about it, and try it.
2019-03-07 11:02:35 +00:00
Kareem Khazem 94b66d3d1f
Update compilation instructions to install jq 2019-03-04 15:10:21 +00:00
Romain Brenguier 7dd895995f Instructions for compiling with Cudd
Add explenation on how to compile CBMC so that it uses Cudd as the BDD implementation.
2019-02-01 06:49:06 +00:00
Daniel Kroening 1547ab01da Drop the desire to do VS2013 builds
Upgrading to VS2015 enables #3862, noexcept (e.g.  #2502), UTF8 strings and
constexpr (#2133).
2019-01-22 14:00:55 +00:00
Daniel Kroening 1e981148f1 COMPILING.md: Amazon Linux needs tar
The docker images for Amazon Linux do not have tar by default, but tar is
needed to unpack the Minisat archive.
2019-01-08 14:52:11 +00:00
Michael Tautschnig 3f4a89621a Document the IPASIR build in a single place
As witnessed by the prior commit, errors in the instructions had to be
updated in multiple places. Also removing the Makefile-based build rules
for IPASIR as those would only work for outdated solvers.
2018-09-19 08:37:30 +00:00
Michael Tautschnig 98febc9225 Fix instructions and Makefiles for IPASIR-based SAT solvers
The LIBSOLVER variable didn't actually work, because it was not used
consistently. Instead, using LIBS suffices. For example, to use RISS,
build as follows:

git clone https://github.com/conp-solutions/riss riss.git
cd riss.git
mkdir build
cd build
cmake ..
make riss-coprocessor-lib-static
cd ../..
make -C src IPASIR=../../riss.git/riss \
  LIBS="../../riss.git/build/lib/libriss-coprocessor.a -lpthread"
export RISSCONFIG=VERBOSE:BMC1
... run CBMC ...
2018-09-19 08:37:30 +00:00
Daniel Kroening 485d4c7548 maven on Windows, FreeBSD and Mac 2018-09-06 06:14:52 +01:00
Daniel Kroening 16e264b9f3 update Solaris instructions 2018-09-05 16:26:00 +01:00
Owen Jones 95eae591bf CMake support is no longer experimental 2018-08-23 17:29:02 +01:00
Daniel Kroening ad1b1d8ff9 Red Hat and Fedora now use dnf instead of yum 2018-08-17 08:58:08 +01:00
Daniel Kroening c1ef758e5f jbmc build now uses Maven, not unzip 2018-08-17 08:57:44 +01:00
Daniel Kroening 745670bf60 instructions for Amazon Linux 2018-07-26 09:50:43 +01:00
John Nonweiler f7ddb02b85 Remove --recursive from git submodule update 2018-07-10 15:40:18 +01:00
John Nonweiler d5f3c329eb Fix a typo JMBC->JBMC 2018-07-10 14:05:20 +01:00
John Nonweiler b5075d7784 Document git submodule update in COMPILING.md 2018-07-10 13:43:34 +01:00
Daniel Kroening 594c2f227c unzip is needed on Debian, plus say how to build jbmc on Windows 2018-06-30 09:08:28 +01:00
Daniel Kroening 001f6845d2 fix compilation instructions 2018-06-23 19:38:04 +01:00
Daniel Kroening eaa2e0519c update Solaris instructions 2018-06-19 14:41:16 +01:00
Daniel Kroening 2f142d5cc0 allow customizing the tar command for solver download 2018-06-19 14:41:16 +01:00
Michael Tautschnig d08a75ad98 Document the required GCC/G++ version as >= 5.0
Using GCC 5.0 or newer is required ever since 3eab185246.

Fixes: #1602
2018-06-12 14:37:03 +00:00
Kurt Degiorgio c6d2dba8ce JBMC: Added java-models-library dependency
This commit adds a dependency to the java-models-library
(https://github.com/diffblue/java-models-library). This repository
contains models for number of classes derived from the java standard
library. These models are needed to support concurrency.

This means that the process of building JBMC has changed slightly as
one first needs to download the java-models-library. I.E:

  make -C jbmc/src java-models-library-download
  make -C jbmc/src

Due possible licensing issues, the ability to automatically embed the
java core models into JBMC has been removed. Instead, one must
explicitly use the '--classpath' option to load the models.
Consequently, the '--no-core-models' option and related code was
removed as it is no longer relevant.

Commit also adds a new make target, 'make dist'. This target in
addition to building jbmc will create a 'dist' directory with two
sub-folders, bin and lib. Executables will be copied to the former,
while 'core-models.jar' will copied to the latter.

Note: src/org/cprover/CProver.java has also been removed as this has
been superseded by the CProver.java in the java-models-library.
2018-06-05 10:24:14 +01:00
Peter Schrammel f196e74962 Update compilation instructions 2018-05-20 23:00:12 +01:00
Michael Tautschnig df1c7e3518 Builds require javac as of f66288b4 2018-03-23 19:57:35 +00:00
reuk adb7f553b0 Add Windows dependency information to the COMPILING file 2017-12-06 09:56:02 +00:00
Reuben Thomas 1019be28b6
Update Windows dependencies in Compiling.md
I just had to set up CBMC on a Windows box, and needed lwp-download (provided by libwww-perl) in order to download minisat2.
2017-11-28 15:36:10 +00:00
Norbert Manthey c3d527ca7a compiling: add IPASIR notes for Linux
Add the steps to link against an IPASIR solver to the COMPILING notes.
2017-10-27 21:32:37 +02:00
reuk 8fe258b3d5 Update COMPILING with cmake setup instructions 2017-10-25 13:30:01 +01:00
Andreas Tiemeyer dff22b8155 Make Windows compilation instructions more prescriptive 2017-10-24 17:09:06 +01:00
Andreas Tiemeyer 08c512d4b6 Make Windows compilation instructions more prescriptive 2017-10-24 12:29:30 +01:00
reuk a24ac3d7ee Fixup compiling.md with more clang-format install instructions 2017-10-19 10:13:33 +01:00
reuk 8482b353cb Add information about using clang-format 2017-10-16 14:30:19 +01:00
reuk 1dcc82cbc5 Convert COMPILING to markdown format 2017-10-16 14:30:18 +01:00