3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-08 10:25:18 +00:00
Find a file
Dan Liew 4c11037d70 Fix setting the path to the Python package directory.
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.
2015-11-28 19:03:05 +00:00
doc C/right on python scripts 2015-06-10 12:01:47 -07:00
examples fix build of maxsat.c 2015-11-22 22:10:22 -08:00
scripts Fix setting the path to the Python package directory. 2015-11-28 19:03:05 +00:00
src fix ast leak in asserted_formulas::propagate_values() 2015-11-27 20:09:17 +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.