mirror of
https://github.com/Z3Prover/z3
synced 2025-04-08 10:25:18 +00:00
There were several problems with the existing implementation. * When specifying ``--prefix`` the implementation would assume the path was ``$(PREFIX)/lib/python-<VERSION>/dist-packages``. This is incorrect. ``dist-packages`` is Debian (and its derivatives, i.e Ubuntu) specific and won't work on other Linux distributions such as Arch Linux. * When generating the ``Makefile``, ``$(PREFIX)`` was only emitted during the Python installation when ``--prefix`` was passed on the command line. When ``--prefix`` was not passed the absolute path to the Python package directory was emitted. This is not very consistent. This patch checks that the detected Python package directory lives under the install prefix and emits an error if it does not as this indicates that the installation will be broken. If the Python package directory does live under the install prefix it replaces that prefix with the ``$(PREFIX)`` variable when emitting the ``Makefile`` for consistency with the other install commands. If a user really wants to install to a particular Python package directory they can force it with the newly added ``--pypkgdir=`` flag. |
||
---|---|---|
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.