summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/z3/package.py37
1 files changed, 13 insertions, 24 deletions
diff --git a/var/spack/repos/builtin/packages/z3/package.py b/var/spack/repos/builtin/packages/z3/package.py
index 18dd1838b4..fe1aec86ad 100644
--- a/var/spack/repos/builtin/packages/z3/package.py
+++ b/var/spack/repos/builtin/packages/z3/package.py
@@ -7,7 +7,7 @@
from spack import *
-class Z3(MakefilePackage):
+class Z3(CMakePackage):
"""Z3 is a theorem prover from Microsoft Research.
It is licensed under the MIT license."""
@@ -18,37 +18,26 @@ class Z3(MakefilePackage):
version('4.8.8', sha256='6962facdcdea287c5eeb1583debe33ee23043144d0e5308344e6a8ee4503bcff')
version('4.8.7', sha256='8c1c49a1eccf5d8b952dadadba3552b0eac67482b8a29eaad62aa7343a0732c3')
version('4.5.0', sha256='aeae1d239c5e06ac183be7dd853775b84698db1265cb2258e5918a28372d4a0c')
- version('4.4.1', sha256='50967cca12c5c6e1612d0ccf8b6ebf5f99840a783d6cf5216336a2b59c37c0ce')
- version('4.4.0', sha256='65b72f9eb0af50949e504b47080fb3fc95f11c435633041d9a534473f3142cba')
-
- phases = ['bootstrap', 'build', 'install']
variant('python', default=True, description='Enable python binding')
- depends_on('python', type=('build', 'run'))
+ depends_on('python', type='build', when='~python')
+ depends_on('python', type=('build', 'run'), when='+python')
depends_on('py-setuptools', type=('run'), when='+python')
extends('python', when='+python')
+ variant('gmp', default=False, description='GNU multiple precision library support')
+ depends_on('cmake@3.4:', type='build')
+ depends_on('gmp', when='+gmp', type=('build', 'link'))
+
# Referenced: https://github.com/Z3Prover/z3/issues/1016
- patch('fix_1016_1.patch', when='@:4.4.1')
patch('fix_1016_2.patch', when='@4.5.0')
build_directory = 'build'
- def configure_args(self):
- spec = self.spec
-
- args = []
-
- if spec.satisfies('+python'):
- args.append('--python')
- args.append(
- '--pypkgdir=%s' % join_path(
- prefix.lib,
- 'python%s' % spec['python'].version.up_to(2),
- 'site-packages'))
-
+ def cmake_args(self):
+ args = [
+ self.define_from_variant('Z3_USE_LIB_GMP', 'gmp'),
+ self.define_from_variant('Z3_BUILD_PYTHON_BINDINGS', 'python'),
+ self.define_from_variant('Z3_INSTALL_PYTHON_BINDINGS', 'python')
+ ]
return args
-
- def bootstrap(self, spec, prefix):
- options = ['--prefix={0}'.format(prefix)] + self.configure_args()
- spec['python'].command('scripts/mk_make.py', *options)