3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-08 18:31:49 +00:00
Find a file
Nuno Lopes d9bafc3fba rewrite scoped_timer for linux
The previous version was racy and could lead to crashes.
The timer could be deleted before the callback was called, making it execute on already freed memory

This new version is similar to Mac's. It spawns its own thread and uses pthread_cond_wait.
Care is taken for small timeouts to avoid races in the thread creation and timer destruction.

Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2015-11-22 11:40:52 +00:00
doc C/right on python scripts 2015-06-10 12:01:47 -07:00
examples fix build break on maxsat.c example 2015-11-21 10:36:24 -08:00
scripts remove deprecated user-theory plugins and other unused functionality from API 2015-11-20 08:43:27 -08:00
src rewrite scoped_timer for linux 2015-11-22 11:40:52 +00:00
.gitattributes set text default to auto to try to avoid crlf disasters 2014-04-01 17:20:37 -07:00
.gitignore pull unstable 2015-04-01 14:57:11 -07:00
configure Add configure script that is just a wrapper for python 'src/mk_make.py'. It makes the build more user friendly for users familiar with ./configure + make idiom 2013-01-13 11:34:05 -08:00
LICENSE.txt Move to MIT License 2015-03-26 11:44:49 -07:00
README clarified README with information provided in issue #163. 2015-07-16 10:38:17 -07:00
RELEASE_NOTES add to release notes 2015-10-05 09:31:14 -07:00

Z3 is a theorem prover from Microsoft Research.
Z3 is licensed under the MIT license. 
Z3 can be built using Visual Studio Command Prompt and make/g++.

1) Building Z3 on Windows using Visual Studio Command Prompt
   
32-bit builds, start with:

   python scripts/mk_make.py

or instead, for a 64-bit build:

   python scripts/mk_make.py -x

then:

   cd build
   nmake

2) Building Z3 using make/g++ and Python
Execute:

   python scripts/mk_make.py
   cd build
   make
   sudo make install

By default, it will install z3 executable at PREFIX/bin, libraries at PREFIX/lib, and include files at PREFIX/include,
where PREFIX is the installation prefix used for installing Python in your system.
It is usually /usr for most Linux distros, and /usr/local for FreeBSD.
Use the following commands to install in a different prefix (e.g., /home/leo)

  python scripts/mk_make.py --prefix=/home/leo
  cd build
  make
  make install

In this example, the Z3 Python bindings will be stored at /home/leo/lib/pythonX.Y/dist-packages,
where X.Y corresponds to the python version in your system.

To uninstall Z3, use

  sudo make uninstall

4) Building Z3 using clang and clang++ on Linux/OSX
Remark: clang does not support OpenMP yet.   

   CXX=clang++ CC=clang python scripts/mk_make.py
   cd build
   make


To clean Z3 you can delete the build directory and run the mk_make.py script again.