[klee-dev] IMPORTANT: Build system changes

Dan Liew dan at su-root.co.uk
Wed Jan 18 17:18:40 GMT 2017


Hi All,

For those using KLEE right now there are two important build system changes.

## Testing target names

Testing target names have changed

For the autoconf build system

* the `check` target has been renamed `systemtests`
* A new `check` target has been added that runs both the `systemtests`
and `unittests` targets.

## New Build system

KLEE has a new CMake build system. It's been in master for a while now
but documentation for building with it has just landed at
http://klee.github.io/build-llvm34/

Using CMake gives a few new nice features like:

* Building with Ninja (super fast incremental builds :))
* Easier interaction with an IDE by using a CMake IDE generator (e.g.
`-G "Eclipse CD4 - Ninja"`)
* Build no longer dependent on LLVM source tree. The build should
build against an installed LLVM without problems.
* When testing if the `FileCheck` and `not` tools are not available
the build system will download the sources and build them as part of
KLEE's build so testing can be done.
* Building the runtime is now decoupled from the main build by
invoking a separate build system that builds the runtime. This avoids
problems we had in the past where compiler flags for the host compiler
ended up being used with the bitcode compiler.

The new build system also supports building against LLVM 2.9 although
this is not documented because I want to move people away from using
that version of LLVM.

You are advised to switch to the new build system when possible
because the old build system will be deprecated (eventually) and
eventually removed.

If you hit bugs in the build system please report them on KLEE's issue tracker.

Thanks,
Dan.



More information about the klee-dev mailing list