mirror of
https://github.com/Z3Prover/z3
synced 2025-04-12 04:03:39 +00:00
Merge branch 'master' of https://github.com/Z3Prover/z3
This commit is contained in:
commit
074f1ad778
|
@ -2159,6 +2159,8 @@ namespace test_mapi
|
||||||
Console.WriteLine(Microsoft.Z3.Version.Major.ToString());
|
Console.WriteLine(Microsoft.Z3.Version.Major.ToString());
|
||||||
Console.Write("Z3 Full Version: ");
|
Console.Write("Z3 Full Version: ");
|
||||||
Console.WriteLine(Microsoft.Z3.Version.ToString());
|
Console.WriteLine(Microsoft.Z3.Version.ToString());
|
||||||
|
Console.Write("Z3 Full Version String: ");
|
||||||
|
Console.WriteLine(Microsoft.Z3.Version.FullVersion);
|
||||||
|
|
||||||
|
|
||||||
SimpleExample();
|
SimpleExample();
|
||||||
|
|
|
@ -2291,6 +2291,8 @@ class JavaExample
|
||||||
System.out.println(Version.getMajor());
|
System.out.println(Version.getMajor());
|
||||||
System.out.print("Z3 Full Version: ");
|
System.out.print("Z3 Full Version: ");
|
||||||
System.out.println(Version.getString());
|
System.out.println(Version.getString());
|
||||||
|
System.out.print("Z3 Full Version String: ");
|
||||||
|
System.out.println(Version.getFullVersion());
|
||||||
|
|
||||||
p.simpleExample();
|
p.simpleExample();
|
||||||
|
|
||||||
|
|
|
@ -323,6 +323,7 @@ let _ =
|
||||||
else
|
else
|
||||||
(
|
(
|
||||||
Printf.printf "Running Z3 version %s\n" Version.to_string ;
|
Printf.printf "Running Z3 version %s\n" Version.to_string ;
|
||||||
|
Printf.printf "Z3 full version string: %s\n" Version.full_version ;
|
||||||
let cfg = [("model", "true"); ("proof", "false")] in
|
let cfg = [("model", "true"); ("proof", "false")] in
|
||||||
let ctx = (mk_context cfg) in
|
let ctx = (mk_context cfg) in
|
||||||
let is = (Symbol.mk_int ctx 42) in
|
let is = (Symbol.mk_int ctx 42) in
|
||||||
|
|
|
@ -88,7 +88,7 @@ def init_project_def():
|
||||||
dll_name='libz3',
|
dll_name='libz3',
|
||||||
static=build_static_lib(),
|
static=build_static_lib(),
|
||||||
export_files=API_files)
|
export_files=API_files)
|
||||||
add_dot_net_dll('dotnet', ['api_dll'], 'api/dotnet', dll_name='Microsoft.Z3', assembly_info_dir='Properties')
|
add_dot_net_dll('dotnet', ['api_dll'], 'api/dotnet', dll_name='Microsoft.Z3', assembly_info_dir='Properties', default_key_file='src/api/dotnet/Microsoft.Z3.snk')
|
||||||
add_java_dll('java', ['api_dll'], 'api/java', dll_name='libz3java', package_name="com.microsoft.z3", manifest_file='manifest')
|
add_java_dll('java', ['api_dll'], 'api/java', dll_name='libz3java', package_name="com.microsoft.z3", manifest_file='manifest')
|
||||||
add_ml_lib('ml', ['api_dll'], 'api/ml', lib_name='libz3ml')
|
add_ml_lib('ml', ['api_dll'], 'api/ml', lib_name='libz3ml')
|
||||||
add_hlib('cpp', 'api/c++', includes2install=['z3++.h'])
|
add_hlib('cpp', 'api/c++', includes2install=['z3++.h'])
|
||||||
|
|
|
@ -82,6 +82,7 @@ Z3PY_SRC_DIR=None
|
||||||
VS_PROJ = False
|
VS_PROJ = False
|
||||||
TRACE = False
|
TRACE = False
|
||||||
DOTNET_ENABLED=False
|
DOTNET_ENABLED=False
|
||||||
|
DOTNET_KEY_FILE=None
|
||||||
JAVA_ENABLED=False
|
JAVA_ENABLED=False
|
||||||
ML_ENABLED=False
|
ML_ENABLED=False
|
||||||
PYTHON_INSTALL_ENABLED=False
|
PYTHON_INSTALL_ENABLED=False
|
||||||
|
@ -99,6 +100,7 @@ VS_PAR=False
|
||||||
VS_PAR_NUM=8
|
VS_PAR_NUM=8
|
||||||
GPROF=False
|
GPROF=False
|
||||||
GIT_HASH=False
|
GIT_HASH=False
|
||||||
|
GIT_DESCRIBE=False
|
||||||
SLOW_OPTIMIZE=False
|
SLOW_OPTIMIZE=False
|
||||||
USE_OMP=True
|
USE_OMP=True
|
||||||
|
|
||||||
|
@ -534,11 +536,14 @@ def find_c_compiler():
|
||||||
raise MKException('C compiler was not found. Try to set the environment variable CC with the C compiler available in your system.')
|
raise MKException('C compiler was not found. Try to set the environment variable CC with the C compiler available in your system.')
|
||||||
|
|
||||||
def set_version(major, minor, build, revision):
|
def set_version(major, minor, build, revision):
|
||||||
global VER_MAJOR, VER_MINOR, VER_BUILD, VER_REVISION
|
global VER_MAJOR, VER_MINOR, VER_BUILD, VER_REVISION, GIT_DESCRIBE
|
||||||
VER_MAJOR = major
|
VER_MAJOR = major
|
||||||
VER_MINOR = minor
|
VER_MINOR = minor
|
||||||
VER_BUILD = build
|
VER_BUILD = build
|
||||||
VER_REVISION = revision
|
VER_REVISION = revision
|
||||||
|
if GIT_DESCRIBE:
|
||||||
|
branch = check_output(['git', 'rev-parse', '--abbrev-ref', 'HEAD'])
|
||||||
|
VER_REVISION = int(check_output(['git', 'rev-list', '--count', 'HEAD']))
|
||||||
|
|
||||||
def get_version():
|
def get_version():
|
||||||
return (VER_MAJOR, VER_MINOR, VER_BUILD, VER_REVISION)
|
return (VER_MAJOR, VER_MINOR, VER_BUILD, VER_REVISION)
|
||||||
|
@ -621,6 +626,7 @@ def display_help(exit_code):
|
||||||
print(" --pypkgdir=<dir> Force a particular Python package directory (default %s)" % PYTHON_PACKAGE_DIR)
|
print(" --pypkgdir=<dir> Force a particular Python package directory (default %s)" % PYTHON_PACKAGE_DIR)
|
||||||
print(" -b <subdir>, --build=<subdir> subdirectory where Z3 will be built (default: %s)." % BUILD_DIR)
|
print(" -b <subdir>, --build=<subdir> subdirectory where Z3 will be built (default: %s)." % BUILD_DIR)
|
||||||
print(" --githash=hash include the given hash in the binaries.")
|
print(" --githash=hash include the given hash in the binaries.")
|
||||||
|
print(" --git-describe include the output of 'git describe' in the version information.")
|
||||||
print(" -d, --debug compile Z3 in debug mode.")
|
print(" -d, --debug compile Z3 in debug mode.")
|
||||||
print(" -t, --trace enable tracing in release mode.")
|
print(" -t, --trace enable tracing in release mode.")
|
||||||
if IS_WINDOWS:
|
if IS_WINDOWS:
|
||||||
|
@ -633,6 +639,7 @@ def display_help(exit_code):
|
||||||
if IS_WINDOWS:
|
if IS_WINDOWS:
|
||||||
print(" --optimize generate optimized code during linking.")
|
print(" --optimize generate optimized code during linking.")
|
||||||
print(" --dotnet generate .NET bindings.")
|
print(" --dotnet generate .NET bindings.")
|
||||||
|
print(" --dotnet-key=<file> sign the .NET assembly using the private key in <file>.")
|
||||||
print(" --java generate Java bindings.")
|
print(" --java generate Java bindings.")
|
||||||
print(" --ml generate OCaml bindings.")
|
print(" --ml generate OCaml bindings.")
|
||||||
print(" --python generate Python bindings.")
|
print(" --python generate Python bindings.")
|
||||||
|
@ -668,14 +675,14 @@ def display_help(exit_code):
|
||||||
# Parse configuration option for mk_make script
|
# Parse configuration option for mk_make script
|
||||||
def parse_options():
|
def parse_options():
|
||||||
global VERBOSE, DEBUG_MODE, IS_WINDOWS, VS_X64, ONLY_MAKEFILES, SHOW_CPPS, VS_PROJ, TRACE, VS_PAR, VS_PAR_NUM
|
global VERBOSE, DEBUG_MODE, IS_WINDOWS, VS_X64, ONLY_MAKEFILES, SHOW_CPPS, VS_PROJ, TRACE, VS_PAR, VS_PAR_NUM
|
||||||
global DOTNET_ENABLED, JAVA_ENABLED, ML_ENABLED, STATIC_LIB, STATIC_BIN, PREFIX, GMP, FOCI2, FOCI2LIB, PYTHON_PACKAGE_DIR, GPROF, GIT_HASH, PYTHON_INSTALL_ENABLED
|
global DOTNET_ENABLED, DOTNET_KEY_FILE, JAVA_ENABLED, ML_ENABLED, STATIC_LIB, STATIC_BIN, PREFIX, GMP, FOCI2, FOCI2LIB, PYTHON_PACKAGE_DIR, GPROF, GIT_HASH, GIT_DESCRIBE, PYTHON_INSTALL_ENABLED
|
||||||
global LINUX_X64, SLOW_OPTIMIZE, USE_OMP
|
global LINUX_X64, SLOW_OPTIMIZE, USE_OMP
|
||||||
try:
|
try:
|
||||||
options, remainder = getopt.gnu_getopt(sys.argv[1:],
|
options, remainder = getopt.gnu_getopt(sys.argv[1:],
|
||||||
'b:df:sxhmcvtnp:gj',
|
'b:df:sxhmcvtnp:gj',
|
||||||
['build=', 'debug', 'silent', 'x64', 'help', 'makefiles', 'showcpp', 'vsproj',
|
['build=', 'debug', 'silent', 'x64', 'help', 'makefiles', 'showcpp', 'vsproj',
|
||||||
'trace', 'dotnet', 'staticlib', 'prefix=', 'gmp', 'foci2=', 'java', 'parallel=', 'gprof',
|
'trace', 'dotnet', 'dotnet-key=', 'staticlib', 'prefix=', 'gmp', 'foci2=', 'java', 'parallel=', 'gprof',
|
||||||
'githash=', 'x86', 'ml', 'optimize', 'noomp', 'pypkgdir=', 'python', 'staticbin'])
|
'githash=', 'git-describe', 'x86', 'ml', 'optimize', 'noomp', 'pypkgdir=', 'python', 'staticbin'])
|
||||||
except:
|
except:
|
||||||
print("ERROR: Invalid command line option")
|
print("ERROR: Invalid command line option")
|
||||||
display_help(1)
|
display_help(1)
|
||||||
|
@ -708,6 +715,8 @@ def parse_options():
|
||||||
TRACE = True
|
TRACE = True
|
||||||
elif opt in ('-.net', '--dotnet'):
|
elif opt in ('-.net', '--dotnet'):
|
||||||
DOTNET_ENABLED = True
|
DOTNET_ENABLED = True
|
||||||
|
elif opt in ('--dotnet-key'):
|
||||||
|
DOTNET_KEY_FILE = arg
|
||||||
elif opt in ('--staticlib'):
|
elif opt in ('--staticlib'):
|
||||||
STATIC_LIB = True
|
STATIC_LIB = True
|
||||||
elif opt in ('--staticbin'):
|
elif opt in ('--staticbin'):
|
||||||
|
@ -732,6 +741,8 @@ def parse_options():
|
||||||
GPROF = True
|
GPROF = True
|
||||||
elif opt == '--githash':
|
elif opt == '--githash':
|
||||||
GIT_HASH=arg
|
GIT_HASH=arg
|
||||||
|
elif opt == '--git-describe':
|
||||||
|
GIT_DESCRIBE = True
|
||||||
elif opt in ('', '--ml'):
|
elif opt in ('', '--ml'):
|
||||||
ML_ENABLED = True
|
ML_ENABLED = True
|
||||||
elif opt in ('', '--noomp'):
|
elif opt in ('', '--noomp'):
|
||||||
|
@ -1491,7 +1502,7 @@ class PythonInstallComponent(Component):
|
||||||
return
|
return
|
||||||
|
|
||||||
class DotNetDLLComponent(Component):
|
class DotNetDLLComponent(Component):
|
||||||
def __init__(self, name, dll_name, path, deps, assembly_info_dir):
|
def __init__(self, name, dll_name, path, deps, assembly_info_dir, default_key_file):
|
||||||
Component.__init__(self, name, path, deps)
|
Component.__init__(self, name, path, deps)
|
||||||
if dll_name is None:
|
if dll_name is None:
|
||||||
dll_name = name
|
dll_name = name
|
||||||
|
@ -1499,6 +1510,7 @@ class DotNetDLLComponent(Component):
|
||||||
assembly_info_dir = "."
|
assembly_info_dir = "."
|
||||||
self.dll_name = dll_name
|
self.dll_name = dll_name
|
||||||
self.assembly_info_dir = assembly_info_dir
|
self.assembly_info_dir = assembly_info_dir
|
||||||
|
self.key_file = default_key_file
|
||||||
|
|
||||||
def mk_pkg_config_file(self):
|
def mk_pkg_config_file(self):
|
||||||
"""
|
"""
|
||||||
|
@ -1524,6 +1536,8 @@ class DotNetDLLComponent(Component):
|
||||||
configure_file(pkg_config_template, pkg_config_output, substitutions)
|
configure_file(pkg_config_template, pkg_config_output, substitutions)
|
||||||
|
|
||||||
def mk_makefile(self, out):
|
def mk_makefile(self, out):
|
||||||
|
global DOTNET_KEY_FILE
|
||||||
|
|
||||||
if not is_dotnet_enabled():
|
if not is_dotnet_enabled():
|
||||||
return
|
return
|
||||||
cs_fp_files = []
|
cs_fp_files = []
|
||||||
|
@ -1554,17 +1568,24 @@ class DotNetDLLComponent(Component):
|
||||||
'/linkresource:{}.dll'.format(get_component(Z3_DLL_COMPONENT).dll_name),
|
'/linkresource:{}.dll'.format(get_component(Z3_DLL_COMPONENT).dll_name),
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
pathToSnk = os.path.join(self.to_src_dir, 'z3.snk')
|
|
||||||
snkFile = os.path.join(self.src_dir, 'z3.snk')
|
# We need to give the assembly a strong name so that it
|
||||||
else:
|
# can be installed into the GAC with ``make install``
|
||||||
# We need to give the assembly a strong name so that it
|
if not DOTNET_KEY_FILE is None:
|
||||||
# can be installed into the GAC with ``make install``
|
self.key_file = DOTNET_KEY_FILE
|
||||||
pathToSnk = os.path.join(self.to_src_dir, 'Microsoft.Z3.mono.snk')
|
|
||||||
snkFile = os.path.join(self.src_dir, 'Microsoft.Z3.mono.snk')
|
if not self.key_file is None:
|
||||||
if os.path.isfile(snkFile):
|
if os.path.isfile(self.key_file):
|
||||||
cscCmdLine.append('/keyfile:{}'.format(pathToSnk))
|
self.key_file = os.path.abspath(self.key_file)
|
||||||
else:
|
elif os.path.isfile(os.path.join(self.src_dir, self.key_file)):
|
||||||
print("Keyfile is not configured: %s" % snkFile)
|
self.key_file = os.path.abspath(os.path.join(self.src_dir, self.key_file))
|
||||||
|
else:
|
||||||
|
print("Keyfile '%s' could not be found; %s.dll will be unsigned." % (self.dll_name, self.key_file))
|
||||||
|
self.key_file = None
|
||||||
|
|
||||||
|
if not self.key_file is None:
|
||||||
|
print("%s.dll will be signed using key '%s'." % (self.dll_name, self.key_file))
|
||||||
|
cscCmdLine.append('/keyfile:{}'.format(self.key_file))
|
||||||
|
|
||||||
cscCmdLine.extend( ['/unsafe+',
|
cscCmdLine.extend( ['/unsafe+',
|
||||||
'/nowarn:1701,1702',
|
'/nowarn:1701,1702',
|
||||||
|
@ -1588,6 +1609,7 @@ class DotNetDLLComponent(Component):
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
cscCmdLine.extend(['/optimize+'])
|
cscCmdLine.extend(['/optimize+'])
|
||||||
|
|
||||||
if IS_WINDOWS:
|
if IS_WINDOWS:
|
||||||
if VS_X64:
|
if VS_X64:
|
||||||
cscCmdLine.extend(['/platform:x64'])
|
cscCmdLine.extend(['/platform:x64'])
|
||||||
|
@ -2172,8 +2194,8 @@ def add_dll(name, deps=[], path=None, dll_name=None, export_files=[], reexports=
|
||||||
reg_component(name, c)
|
reg_component(name, c)
|
||||||
return c
|
return c
|
||||||
|
|
||||||
def add_dot_net_dll(name, deps=[], path=None, dll_name=None, assembly_info_dir=None):
|
def add_dot_net_dll(name, deps=[], path=None, dll_name=None, assembly_info_dir=None, default_key_file=None):
|
||||||
c = DotNetDLLComponent(name, dll_name, path, deps, assembly_info_dir)
|
c = DotNetDLLComponent(name, dll_name, path, deps, assembly_info_dir, default_key_file)
|
||||||
reg_component(name, c)
|
reg_component(name, c)
|
||||||
|
|
||||||
def add_java_dll(name, deps=[], path=None, dll_name=None, package_name=None, manifest_file=None):
|
def add_java_dll(name, deps=[], path=None, dll_name=None, package_name=None, manifest_file=None):
|
||||||
|
@ -2593,6 +2615,16 @@ def update_version():
|
||||||
mk_all_assembly_infos(major, minor, build, revision)
|
mk_all_assembly_infos(major, minor, build, revision)
|
||||||
mk_def_files()
|
mk_def_files()
|
||||||
|
|
||||||
|
def get_full_version_string(major, minor, build, revision):
|
||||||
|
global GIT_HASH, GIT_DESCRIBE
|
||||||
|
res = "Z3 %s.%s.%s.%s" % (major, minor, build, revision)
|
||||||
|
if GIT_HASH:
|
||||||
|
res += " " + GIT_HASH
|
||||||
|
if GIT_DESCRIBE:
|
||||||
|
branch = check_output(['git', 'rev-parse', '--abbrev-ref', 'HEAD', '--long'])
|
||||||
|
res += " master " + check_output(['git', 'describe'])
|
||||||
|
return '"' + res + '"'
|
||||||
|
|
||||||
# Update files with the version number
|
# Update files with the version number
|
||||||
def mk_version_dot_h(major, minor, build, revision):
|
def mk_version_dot_h(major, minor, build, revision):
|
||||||
c = get_component(UTIL_COMPONENT)
|
c = get_component(UTIL_COMPONENT)
|
||||||
|
@ -2606,6 +2638,7 @@ def mk_version_dot_h(major, minor, build, revision):
|
||||||
'Z3_VERSION_MINOR': str(minor),
|
'Z3_VERSION_MINOR': str(minor),
|
||||||
'Z3_VERSION_PATCH': str(build),
|
'Z3_VERSION_PATCH': str(build),
|
||||||
'Z3_VERSION_TWEAK': str(revision),
|
'Z3_VERSION_TWEAK': str(revision),
|
||||||
|
'Z3_FULL_VERSION': get_full_version_string(major, minor, build, revision)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
if VERBOSE:
|
if VERBOSE:
|
||||||
|
|
|
@ -430,6 +430,11 @@ extern "C" {
|
||||||
*revision_number = Z3_REVISION_NUMBER;
|
*revision_number = Z3_REVISION_NUMBER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Z3_string Z3_API Z3_get_full_version(void) {
|
||||||
|
LOG_Z3_get_full_version();
|
||||||
|
return Z3_FULL_VERSION;
|
||||||
|
}
|
||||||
|
|
||||||
void Z3_API Z3_enable_trace(Z3_string tag) {
|
void Z3_API Z3_enable_trace(Z3_string tag) {
|
||||||
memory::initialize(UINT_MAX);
|
memory::initialize(UINT_MAX);
|
||||||
LOG_Z3_enable_trace(tag);
|
LOG_Z3_enable_trace(tag);
|
||||||
|
|
|
@ -30,7 +30,7 @@ namespace Microsoft.Z3
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Constructor.
|
/// Constructor.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks><seealso cref="Context.Context(Dictionary<string, string>)"/></remarks>
|
/// <remarks><seealso cref="Context"/></remarks>
|
||||||
public InterpolationContext(Dictionary<string, string> settings) : base(settings) { }
|
public InterpolationContext(Dictionary<string, string> settings) : base(settings) { }
|
||||||
|
|
||||||
#region Terms
|
#region Terms
|
||||||
|
|
|
@ -83,6 +83,17 @@ namespace Microsoft.Z3
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A full version string
|
||||||
|
/// </summary>
|
||||||
|
public static string FullVersion
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return Native.Z3_get_full_version();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A string representation of the version information.
|
/// A string representation of the version information.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -63,6 +63,14 @@ public class Version
|
||||||
return revision.value;
|
return revision.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A full version string
|
||||||
|
**/
|
||||||
|
public static String getFullVersion()
|
||||||
|
{
|
||||||
|
return Native.getFullVersion();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A string representation of the version information.
|
* A string representation of the version information.
|
||||||
**/
|
**/
|
||||||
|
|
|
@ -25,6 +25,8 @@ module Version =
|
||||||
struct
|
struct
|
||||||
let (major, minor, build, revision) = Z3native.get_version ()
|
let (major, minor, build, revision) = Z3native.get_version ()
|
||||||
|
|
||||||
|
let full_version : string = Z3native.get_full_version()
|
||||||
|
|
||||||
let to_string =
|
let to_string =
|
||||||
string_of_int major ^ "." ^
|
string_of_int major ^ "." ^
|
||||||
string_of_int minor ^ "." ^
|
string_of_int minor ^ "." ^
|
||||||
|
|
|
@ -80,6 +80,9 @@ sig
|
||||||
(** The revision. *)
|
(** The revision. *)
|
||||||
val revision : int
|
val revision : int
|
||||||
|
|
||||||
|
(** A full version string. *)
|
||||||
|
val full_version : string
|
||||||
|
|
||||||
(** A string representation of the version information. *)
|
(** A string representation of the version information. *)
|
||||||
val to_string : string
|
val to_string : string
|
||||||
end
|
end
|
||||||
|
|
|
@ -79,6 +79,9 @@ def get_version():
|
||||||
Z3_get_version(major, minor, build, rev)
|
Z3_get_version(major, minor, build, rev)
|
||||||
return (major.value, minor.value, build.value, rev.value)
|
return (major.value, minor.value, build.value, rev.value)
|
||||||
|
|
||||||
|
def get_full_version():
|
||||||
|
return Z3_get_full_version()
|
||||||
|
|
||||||
# We use _z3_assert instead of the assert command because we want to
|
# We use _z3_assert instead of the assert command because we want to
|
||||||
# produce nice error messages in Z3Py at rise4fun.com
|
# produce nice error messages in Z3Py at rise4fun.com
|
||||||
def _z3_assert(cond, msg):
|
def _z3_assert(cond, msg):
|
||||||
|
|
|
@ -5139,6 +5139,13 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
void Z3_API Z3_get_version(unsigned * major, unsigned * minor, unsigned * build_number, unsigned * revision_number);
|
void Z3_API Z3_get_version(unsigned * major, unsigned * minor, unsigned * build_number, unsigned * revision_number);
|
||||||
|
|
||||||
|
/**
|
||||||
|
\brief Return a string that fully describes the version of Z3 in use.
|
||||||
|
|
||||||
|
def_API('Z3_get_full_version', STRING, ())
|
||||||
|
*/
|
||||||
|
Z3_string Z3_API Z3_get_full_version(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Enable tracing messages tagged as \c tag when Z3 is compiled in debug mode.
|
\brief Enable tracing messages tagged as \c tag when Z3 is compiled in debug mode.
|
||||||
It is a NOOP otherwise
|
It is a NOOP otherwise
|
||||||
|
|
|
@ -3,3 +3,5 @@
|
||||||
#define Z3_MINOR_VERSION @Z3_VERSION_MINOR@
|
#define Z3_MINOR_VERSION @Z3_VERSION_MINOR@
|
||||||
#define Z3_BUILD_NUMBER @Z3_VERSION_PATCH@
|
#define Z3_BUILD_NUMBER @Z3_VERSION_PATCH@
|
||||||
#define Z3_REVISION_NUMBER @Z3_VERSION_TWEAK@
|
#define Z3_REVISION_NUMBER @Z3_VERSION_TWEAK@
|
||||||
|
|
||||||
|
#define Z3_FULL_VERSION @Z3_FULL_VERSION@
|
||||||
|
|
Loading…
Reference in a new issue