mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 09:05:31 +00:00
merge with master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
commit
3533bf486f
223 changed files with 7175 additions and 2167 deletions
|
@ -18,7 +18,7 @@ jobs:
|
|||
displayName: Build
|
||||
inputs:
|
||||
script:
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{parameters.BuildArchitecture}} &&
|
||||
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{parameters.BuildArchitecture}} &&
|
||||
python scripts\mk_win_dist.py
|
||||
--${{parameters.BuildArchitecture}}-only
|
||||
--dotnet-key=$(Build.SourcesDirectory)/resources/z3.snk
|
||||
|
|
|
@ -644,7 +644,7 @@ def mk_gparams_register_modules_internal(h_files_full_path, path):
|
|||
for code in cmds:
|
||||
fout.write('{ param_descrs d; %s(d); gparams::register_global(d); }\n' % code)
|
||||
for (mod, code) in mod_cmds:
|
||||
fout.write('{ std::function<param_descrs *(void)> f = []() { auto* d = alloc(param_descrs); %s(*d); return d; }; gparams::register_module("%s", f); }\n' % (code, mod))
|
||||
fout.write('{ auto f = []() { auto* d = alloc(param_descrs); %s(*d); return d; }; gparams::register_module("%s", f); }\n' % (code, mod))
|
||||
for (mod, descr) in mod_descrs:
|
||||
fout.write('gparams::register_module_descr("%s", "%s");\n' % (mod, descr))
|
||||
fout.write('}\n')
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
from mk_util import *
|
||||
|
||||
def init_version():
|
||||
set_version(4, 8, 15, 0)
|
||||
set_version(4, 8, 16, 0)
|
||||
|
||||
# Z3 Project definition
|
||||
def init_project_def():
|
||||
|
|
|
@ -56,6 +56,7 @@ def display_help():
|
|||
print(" -f, --force force script to regenerate Makefiles.")
|
||||
print(" --nodotnet do not include .NET bindings in the binary distribution files.")
|
||||
print(" --dotnet-key=<file> sign the .NET assembly with the private key in <file>.")
|
||||
print(" --arch=<arch> set architecture (to arm64) to force arm64 build")
|
||||
print(" --nojava do not include Java bindings in the binary distribution files.")
|
||||
print(" --nopython do not include Python bindings in the binary distribution files.")
|
||||
print(" --githash include git hash in the Zip file.")
|
||||
|
@ -72,6 +73,7 @@ def parse_options():
|
|||
'nojava',
|
||||
'nodotnet',
|
||||
'dotnet-key=',
|
||||
'arch=',
|
||||
'githash',
|
||||
'nopython'
|
||||
])
|
||||
|
@ -96,6 +98,11 @@ def parse_options():
|
|||
JAVA_ENABLED = False
|
||||
elif opt == '--githash':
|
||||
GIT_HASH = True
|
||||
elif opt == '--arch':
|
||||
if arg == "arm64":
|
||||
mk_util.IS_ARCH_ARM64 = True
|
||||
else:
|
||||
raise MKException("Invalid architecture directive '%s'. Legal directives: arm64" % arg)
|
||||
else:
|
||||
raise MKException("Invalid command line option '%s'" % opt)
|
||||
set_build_dir(path)
|
||||
|
@ -119,6 +126,8 @@ def mk_build_dir(path):
|
|||
opts.append('--git-describe')
|
||||
if PYTHON_ENABLED:
|
||||
opts.append('--python')
|
||||
if mk_util.IS_ARCH_ARM64:
|
||||
opts.append('--arm64=true')
|
||||
if subprocess.call(opts) != 0:
|
||||
raise MKException("Failed to generate build directory at '%s'" % path)
|
||||
|
||||
|
@ -172,7 +181,9 @@ def get_os_name():
|
|||
|
||||
def get_z3_name():
|
||||
major, minor, build, revision = get_version()
|
||||
if sys.maxsize >= 2**32:
|
||||
if mk_util.IS_ARCH_ARM64:
|
||||
platform = "arm64"
|
||||
elif sys.maxsize >= 2**32:
|
||||
platform = "x64"
|
||||
else:
|
||||
platform = "x86"
|
||||
|
|
|
@ -69,6 +69,7 @@ IS_WINDOWS=False
|
|||
IS_LINUX=False
|
||||
IS_HURD=False
|
||||
IS_OSX=False
|
||||
IS_ARCH_ARM64=False
|
||||
IS_FREEBSD=False
|
||||
IS_NETBSD=False
|
||||
IS_OPENBSD=False
|
||||
|
@ -114,6 +115,7 @@ ALWAYS_DYNAMIC_BASE=False
|
|||
|
||||
FPMATH="Default"
|
||||
FPMATH_FLAGS="-mfpmath=sse -msse -msse2"
|
||||
FPMATH_ENABLED=getenv("FPMATH_ENABLED", "True")
|
||||
|
||||
|
||||
def check_output(cmd):
|
||||
|
@ -277,7 +279,13 @@ def test_gmp(cc):
|
|||
|
||||
|
||||
def test_fpmath(cc):
|
||||
global FPMATH_FLAGS
|
||||
global FPMATH_FLAGS, IS_ARCH_ARM64, IS_OSX
|
||||
if FPMATH_ENABLED == "False":
|
||||
FPMATH_FLAGS=""
|
||||
return "Disabled"
|
||||
if IS_ARCH_ARM64 and IS_OSX:
|
||||
FPMATH_FLAGS = ""
|
||||
return "Disabled-ARM64"
|
||||
if is_verbose():
|
||||
print("Testing floating point support...")
|
||||
t = TempFile('tstsse.cpp')
|
||||
|
@ -616,8 +624,12 @@ elif os.name == 'posix':
|
|||
LINUX_X64=True
|
||||
else:
|
||||
LINUX_X64=False
|
||||
|
||||
|
||||
|
||||
if os.name == 'posix' and os.uname()[4] == 'arm64':
|
||||
IS_ARCH_ARM64 = True
|
||||
|
||||
|
||||
def display_help(exit_code):
|
||||
print("mk_make.py: Z3 Makefile generator\n")
|
||||
print("This script generates the Makefile for the Z3 theorem prover.")
|
||||
|
@ -640,6 +652,7 @@ def display_help(exit_code):
|
|||
print(" -x, --x64 create 64 binary when using Visual Studio.")
|
||||
else:
|
||||
print(" --x86 force 32-bit x86 build on x64 systems.")
|
||||
print(" --arm64=<bool> forcearm64 bit build on/off (supported for Darwin).")
|
||||
print(" -m, --makefiles generate only makefiles.")
|
||||
if IS_WINDOWS:
|
||||
print(" -v, --vsproj generate Visual Studio Project Files.")
|
||||
|
@ -682,11 +695,11 @@ def parse_options():
|
|||
global VERBOSE, DEBUG_MODE, IS_WINDOWS, VS_X64, ONLY_MAKEFILES, SHOW_CPPS, VS_PROJ, TRACE, VS_PAR, VS_PAR_NUM
|
||||
global DOTNET_CORE_ENABLED, DOTNET_KEY_FILE, JAVA_ENABLED, ML_ENABLED, STATIC_LIB, STATIC_BIN, PREFIX, GMP, PYTHON_PACKAGE_DIR, GPROF, GIT_HASH, GIT_DESCRIBE, PYTHON_INSTALL_ENABLED, PYTHON_ENABLED
|
||||
global LINUX_X64, SLOW_OPTIMIZE, LOG_SYNC, SINGLE_THREADED
|
||||
global GUARD_CF, ALWAYS_DYNAMIC_BASE
|
||||
global GUARD_CF, ALWAYS_DYNAMIC_BASE, IS_ARCH_ARM64
|
||||
try:
|
||||
options, remainder = getopt.gnu_getopt(sys.argv[1:],
|
||||
'b:df:sxhmcvtnp:gj',
|
||||
['build=', 'debug', 'silent', 'x64', 'help', 'makefiles', 'showcpp', 'vsproj', 'guardcf',
|
||||
'b:df:sxa:hmcvtnp:gj',
|
||||
['build=', 'debug', 'silent', 'x64', 'arm64=', 'help', 'makefiles', 'showcpp', 'vsproj', 'guardcf',
|
||||
'trace', 'dotnet', 'dotnet-key=', 'staticlib', 'prefix=', 'gmp', 'java', 'parallel=', 'gprof', 'js',
|
||||
'githash=', 'git-describe', 'x86', 'ml', 'optimize', 'pypkgdir=', 'python', 'staticbin', 'log-sync', 'single-threaded'])
|
||||
except:
|
||||
|
@ -709,6 +722,8 @@ def parse_options():
|
|||
VS_X64 = True
|
||||
elif opt in ('--x86'):
|
||||
LINUX_X64=False
|
||||
elif opt in ('--arm64'):
|
||||
IS_ARCH_ARM64 = arg in ('true','on','True','TRUE')
|
||||
elif opt in ('-h', '--help'):
|
||||
display_help(0)
|
||||
elif opt in ('-m', '--makefiles'):
|
||||
|
@ -1678,6 +1693,7 @@ class DotNetDLLComponent(Component):
|
|||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard1.4</TargetFramework>
|
||||
<LangVersion>8.0</LangVersion>
|
||||
<DefineConstants>$(DefineConstants);DOTNET_CORE</DefineConstants>
|
||||
<DebugType>portable</DebugType>
|
||||
<AssemblyName>Microsoft.Z3</AssemblyName>
|
||||
|
@ -1995,7 +2011,7 @@ class MLComponent(Component):
|
|||
|
||||
LIBZ3 = LIBZ3 + ' ' + ' '.join(map(lambda x: '-cclib ' + x, LDFLAGS.split()))
|
||||
|
||||
stubs_install_path = '$$(%s printconf path)/stublibs' % OCAMLFIND
|
||||
stubs_install_path = '$$(%s printconf destdir)/stublibs' % OCAMLFIND
|
||||
if not STATIC_LIB:
|
||||
loadpath = '-ccopt -L' + stubs_install_path
|
||||
dllpath = '-dllpath ' + stubs_install_path
|
||||
|
@ -2076,7 +2092,7 @@ class MLComponent(Component):
|
|||
out.write(' %s' % ((os.path.join(self.sub_dir, 'z3ml.cmxa'))))
|
||||
out.write(' %s' % ((os.path.join(self.sub_dir, 'z3ml.cmxs'))))
|
||||
out.write(' %s' % ((os.path.join(self.sub_dir, 'dllz3ml'))))
|
||||
if is_windows() or is_cygwin_mingw():
|
||||
if is_windows() or is_cygwin_mingw() or is_msys2():
|
||||
out.write('.dll')
|
||||
else:
|
||||
out.write('.so') # .so also on OSX!
|
||||
|
@ -2426,7 +2442,7 @@ def mk_config():
|
|||
if ONLY_MAKEFILES:
|
||||
return
|
||||
config = open(os.path.join(BUILD_DIR, 'config.mk'), 'w')
|
||||
global CXX, CC, GMP, GUARD_CF, STATIC_BIN, GIT_HASH, CPPFLAGS, CXXFLAGS, LDFLAGS, EXAMP_DEBUG_FLAG, FPMATH_FLAGS, LOG_SYNC, SINGLE_THREADED
|
||||
global CXX, CC, GMP, GUARD_CF, STATIC_BIN, GIT_HASH, CPPFLAGS, CXXFLAGS, LDFLAGS, EXAMP_DEBUG_FLAG, FPMATH_FLAGS, LOG_SYNC, SINGLE_THREADED, IS_ARCH_ARM64
|
||||
if IS_WINDOWS:
|
||||
CXXFLAGS = '/nologo /Zi /D WIN32 /D _WINDOWS /EHsc /GS /Gd /std:c++17'
|
||||
config.write(
|
||||
|
@ -2624,13 +2640,18 @@ def mk_config():
|
|||
SLIBFLAGS = '%s -m32' % SLIBFLAGS
|
||||
if TRACE or DEBUG_MODE:
|
||||
CPPFLAGS = '%s -D_TRACE' % CPPFLAGS
|
||||
if is_cygwin_mingw():
|
||||
if is_cygwin_mingw() or is_msys2():
|
||||
# when cross-compiling with MinGW, we need to statically link its standard libraries
|
||||
# and to make it create an import library.
|
||||
SLIBEXTRAFLAGS = '%s -static-libgcc -static-libstdc++ -Wl,--out-implib,libz3.dll.a' % SLIBEXTRAFLAGS
|
||||
LDFLAGS = '%s -static-libgcc -static-libstdc++' % LDFLAGS
|
||||
if sysname == 'Linux' and machine.startswith('armv7') or machine.startswith('armv8'):
|
||||
CXXFLAGS = '%s -fpic' % CXXFLAGS
|
||||
if IS_OSX and IS_ARCH_ARM64:
|
||||
print("Setting arm64")
|
||||
CXXFLAGS = '%s -arch arm64' % CXXFLAGS
|
||||
LDFLAGS = '%s -arch arm64' % LDFLAGS
|
||||
SLIBEXTRAFLAGS = '%s -arch arm64' % SLIBEXTRAFLAGS
|
||||
|
||||
config.write('PREFIX=%s\n' % PREFIX)
|
||||
config.write('CC=%s\n' % CC)
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
variables:
|
||||
ReleaseVersion: '4.8.15'
|
||||
|
||||
Major: '4'
|
||||
Minor: '8'
|
||||
Patch: '16'
|
||||
NightlyVersion: $(Major).$(Minor).$(Patch).$(Build.BuildId)-$(Build.DefinitionName)
|
||||
|
||||
stages:
|
||||
- stage: Build
|
||||
|
@ -19,6 +23,21 @@ stages:
|
|||
artifactName: 'Mac'
|
||||
targetPath: $(Build.ArtifactStagingDirectory)
|
||||
|
||||
|
||||
- job: MacArm64
|
||||
displayName: "Mac ARM64 Build"
|
||||
pool:
|
||||
vmImage: "macOS-latest"
|
||||
steps:
|
||||
- script: python scripts/mk_unix_dist.py --dotnet-key=$(Build.SourcesDirectory)/resources/z3.snk --arch=arm64
|
||||
- script: git clone https://github.com/z3prover/z3test z3test
|
||||
- script: cp dist/*.zip $(Build.ArtifactStagingDirectory)/.
|
||||
- task: PublishPipelineArtifact@1
|
||||
inputs:
|
||||
artifactName: 'MacArm64'
|
||||
targetPath: $(Build.ArtifactStagingDirectory)
|
||||
|
||||
|
||||
- job: Ubuntu
|
||||
displayName: "Ubuntu build"
|
||||
pool:
|
||||
|
@ -92,7 +111,7 @@ stages:
|
|||
- task: CmdLine@2
|
||||
inputs:
|
||||
script:
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86 &
|
||||
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86 &
|
||||
python scripts\mk_win_dist.py
|
||||
--x86-only
|
||||
--dotnet-key=$(Build.SourcesDirectory)/resources/z3.snk
|
||||
|
@ -115,7 +134,7 @@ stages:
|
|||
- task: CmdLine@2
|
||||
inputs:
|
||||
script:
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 &
|
||||
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 &
|
||||
python scripts\mk_win_dist.py
|
||||
--x64-only
|
||||
--dotnet-key=$(Build.SourcesDirectory)/resources/z3.snk
|
||||
|
@ -130,6 +149,8 @@ stages:
|
|||
targetPath: $(Build.ArtifactStagingDirectory)
|
||||
artifactName: 'Windows64'
|
||||
|
||||
|
||||
|
||||
- stage: Package
|
||||
jobs:
|
||||
- job: NuGet64
|
||||
|
@ -158,6 +179,11 @@ stages:
|
|||
inputs:
|
||||
artifact: 'Mac'
|
||||
path: $(Agent.TempDirectory)\package
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: 'Download macOS Arm64 Build'
|
||||
inputs:
|
||||
artifact: 'MacArm64'
|
||||
path: $(Agent.TempDirectory)\package
|
||||
- task: NuGetToolInstaller@0
|
||||
inputs:
|
||||
versionSpec: 5.x
|
||||
|
@ -170,7 +196,7 @@ stages:
|
|||
workingDirectory: $(Agent.TempDirectory)\package
|
||||
arguments:
|
||||
$(Agent.TempDirectory)\package
|
||||
$(ReleaseVersion)
|
||||
$(NightlyVersion)
|
||||
$(Build.Repository.Uri)
|
||||
$(Build.SourceBranchName)
|
||||
$(Build.SourceVersion)
|
||||
|
@ -180,13 +206,18 @@ stages:
|
|||
displayName: 'NuGet Pack Symbols'
|
||||
inputs:
|
||||
command: custom
|
||||
arguments: 'pack $(Agent.TempDirectory)\package\out\Microsoft.Z3.sym.nuspec -OutputDirectory $(Build.ArtifactStagingDirectory) -Verbosity detailed -Symbols -SymbolPackageFormat snupkg -BasePath $(Agent.TempDirectory)\package\out'
|
||||
versioningScheme: byPrereleaseNumber
|
||||
majorVersion: $(Major)
|
||||
minorVersion: $(Minor)
|
||||
patchVersion: $(Patch)
|
||||
arguments: 'pack $(Agent.TempDirectory)\package\out\Microsoft.Z3.sym.nuspec -Version $(NightlyVersion) -OutputDirectory $(Build.ArtifactStagingDirectory) -Verbosity detailed -Symbols -SymbolPackageFormat snupkg -BasePath $(Agent.TempDirectory)\package\out'
|
||||
- task: EsrpCodeSigning@1
|
||||
continueOnError: true
|
||||
displayName: 'Sign Package'
|
||||
inputs:
|
||||
ConnectedServiceName: 'z3-esrp-signing-2'
|
||||
FolderPath: $(Build.ArtifactStagingDirectory)
|
||||
Pattern: Microsoft.Z3.$(ReleaseVersion).nupkg
|
||||
Pattern: Microsoft.Z3.$(NightlyVersion).nupkg
|
||||
signConfigType: 'inlineSignParams'
|
||||
inlineOperation: |
|
||||
[
|
||||
|
@ -209,11 +240,12 @@ stages:
|
|||
MaxConcurrency: '50'
|
||||
MaxRetryAttempts: '5'
|
||||
- task: EsrpCodeSigning@1
|
||||
continueOnError: true
|
||||
displayName: 'Sign Symbol Package'
|
||||
inputs:
|
||||
ConnectedServiceName: 'z3-esrp-signing-2'
|
||||
FolderPath: $(Build.ArtifactStagingDirectory)
|
||||
Pattern: Microsoft.Z3.$(ReleaseVersion).snupkg
|
||||
Pattern: Microsoft.Z3.$(NightlyVersion).snupkg
|
||||
signConfigType: 'inlineSignParams'
|
||||
inlineOperation: |
|
||||
[
|
||||
|
@ -268,7 +300,7 @@ stages:
|
|||
workingDirectory: $(Agent.TempDirectory)\package
|
||||
arguments:
|
||||
$(Agent.TempDirectory)\package
|
||||
$(ReleaseVersion)
|
||||
$(NightlyVersion)
|
||||
$(Build.Repository.Uri)
|
||||
$(Build.SourceBranchName)
|
||||
$(Build.SourceVersion)
|
||||
|
@ -279,13 +311,18 @@ stages:
|
|||
displayName: 'NuGet Pack Symbols'
|
||||
inputs:
|
||||
command: custom
|
||||
arguments: 'pack $(Agent.TempDirectory)\package\out\Microsoft.Z3.x86.sym.nuspec -OutputDirectory $(Build.ArtifactStagingDirectory) -Verbosity detailed -Symbols -SymbolPackageFormat snupkg -BasePath $(Agent.TempDirectory)\package\out'
|
||||
versioningScheme: byPrereleaseNumber
|
||||
majorVersion: $(Major)
|
||||
minorVersion: $(Minor)
|
||||
patchVersion: $(Patch)
|
||||
arguments: 'pack $(Agent.TempDirectory)\package\out\Microsoft.Z3.x86.sym.nuspec -Version $(NightlyVersion) -OutputDirectory $(Build.ArtifactStagingDirectory) -Verbosity detailed -Symbols -SymbolPackageFormat snupkg -BasePath $(Agent.TempDirectory)\package\out'
|
||||
- task: EsrpCodeSigning@1
|
||||
continueOnError: true
|
||||
displayName: 'Sign Package'
|
||||
inputs:
|
||||
ConnectedServiceName: 'z3-esrp-signing-2'
|
||||
FolderPath: $(Build.ArtifactStagingDirectory)
|
||||
Pattern: Microsoft.Z3.x86.$(ReleaseVersion).nupkg
|
||||
Pattern: Microsoft.Z3.x86.$(NightlyVersion).nupkg
|
||||
signConfigType: 'inlineSignParams'
|
||||
inlineOperation: |
|
||||
[
|
||||
|
@ -308,11 +345,12 @@ stages:
|
|||
MaxConcurrency: '50'
|
||||
MaxRetryAttempts: '5'
|
||||
- task: EsrpCodeSigning@1
|
||||
continueOnError: true
|
||||
displayName: 'Sign Symbol Package'
|
||||
inputs:
|
||||
ConnectedServiceName: 'z3-esrp-signing-2'
|
||||
FolderPath: $(Build.ArtifactStagingDirectory)
|
||||
Pattern: Microsoft.Z3.x86.$(ReleaseVersion).snupkg
|
||||
Pattern: Microsoft.Z3.x86.$(NightlyVersion).snupkg
|
||||
signConfigType: 'inlineSignParams'
|
||||
inlineOperation: |
|
||||
[
|
||||
|
@ -361,7 +399,12 @@ stages:
|
|||
inputs:
|
||||
artifactName: 'Mac'
|
||||
targetPath: $(Agent.TempDirectory)
|
||||
- script: cd $(Agent.TempDirectory); mkdir osx-bin; cd osx-bin; unzip ../*osx*.zip
|
||||
- task: DownloadPipelineArtifact@2
|
||||
inputs:
|
||||
artifactName: 'MacArm64'
|
||||
targetPath: $(Agent.TempDirectory)
|
||||
- script: cd $(Agent.TempDirectory); mkdir osx-x64-bin; cd osx-x64-bin; unzip ../*x64-osx*.zip
|
||||
- script: cd $(Agent.TempDirectory); mkdir osx-arm64-bin; cd osx-arm64-bin; unzip ../*arm64-osx*.zip
|
||||
- script: cd $(Agent.TempDirectory); mkdir linux-bin; cd linux-bin; unzip ../*glibc*.zip
|
||||
- script: cd $(Agent.TempDirectory); mkdir win32-bin; cd win32-bin; unzip ../*x86-win*.zip
|
||||
- script: cd $(Agent.TempDirectory); mkdir win64-bin; cd win64-bin; unzip ../*x64-win*.zip
|
||||
|
@ -371,16 +414,19 @@ stages:
|
|||
- script: cd src/api/python; echo $(Agent.TempDirectory)/linux-bin/* | xargs printf 'PACKAGE_FROM_RELEASE=%s\n' | xargs -I '{}' env '{}' python3 setup.py bdist_wheel
|
||||
- script: cd src/api/python; echo $(Agent.TempDirectory)/win32-bin/* | xargs printf 'PACKAGE_FROM_RELEASE=%s\n' | xargs -I '{}' env '{}' python3 setup.py bdist_wheel
|
||||
- script: cd src/api/python; echo $(Agent.TempDirectory)/win64-bin/* | xargs printf 'PACKAGE_FROM_RELEASE=%s\n' | xargs -I '{}' env '{}' python3 setup.py bdist_wheel
|
||||
- script: cd src/api/python; echo $(Agent.TempDirectory)/osx-bin/* | xargs printf 'PACKAGE_FROM_RELEASE=%s\n' | xargs -I '{}' env '{}' python3 setup.py bdist_wheel
|
||||
- script: cd src/api/python; echo $(Agent.TempDirectory)/osx-x64-bin/* | xargs printf 'PACKAGE_FROM_RELEASE=%s\n' | xargs -I '{}' env '{}' python3 setup.py bdist_wheel
|
||||
- script: cd src/api/python; echo $(Agent.TempDirectory)/osx-arm64-bin/* | xargs printf 'PACKAGE_FROM_RELEASE=%s\n' | xargs -I '{}' env '{}' python3 setup.py bdist_wheel
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: 'Python packages'
|
||||
targetPath: src/api/python/dist
|
||||
|
||||
|
||||
- stage: Deployment
|
||||
jobs:
|
||||
- job: Deploy
|
||||
displayName: "Deploy into GitHub"
|
||||
continueOnError: true
|
||||
pool:
|
||||
vmImage: "ubuntu-latest"
|
||||
steps:
|
||||
|
@ -399,6 +445,11 @@ stages:
|
|||
inputs:
|
||||
artifactName: 'Mac'
|
||||
targetPath: tmp
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: "Download MacArm64"
|
||||
inputs:
|
||||
artifactName: 'MacArm64'
|
||||
targetPath: tmp
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: "Download Ubuntu"
|
||||
inputs:
|
||||
|
@ -425,6 +476,7 @@ stages:
|
|||
artifactName: 'NuGet32'
|
||||
targetPath: tmp
|
||||
- task: GitHubRelease@0
|
||||
continueOnError: true
|
||||
inputs:
|
||||
gitHubConnection: Z3GitHub
|
||||
repositoryName: 'Z3Prover/z3'
|
||||
|
@ -433,6 +485,7 @@ stages:
|
|||
tagSource: 'manual'
|
||||
tag: 'Nightly'
|
||||
- task: GitHubRelease@0
|
||||
continueOnError: true
|
||||
inputs:
|
||||
gitHubConnection: Z3GitHub
|
||||
repositoryName: 'Z3Prover/z3'
|
||||
|
@ -448,5 +501,41 @@ stages:
|
|||
isDraft: false
|
||||
isPreRelease: true
|
||||
|
||||
- stage: NugetPublishNightly
|
||||
jobs:
|
||||
# Publish to nightly feed on Azure
|
||||
- job: NuGetPublishNightly
|
||||
displayName: "Push nuget packages to Azure Feed"
|
||||
steps:
|
||||
- task: NuGetAuthenticate@0
|
||||
displayName: 'NuGet Authenticate'
|
||||
- task: NuGetToolInstaller@0
|
||||
inputs:
|
||||
versionSpec: 5.x
|
||||
checkLatest: false
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: 'Download NuGet x86 Package'
|
||||
inputs:
|
||||
artifact: 'NuGet32'
|
||||
path: $(Agent.TempDirectory)/x86
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: 'Download NuGet x64 Package'
|
||||
inputs:
|
||||
artifact: 'NuGet'
|
||||
path: $(Agent.TempDirectory)/x64
|
||||
- task: NuGetCommand@2
|
||||
displayName: 'NuGet Nightly x64 push'
|
||||
inputs:
|
||||
command: push
|
||||
publishVstsFeed: 'Z3Nightly'
|
||||
packagesToPush: $(Agent.TempDirectory)/x64/*.nupkg
|
||||
allowPackageConflicts: true
|
||||
- task: NuGetCommand@2
|
||||
displayName: 'NuGet Nightly x86 push'
|
||||
inputs:
|
||||
command: push
|
||||
publishVstsFeed: 'Z3Nightly'
|
||||
packagesToPush: $(Agent.TempDirectory)/x86/*.nupkg
|
||||
allowPackageConflicts: true
|
||||
|
||||
# TBD: run regression tests on generated binaries.
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
trigger: none
|
||||
|
||||
variables:
|
||||
ReleaseVersion: '4.8.15'
|
||||
ReleaseVersion: '4.8.16'
|
||||
|
||||
stages:
|
||||
|
||||
|
@ -155,8 +155,8 @@ stages:
|
|||
- stage: Package
|
||||
jobs:
|
||||
|
||||
- job: NuGetPackage
|
||||
displayName: "NuGet packaging"
|
||||
- job: NuGet64
|
||||
displayName: "NuGet 64 packaging"
|
||||
pool:
|
||||
vmImage: "windows-latest"
|
||||
steps:
|
||||
|
@ -171,11 +171,6 @@ stages:
|
|||
inputs:
|
||||
artifact: 'WindowsBuild-x64'
|
||||
path: $(Agent.TempDirectory)\package
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: 'Download Win32 Build'
|
||||
inputs:
|
||||
artifact: 'WindowsBuild-x86'
|
||||
path: $(Agent.TempDirectory)\package
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: 'Download Ubuntu Build'
|
||||
inputs:
|
||||
|
@ -186,6 +181,10 @@ stages:
|
|||
inputs:
|
||||
artifact: 'macOSBuild'
|
||||
path: $(Agent.TempDirectory)\package
|
||||
- task: NuGetToolInstaller@0
|
||||
inputs:
|
||||
versionSpec: 5.x
|
||||
checkLatest: false
|
||||
- task: PythonScript@0
|
||||
displayName: 'Python: assemble files'
|
||||
inputs:
|
||||
|
@ -200,10 +199,6 @@ stages:
|
|||
$(Build.SourceVersion)
|
||||
$(Build.SourcesDirectory)
|
||||
symbols
|
||||
- task: NuGetToolInstaller@0
|
||||
inputs:
|
||||
versionSpec: 5.x
|
||||
checkLatest: false
|
||||
- task: NugetCommand@2
|
||||
displayName: 'NuGet Pack Symbols'
|
||||
inputs:
|
||||
|
@ -266,7 +261,107 @@ stages:
|
|||
- task: PublishPipelineArtifact@1
|
||||
inputs:
|
||||
targetPath: $(Build.ArtifactStagingDirectory)
|
||||
artifactName: 'NuGetPackage'
|
||||
artifactName: 'NuGet'
|
||||
|
||||
- job: NuGet32
|
||||
displayName: "NuGet 32 packaging"
|
||||
pool:
|
||||
vmImage: "windows-latest"
|
||||
steps:
|
||||
- powershell: write-host $(System.DefinitionId)
|
||||
displayName: 'System.DefinitionId'
|
||||
- powershell: write-host $(Build.BuildId)
|
||||
displayName: 'Build.BuildId'
|
||||
- powershell: write-host $(System.TeamProjectId)
|
||||
displayName: 'System.TeamProjectId'
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: 'Download Win32 Build'
|
||||
inputs:
|
||||
artifact: 'WindowsBuild-x86'
|
||||
path: $(Agent.TempDirectory)\package
|
||||
- task: NuGetToolInstaller@0
|
||||
inputs:
|
||||
versionSpec: 5.x
|
||||
checkLatest: false
|
||||
- task: PythonScript@0
|
||||
displayName: 'Python: assemble files'
|
||||
inputs:
|
||||
scriptSource: 'filepath'
|
||||
scriptPath: scripts\mk_nuget_task.py
|
||||
workingDirectory: $(Agent.TempDirectory)\package
|
||||
arguments:
|
||||
$(Agent.TempDirectory)\package
|
||||
$(ReleaseVersion)
|
||||
$(Build.Repository.Uri)
|
||||
$(Build.SourceBranchName)
|
||||
$(Build.SourceVersion)
|
||||
$(Build.SourcesDirectory)
|
||||
symbols
|
||||
x86
|
||||
- task: NugetCommand@2
|
||||
displayName: 'NuGet Pack Symbols'
|
||||
inputs:
|
||||
command: custom
|
||||
arguments: 'pack $(Agent.TempDirectory)\package\out\Microsoft.Z3.x86.sym.nuspec -OutputDirectory $(Build.ArtifactStagingDirectory) -Verbosity detailed -Symbols -SymbolPackageFormat snupkg -BasePath $(Agent.TempDirectory)\package\out'
|
||||
- task: EsrpCodeSigning@1
|
||||
displayName: 'Sign Package'
|
||||
inputs:
|
||||
ConnectedServiceName: 'z3-esrp-signing-2'
|
||||
FolderPath: $(Build.ArtifactStagingDirectory)
|
||||
Pattern: Microsoft.Z3.x86.$(ReleaseVersion).nupkg
|
||||
signConfigType: 'inlineSignParams'
|
||||
inlineOperation: |
|
||||
[
|
||||
{
|
||||
"KeyCode" : "CP-401405",
|
||||
"OperationCode" : "NuGetSign",
|
||||
"Parameters" : {},
|
||||
"ToolName" : "sign",
|
||||
"ToolVersion" : "1.0"
|
||||
},
|
||||
{
|
||||
"KeyCode" : "CP-401405",
|
||||
"OperationCode" : "NuGetVerify",
|
||||
"Parameters" : {},
|
||||
"ToolName" : "sign",
|
||||
"ToolVersion" : "1.0"
|
||||
}
|
||||
]
|
||||
SessionTimeout: '60'
|
||||
MaxConcurrency: '50'
|
||||
MaxRetryAttempts: '5'
|
||||
- task: EsrpCodeSigning@1
|
||||
displayName: 'Sign Symbol Package'
|
||||
inputs:
|
||||
ConnectedServiceName: 'z3-esrp-signing-2'
|
||||
FolderPath: $(Build.ArtifactStagingDirectory)
|
||||
Pattern: Microsoft.Z3.x86.$(ReleaseVersion).snupkg
|
||||
signConfigType: 'inlineSignParams'
|
||||
inlineOperation: |
|
||||
[
|
||||
{
|
||||
"KeyCode" : "CP-401405",
|
||||
"OperationCode" : "NuGetSign",
|
||||
"Parameters" : {},
|
||||
"ToolName" : "sign",
|
||||
"ToolVersion" : "1.0"
|
||||
},
|
||||
{
|
||||
"KeyCode" : "CP-401405",
|
||||
"OperationCode" : "NuGetVerify",
|
||||
"Parameters" : {},
|
||||
"ToolName" : "sign",
|
||||
"ToolVersion" : "1.0"
|
||||
}
|
||||
]
|
||||
SessionTimeout: '60'
|
||||
MaxConcurrency: '50'
|
||||
MaxRetryAttempts: '5'
|
||||
- task: PublishPipelineArtifact@1
|
||||
inputs:
|
||||
targetPath: $(Build.ArtifactStagingDirectory)
|
||||
artifactName: 'NuGet32'
|
||||
|
||||
|
||||
- job: PythonPackage
|
||||
displayName: "Python packaging"
|
||||
|
@ -350,9 +445,14 @@ stages:
|
|||
artifact: 'WindowsBuild-x64'
|
||||
path: $(Agent.TempDirectory)
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: 'Download NuGet Package'
|
||||
displayName: 'Download NuGet64 Package'
|
||||
inputs:
|
||||
artifact: 'NuGetPackage'
|
||||
artifact: 'NuGet'
|
||||
path: $(Agent.TempDirectory)
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: 'Download NuGet32 Package'
|
||||
inputs:
|
||||
artifact: 'NuGet32'
|
||||
path: $(Agent.TempDirectory)
|
||||
- task: GitHubRelease@0
|
||||
inputs:
|
||||
|
|
|
@ -1820,13 +1820,13 @@ _error_handler_type = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_uint)
|
|||
_lib.Z3_set_error_handler.restype = None
|
||||
_lib.Z3_set_error_handler.argtypes = [ContextObj, _error_handler_type]
|
||||
|
||||
push_eh_type = ctypes.CFUNCTYPE(None, ctypes.c_void_p)
|
||||
pop_eh_type = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_uint)
|
||||
push_eh_type = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_void_p)
|
||||
pop_eh_type = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint)
|
||||
fresh_eh_type = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p)
|
||||
|
||||
fixed_eh_type = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint, ctypes.c_void_p)
|
||||
fixed_eh_type = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p)
|
||||
final_eh_type = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_void_p)
|
||||
eq_eh_type = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint, ctypes.c_uint)
|
||||
eq_eh_type = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p)
|
||||
|
||||
_lib.Z3_solver_propagate_init.restype = None
|
||||
_lib.Z3_solver_propagate_init.argtypes = [ContextObj, SolverObj, ctypes.c_void_p, push_eh_type, pop_eh_type, fresh_eh_type]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue