mirror of
https://github.com/Z3Prover/z3
synced 2025-04-13 20:38:43 +00:00
under non Windows systems (i.e. Using mono). Building these bindings is unfortunately on by default because I didn't want to change the command line interface (i.e. ``--nodotnet``) which people might be relying on. This should really be changed to match the other binding flags (e.g. ``--java``) but I will leave this for now. To perform the build a C# compiler and the GAC utility are required. The script will try to automatically detect them but the user can override this by setting the ``CSC`` and ``GACUTIL`` environment variables. In order for the ".NET bindings" to be installed the assembly (``Microsoft.Z3.dll``) needs to have a strong name which means we need a Strong name key file which is what the ``Microsoft.Z3.mono.snk`` is for. This is the public and private key so this key **must never** be used for checking integrity. Instead its only purpose is to avoid any name clashes in the GAC. It is also worth noting that slightly different flags needs to be passed to the C# compiler on non Windows platforms. I don't understand why some of the flags are being used on Windows but I left a comment there that hopefully someone can fix... |
||
---|---|---|
doc | ||
examples | ||
scripts | ||
src | ||
.gitattributes | ||
.gitignore | ||
configure | ||
LICENSE.txt | ||
README | ||
RELEASE_NOTES |
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.