mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 09:05:31 +00:00
Merge branch 'master' into polysat
This commit is contained in:
commit
f54f33551e
308 changed files with 6606 additions and 18485 deletions
|
@ -24,8 +24,8 @@ def mk_dir(d):
|
|||
os_info = { 'ubuntu-latest' : ('so', 'linux-x64'),
|
||||
'ubuntu-18' : ('so', 'linux-x64'),
|
||||
'ubuntu-20' : ('so', 'linux-x64'),
|
||||
'glibc-2.31' : ('so', 'linux-x64'),
|
||||
'glibc' : ('so', 'linux-x64'),
|
||||
#'glibc-2.35' : ('so', 'linux-x64'),
|
||||
'x64-win' : ('dll', 'win-x64'),
|
||||
'x86-win' : ('dll', 'win-x86'),
|
||||
'x64-osx' : ('dylib', 'osx-x64'),
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
from mk_util import *
|
||||
|
||||
def init_version():
|
||||
set_version(4, 12, 2, 0) # express a default build version or pick up ci build version
|
||||
set_version(4, 12, 3, 0) # express a default build version or pick up ci build version
|
||||
|
||||
# Z3 Project definition
|
||||
def init_project_def():
|
||||
|
|
|
@ -122,7 +122,7 @@ FPMATH_ENABLED=getenv("FPMATH_ENABLED", "True")
|
|||
def check_output(cmd):
|
||||
out = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0]
|
||||
if out != None:
|
||||
enc = sys.stdout.encoding
|
||||
enc = sys.getdefaultencoding()
|
||||
if enc != None: return out.decode(enc).rstrip('\r\n')
|
||||
else: return out.rstrip('\r\n')
|
||||
else:
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
variables:
|
||||
Major: '4'
|
||||
Minor: '12'
|
||||
Patch: '2'
|
||||
Patch: '3'
|
||||
AssemblyVersion: $(Major).$(Minor).$(Patch).$(Build.BuildId)
|
||||
NightlyVersion: $(AssemblyVersion)-$(Build.DefinitionName)
|
||||
|
||||
|
@ -35,6 +35,20 @@ stages:
|
|||
artifactName: 'MacArm64'
|
||||
targetPath: $(Build.ArtifactStagingDirectory)
|
||||
|
||||
- job: Ubuntu20
|
||||
displayName: "Ubuntu20 build"
|
||||
pool:
|
||||
vmImage: "ubuntu-20.04"
|
||||
steps:
|
||||
- script: python scripts/mk_unix_dist.py --dotnet-key=$(Build.SourcesDirectory)/resources/z3.snk
|
||||
- script: git clone https://github.com/z3prover/z3test z3test
|
||||
- script: python z3test/scripts/test_benchmarks.py build-dist/z3 z3test/regressions/smt2
|
||||
- script: cp dist/*.zip $(Build.ArtifactStagingDirectory)/.
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: 'Ubuntu-20.04'
|
||||
targetPath: $(Build.ArtifactStagingDirectory)
|
||||
|
||||
- job: Ubuntu
|
||||
displayName: "Ubuntu build"
|
||||
pool:
|
||||
|
@ -512,6 +526,11 @@ stages:
|
|||
inputs:
|
||||
artifactName: 'Ubuntu'
|
||||
targetPath: tmp
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: "Download Ubuntu-20.04"
|
||||
inputs:
|
||||
artifactName: 'Ubuntu-20.04'
|
||||
targetPath: tmp
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: "Download Doc"
|
||||
inputs:
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
trigger: none
|
||||
|
||||
variables:
|
||||
ReleaseVersion: '4.12.2'
|
||||
ReleaseVersion: '4.12.3'
|
||||
|
||||
stages:
|
||||
|
||||
|
@ -85,6 +85,35 @@ stages:
|
|||
artifactName: 'UbuntuBuild'
|
||||
targetPath: $(Build.ArtifactStagingDirectory)
|
||||
|
||||
- job: UbuntuBuild20
|
||||
displayName: "Ubuntu build 20"
|
||||
pool:
|
||||
vmImage: "ubuntu-20.04"
|
||||
steps:
|
||||
- task: PythonScript@0
|
||||
displayName: Build
|
||||
inputs:
|
||||
scriptSource: 'filepath'
|
||||
scriptPath: scripts/mk_unix_dist.py
|
||||
arguments: --dotnet-key=$(Build.SourcesDirectory)/resources/z3.snk
|
||||
- script: git clone https://github.com/z3prover/z3test z3test
|
||||
displayName: 'Clone z3test'
|
||||
- task: PythonScript@0
|
||||
displayName: Test
|
||||
inputs:
|
||||
scriptSource: 'filepath'
|
||||
scriptPath: z3test/scripts/test_benchmarks.py
|
||||
arguments: build-dist/z3 z3test/regressions/smt2
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: dist
|
||||
contents: '*.zip'
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: 'UbuntuBuild20'
|
||||
targetPath: $(Build.ArtifactStagingDirectory)
|
||||
|
||||
- job: UbuntuDoc
|
||||
displayName: "Ubuntu Doc build"
|
||||
pool:
|
||||
|
@ -191,6 +220,11 @@ stages:
|
|||
inputs:
|
||||
artifact: 'UbuntuBuild'
|
||||
path: $(Agent.TempDirectory)\package
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: 'Download Ubuntu20 Build'
|
||||
inputs:
|
||||
artifact: 'UbuntuBuild20'
|
||||
path: $(Agent.TempDirectory)\package
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: 'Download macOS Build'
|
||||
inputs:
|
||||
|
@ -436,6 +470,11 @@ stages:
|
|||
pool:
|
||||
vmImage: "windows-latest"
|
||||
steps:
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: 'Download Ubuntu Build'
|
||||
inputs:
|
||||
artifact: 'UbuntuBuild20'
|
||||
path: $(Agent.TempDirectory)
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: 'Download Ubuntu Build'
|
||||
inputs:
|
||||
|
|
|
@ -633,7 +633,72 @@ def mk_java(java_src, java_dir, package_name):
|
|||
java_native.write(' }\n')
|
||||
java_native.write(' }\n')
|
||||
java_native.write(' }\n')
|
||||
java_native.write("""
|
||||
public static native long propagateInit(Object o, long ctx, long solver);
|
||||
public static native void propagateRegisterCreated(Object o, long ctx, long solver);
|
||||
public static native void propagateRegisterFixed(Object o, long ctx, long solver);
|
||||
public static native void propagateRegisterEq(Object o, long ctx, long solver);
|
||||
public static native void propagateRegisterDecide(Object o, long ctx, long solver);
|
||||
public static native void propagateRegisterFinal(Object o, long ctx, long solver);
|
||||
public static native void propagateConflict(Object o, long ctx, long solver, long javainfo, int num_fixed, long[] fixed, long num_eqs, long[] eq_lhs, long[] eq_rhs, long conseq);
|
||||
public static native void propagateAdd(Object o, long ctx, long solver, long javainfo, long e);
|
||||
public static native void propagateNextSplit(Object o, long ctx, long solver, long javainfo, long e, long idx, long phase);
|
||||
public static native void propagateDestroy(Object o, long ctx, long solver, long javainfo);
|
||||
|
||||
public static abstract class UserPropagatorBase implements AutoCloseable {
|
||||
protected long ctx;
|
||||
protected long solver;
|
||||
protected long javainfo;
|
||||
|
||||
public UserPropagatorBase(long _ctx, long _solver) {
|
||||
ctx = _ctx;
|
||||
solver = _solver;
|
||||
javainfo = propagateInit(this, ctx, solver);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
Native.propagateDestroy(this, ctx, solver, javainfo);
|
||||
javainfo = 0;
|
||||
solver = 0;
|
||||
ctx = 0;
|
||||
}
|
||||
|
||||
protected final void registerCreated() {
|
||||
Native.propagateRegisterCreated(this, ctx, solver);
|
||||
}
|
||||
|
||||
protected final void registerFixed() {
|
||||
Native.propagateRegisterFixed(this, ctx, solver);
|
||||
}
|
||||
|
||||
protected final void registerEq() {
|
||||
Native.propagateRegisterEq(this, ctx, solver);
|
||||
}
|
||||
|
||||
protected final void registerDecide() {
|
||||
Native.propagateRegisterDecide(this, ctx, solver);
|
||||
}
|
||||
|
||||
protected final void registerFinal() {
|
||||
Native.propagateRegisterFinal(this, ctx, solver);
|
||||
}
|
||||
|
||||
protected abstract void pushWrapper();
|
||||
|
||||
protected abstract void popWrapper(int number);
|
||||
|
||||
protected abstract void finWrapper();
|
||||
|
||||
protected abstract void eqWrapper(long lx, long ly);
|
||||
|
||||
protected abstract UserPropagatorBase freshWrapper(long lctx);
|
||||
|
||||
protected abstract void createdWrapper(long le);
|
||||
|
||||
protected abstract void fixedWrapper(long lvar, long lvalue);
|
||||
}
|
||||
""")
|
||||
java_native.write('\n')
|
||||
for name, result, params in _dotnet_decls:
|
||||
java_native.write(' protected static native %s INTERNAL%s(' % (type2java(result), java_method_name(name)))
|
||||
|
@ -1825,6 +1890,7 @@ if _lib is None:
|
|||
else:
|
||||
print(" import builtins")
|
||||
print(" builtins.Z3_LIB_DIRS = [ '/path/to/libz3.%s' ] " % _ext)
|
||||
print(_failures)
|
||||
raise Z3Exception("libz3.%s not found." % _ext)
|
||||
|
||||
|
||||
|
@ -1836,14 +1902,14 @@ if sys.version < '3':
|
|||
else:
|
||||
def _str_to_bytes(s):
|
||||
if isinstance(s, str):
|
||||
enc = sys.stdout.encoding
|
||||
enc = sys.getdefaultencoding()
|
||||
return s.encode(enc if enc != None else 'latin-1')
|
||||
else:
|
||||
return s
|
||||
|
||||
def _to_pystr(s):
|
||||
if s != None:
|
||||
enc = sys.stdout.encoding
|
||||
enc = sys.getdefaultencoding()
|
||||
return s.decode(enc if enc != None else 'latin-1')
|
||||
else:
|
||||
return ""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue