3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-12 20:18:18 +00:00
Commit graph

640 commits

Author SHA1 Message Date
Nikolaj Bjorner 02f01fcef1 adding esrp feature
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-11 17:31:09 -08:00
Nikolaj Bjorner 93c59ffbd9 update script to sign assembly
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-11 15:48:33 -08:00
Bruce Mitchener 51a947b73d Change how 64 bit builds are detected.
Instead of doing this at configure time, we look at the actual
compile time status. This also avoids hardcoding checks based on
what CPU architecture is present, which doesn't work when Z3 is
being built on non-x86_64 platforms.
2018-12-09 16:16:20 +07:00
Nikolaj Bjorner ee7781e602 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-17 15:05:02 -08:00
Nikolaj Bjorner 9ec59fdb93 fix #1934
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-17 15:04:25 -08:00
Nikolaj Bjorner 5ebe342da1 add support for keyfiles
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-16 13:27:58 -08:00
Nikolaj Bjorner f4ced3c164 use netstandard1.4
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-15 16:40:35 -08:00
Nikolaj Bjorner 60d7444c96 build generated files outside of src
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-15 16:16:38 -08:00
Nikolaj Bjorner bb5837791a clean up dotnet core component
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-15 11:02:49 -08:00
Nikolaj Bjorner 8bfeca063d update example build for dotnet core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-15 10:36:27 -08:00
Nikolaj Bjorner 6a9c8a8999 remove spurious string
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-14 19:40:56 -08:00
Nikolaj Bjorner 4f4463b2b7 update for nuget/core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-14 15:06:24 -08:00
Nikolaj Bjorner 13d1ccfeaf update for nuget/core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-14 14:59:53 -08:00
Nikolaj Bjorner c372500018 update for nuget/core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-14 14:51:58 -08:00
Nikolaj Bjorner 84baddf87c Merge branch 'master' of https://github.com/z3prover/z3 2018-11-14 14:07:16 -08:00
Nikolaj Bjorner 1cc2cc0143 add TBD marker
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-14 14:07:14 -08:00
Nikolaj Bjorner 74db2f2509
Merge pull request #1939 from msoeken/dotnetcore-fix
Choose runtime for .NET core DLL.
2018-11-14 14:06:43 -08:00
Mathias Soeken 690bd8502a Choose runtime for .NET core DLL. 2018-11-14 13:47:46 -08:00
Nikolaj Bjorner 2501a875ef update script to generate file directly instead of from makefile
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-14 13:44:40 -08:00
Nikolaj Bjorner c49d71ba66 Merge branch 'master' of https://github.com/z3prover/z3 2018-11-14 11:43:44 -08:00
Nikolaj Bjorner 139d8b85f0 core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-14 11:43:41 -08:00
Mathias Soeken 33363aeb58 Fix problem in mk_echo. 2018-11-14 11:27:55 -08:00
Mathias Soeken e39907c481 Fix some problems in mk_echo. 2018-11-14 11:25:18 -08:00
Mathias Soeken d4567a1255 Fix echo command for Windows. 2018-11-14 11:11:25 -08:00
Mathias Soeken 2fbaad15d7 Build example for dotnetcore. 2018-11-14 09:57:47 -08:00
Nikolaj Bjorner ccf6ca310e more dotnet core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-13 19:59:46 -08:00
Nikolaj Bjorner 37ec933c66 more dotnet core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-13 19:58:42 -08:00
Nikolaj Bjorner dbd5ef4526 more dotnet core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-13 19:58:09 -08:00
Nikolaj Bjorner bd78558826 adding dotnetcore handling
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-13 19:51:57 -08:00
Nikolaj Bjorner 225fb82d96 add TBD for dotnet example
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-13 15:54:37 -08:00
Nikolaj Bjorner b02c698284 align variable names with dimacs input
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-08 16:52:10 -08:00
Nikolaj Bjorner 52801db3fd more dotnet core prepration
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-22 16:28:01 -07:00
Nikolaj Bjorner 540922766d more dotnetcore preparation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-22 12:15:54 -07:00
Nikolaj Bjorner 4616ddf103 more prep for dotnet core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-22 11:50:07 -07:00
Nikolaj Bjorner 7c043dee7d more prep for dotnetcore
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-22 11:07:17 -07:00
Nikolaj Bjorner 8a93f34b4a Merge branch 'master' of https://github.com/z3prover/z3 2018-10-22 11:00:07 -07:00
Nikolaj Bjorner 81a92edb61 prepare to retool
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-22 10:59:51 -07:00
Florian Pigorsch 326bf401b9 Fix some spelling errors (mostly in comments). 2018-10-20 17:07:41 +02:00
nabice 13183b7c7c Ignore current dir when searching for jni 2018-10-10 17:12:16 +08:00
Andrew Helwer 7941074fd1 Added packaging directions, removed linkresource flag 2018-10-06 18:22:55 -07:00
Nikolaj Bjorner 0c4754d94b rename version.h to z3_version.h to differentiate name in install include directory. Add support for z3_version.h in python build system. #1833
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-21 20:13:58 -07:00
Nikolaj Bjorner c247abfc65 prepare js output
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-03 22:13:25 -07:00
Nikolaj Bjorner 753b9dd734 fix #1650 fix #1648
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-25 08:56:13 -07:00
Philipp Wendler 3e0506a71b Set the SONAME field of libz3.so to libz3.so.
This fixes a problem when loading libz3java from Java,
where the dependency on libz3 is not detected as fulfilled
if the latter does not have SONAME set.
2018-05-25 15:01:07 +02:00
Nikolaj Bjorner 50c93d1ad4 merge with 4.7.1
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-22 17:10:36 -07:00
Sapan Bhatia c198b12743 Big_int is no longer a part of OCaml's standard library and must be
included via the num package: https://github.com/ocaml/num
2018-05-15 04:55:57 +05:30
Nikolaj Bjorner 888699548d
Revert "Specify encoding of source files in mk_util.py" 2018-05-03 11:59:49 -07:00
Carsten Varming c279fd9f2e Specify encoding of source files in mk_util.py 2018-05-02 23:27:33 -04:00
Nikolaj Bjorner c513f3ca09 merge with master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-25 14:57:01 -07:00
Pierre Pronchery 5f7bd993de Add support for NetBSD
Originally from David Holland <dholland@NetBSD.org>.
2018-03-13 21:59:35 +01:00
Nikolaj Bjorner 0ce2001449 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-10 11:39:22 -08:00
Christoph M. Wintersteiger 0ef33a98c4
Revert "Fix encoding error" 2018-02-13 14:08:55 +00:00
Virgile ROBLES fddc4e311f
Fix encoding error
The encode/decode is not needed and fails if any non-ASCII character is returned by g++ or clang++
2018-01-26 00:30:59 +01:00
Ivan Gotovchits 49678065bd fixes compilation flags for OCaml plugins
The `-linkall` option is needed for a plugin to be standalone,
otherwise it will miss those dependencies that are not used.
2017-12-13 14:45:06 -05:00
Christoph M. Wintersteiger 7c63a5cc1d Fixed MSYS/MinGW build. Fixes #1335. 2017-11-11 16:38:53 +00:00
Christoph M. Wintersteiger 45975bec65 Improved support for MSYS/MINGW. Fixes #969. 2017-11-11 15:11:54 +00:00
Christoph M. Wintersteiger 19f43713c9 Fixed Windows build of C example. 2017-11-08 21:16:03 +00:00
Christoph M. Wintersteiger bec6c3f9e2 Fixed C example build. 2017-11-08 18:22:17 +00:00
Christoph M. Wintersteiger a8b52419f5 Fixed C example build. 2017-11-08 18:14:42 +00:00
Nikolaj Bjorner fd49a0c89c added facility to persist model transformations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-02 00:05:52 -05:00
Paul Ehrlich 2a459c5ff6 MSYS offers a MINGW shell as well. (uses different os.uname()) 2017-11-01 12:02:48 +01:00
Christoph M. Wintersteiger e50470f2c4 Added support for MSYS2 2017-10-30 18:24:38 +00:00
Nikolaj Bjorner c1b243a8e3 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-07 19:24:30 +01:00
Nikolaj Bjorner a625301a41 expose incremental cubing over API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-28 15:05:10 -07:00
Christoph M. Wintersteiger 9a464dded4 Removed -std=c++11 from OCaml stubs build command. Fixes #1263. 2017-09-27 14:22:59 +01:00
Nikolaj Bjorner e1d08e9526 remove reinterpret cast occurrences that require disabling strict alias analysis #987 #1210
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-17 20:41:29 -07:00
Nuno Lopes 4b00bc636b revert the patch to remove no-strict-aliasing
VS 2012 doesnt support C++11 unions..
2017-08-14 23:00:59 +01:00
Nuno Lopes 2473c69679 Drop no-strict-aliasing and fix 2 places where it was violated 2017-08-14 20:09:49 +01:00
Christoph M. Wintersteiger 6bc5209e26 Fixed build problems with .vcxproj 2017-08-01 15:53:55 +01:00
Daniel Perelman d57494395c Add --guardcf flag to mk_make.py to optionally enable Control Flow Guard. 2017-07-06 16:59:20 -07:00
Dan Liew d00892c9a6 [CMake] Fix dependencies for generating mem_initializer.cpp.
Previously CMake was not aware of which headers files the generation
of `mem_initializer.cpp` depended on. Consequently this could result
in broken incremental builds if

* Existing headers that declare memory initializers/finalizers change.
* New headers are added that declare memory initializers/finalizer.

Now the `z3_add_component()` CMake function has been modifed so that
it now takes an optional `MEMORY_INIT_FINALIZER_HEADERS` argument
which allows the headers that declare memory initializers/finalizers
to be explicitly listed.

With this information CMake will now regenerate `mem_initializer.cpp`
correctly.

This required the `mk_mem_initializer_cpp_internal()` function to be
changed to take a list of header files rather than a list of component
source directories. The two consumers (CMake and Python/Makefile build
systems) of this function have been modified to work with this change.

This partially fixes #1030.
2017-06-21 23:56:53 +01:00
Dan Liew 6f48a145aa [CMake] Fix dependencies for generating gparams_register_modules.cpp.
Previously CMake was not aware of which headers files the generation
of `gparams_register_modules.cpp` depended on. Consequently this could result
in broken incremental builds if

* Existing headers that declared module description/parameters change.
* New headers are added that declare module description/parameters.
* `.pyg` files that generate header files that declare module
  description/parameters change

Now the `z3_add_component()` CMake function has been modifed so that

* All header files that are generated from `.pyg` files are added as
dependencies and are scanned from module description/parameter
declarations. This implicit dependency of `gparams_register_modules.cpp`
depending on other generated header files seems unnecessary complex. We
should revisit this design decision once the Python/Makefile build
system is deprecated.

* The function now takes an optional `EXTRA_REGISTER_MODULE_HEADERS`
argument which allows the headers that declare module
description/paramters to be explicitly listed.

With this information CMake will now regenerate `gparams_register_modules.cpp`
correctly.

This required the `mk_gparams_register_modules_internal()` function to be
changed to take a list of header files rather than a list of component
source directories. The two consumers (CMake and Python/Makefile build
systems) of this function have been modified to work with this change.

This partially fixes #1030.
2017-06-21 23:56:46 +01:00
Dan Liew 229fd3dc3e [CMake] Fix dependencies for generating install_tactic.cpp.
Previously CMake was not aware of which headers files the generation
of `install_tactic.cpp` depended on. Consequently this could result
in broken incremental builds if

* Existing headers that declared tactics/probes changed.
* New tactics/probes were added to new header files.

Now the `z3_add_component()` CMake function has been modifed to take an
optional `TACTIC_HEADERS` argument which allows the headers that declare
tactics/probes to be explicitly listed. The necessary component
declarations have been modified to declare their tactic/probe header
files.

With this information CMake will now regenerate `install_tactic.cpp`
correctly.

This required the `mk_install_tactic_cpp_internal()` function to be
changed to take a list of header files rather than a list of component
source directories. The two consumers (CMake and Python/Makefile build
systems) of this function have been modified to work with this change.

This partially fixes #1030.
2017-06-21 23:03:48 +01:00
Nikolaj Bjorner 691788f449 remove stale references to foci
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-19 20:21:08 -07:00
Christoph M. Wintersteiger a258236229 Disabled debug output 2017-05-19 18:51:52 +01:00
Christoph M. Wintersteiger 46791047fa Fixed VS 2017 platform toolset version in .vcxproj 2017-05-12 14:28:55 +01:00
Nikolaj Bjorner a64a73255e make source directory relative to build directory
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-09 15:46:24 -07:00
Nikolaj Bjorner 7731163d11 use forward slash on src include
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-09 14:42:43 -07:00
Nikolaj Bjorner 911b24784a merge LRA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-09 10:46:11 -07:00
Christoph M. Wintersteiger 79dcf03a42 Enabled C++11 in GCC and Clang 2017-05-05 15:01:10 +01:00
Christoph M. Wintersteiger 0ebce66c57 Fixed bug with .NET keyfile path containing spaces. Fixes #1003. 2017-05-05 14:22:40 +01:00
Christoph M. Wintersteiger 3bbe5eceeb fix for --get-describe 2017-03-24 15:53:46 +00:00
Michael Lowell Roberts 3415672f31 fixed bug where mk_make.py --build=... would fail to handle absolute paths correctly. 2017-02-28 08:24:35 -08:00
Christoph M. Wintersteiger 59db0bc9c4 Merge pull request #829 from legendtang/fix_utf8_conf
Fixed utf-8 version string handling for python2. Resolved #787
2017-02-04 20:38:51 +00:00
Christoph M. Wintersteiger b9bfd4ddf5 Merge pull request #854 from angr/fix/fpic-arm
Add -fpic to armv7/armv8 build
2017-01-18 21:55:52 +00:00
Andrew Dutcher 1eec0799ca Add -fpic to armv7/armv8 build 2016-12-22 14:26:41 -08:00
Dan Liew 2e74a2c54e Refactor update_api.mk_ml() so that the source and output directories
can be different. This feature will be needed by the CMake build system
to build the OCaml bindings.
2016-12-19 21:05:17 +00:00
Dan Liew 76bbecf4fe Refactor mk_z3consts_ml() code into mk_z3consts_ml_internal()
and move that into `mk_genfile_common.py`. Then adapt `mk_util.py` and
`mk_consts_files.py` to call into the code at its new location.

The purpose of this change is to have Python code common to the Python
and CMake build systems separate from Python code that is only used for
the Python build system.
2016-12-19 21:05:17 +00:00
Dan Liew 0e03fe9bf2 Fix inconsistent emission of OCaml enumeration files. The ordering of emitted
enum values is not consistent between python 2 or 3. The root cause
of the problem was a dictionary's keys being iterated over which has
no defined order.

This has been fixed by iterating over the dictionary's items and
ordering by values.  We could order by key rather than the values but
seeing as these represent an enum, ordering by value makes more sense.
2016-12-19 21:05:16 +00:00
Christoph M. Wintersteiger 251d1ec031 Fix for parallel builds of the OCaml API. Relates to #797. 2016-12-19 16:58:25 +00:00
Christoph M. Wintersteiger 2c32e30fed Build fix for static binaries + shared examples 2016-12-19 16:47:28 +00:00
Christoph M. Wintersteiger a1a662b23f Build fix for C/C++ example programs. 2016-12-16 04:51:07 -08:00
Christoph M. Wintersteiger 649d474686 Build fix for C++ example 2016-12-09 19:09:47 +00:00
Wensheng Tang 99d10d1224 Fixed utf-8 version string handling for python2. Resolved #787 2016-12-08 15:09:59 +08:00
Nuno Lopes 1d417f6527 fix warnings in configure script 2016-11-23 09:32:20 +00:00
Christoph M. Wintersteiger dee7c29b19 Added optional synchronization for multi-thread API logs. Relates to #798. 2016-11-22 11:32:25 +00:00
Christoph M. Wintersteiger 7f923c6a33 Include Python API files in distributions. 2016-11-07 22:00:28 +00:00
Christoph M. Wintersteiger 7bbdb7714f Added signed .NET assemblies in unix builds 2016-11-03 17:20:39 +00:00
Christoph M. Wintersteiger 6e0369036e fixed log output typo 2016-11-03 17:13:02 +00:00
Christoph M. Wintersteiger 6fb358a432 Build fix for libz3.vcxproj. 2016-10-28 13:45:10 +01:00
Christoph M. Wintersteiger 86285e1641 disabled unnecessary assertion 2016-10-26 12:59:26 +01:00
Christoph M. Wintersteiger 6ea45b4d65 fix for Python API installation 2016-10-25 14:23:55 +01:00
Nikolaj Bjorner 092c52e5b7 fix for package directory. issue #744
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-09-22 18:29:26 -07:00
Andrew Dutcher 4801a27c2d Fix up z3test to a) exist and b) work 2016-09-21 17:18:10 -07:00
Nikolaj Bjorner ef0dd74c53 try copy instead of cp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-09-21 16:14:27 -07:00
Andrew Dutcher 02783d0bfb Minor tweaks to make things more reliable/less obnoxious 2016-09-14 01:49:37 -07:00
Andrew Dutcher cb83c42100 Make python stuff live in a python directory in the build tree 2016-09-14 01:49:16 -07:00
Andrew Dutcher 704105306c FINISH IT 2016-09-14 01:40:01 -07:00
Andrew Dutcher 0bbd172af3 First steps to a sane python build 2016-09-14 01:37:04 -07:00
Christoph M. Wintersteiger 7fefe40f21 Added/improved facilities for strong name signing of the .NET assembly. 2016-07-28 18:07:34 +01:00
Christoph M. Wintersteiger 3587baaf24 Added full version strings and associated API functions. 2016-07-28 18:06:02 +01:00
Nikolaj Bjorner 9cab896632 adding sign option if keyfile is present
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-26 14:31:29 -07:00
Christoph M. Wintersteiger 1fb672121c build fix for cygwin/mingw 2016-06-24 13:57:53 +01:00
Christoph M. Wintersteiger e3a41d0d98 Merge pull request #645 from martin-neuhaeusser/cross-mingw64
Extend build scripts to support MinGW64 cross-compilation on Windows.
2016-06-24 13:42:10 +01:00
Christoph M. Wintersteiger fad1dffbf0 Added PATH info to successful build message 2016-06-22 19:03:42 +01:00
Martin R. Neuhäußer 22097efd4a Extend build scripts to support MinGW64 cross-compilation on Windows. 2016-06-10 16:43:57 +02:00
Christoph M. Wintersteiger 86126e2c01 Merge branch 'master' of https://github.com/Z3Prover/z3 into new-ml-api 2016-05-03 11:52:21 +01:00
Dan Liew b3713e7496 Refactor `mk_z3consts_java() code into mk_z3consts_java_internal()`
and move that into ``mk_genfile_common.py``. Then adapt ``mk_util.py`` and
``mk_consts_files.py`` to call into the code at its new location.

The purpose of this change is to have Python code common to the Python
and CMake build systems separate from Python code that is only used for
the Python build system.
2016-04-17 19:03:17 +01:00
Christoph M. Wintersteiger b178420797 Merge branch 'master' of https://github.com/Z3Prover/z3 into new-ml-api 2016-03-31 18:11:30 +01:00
Christoph M. Wintersteiger 2eced4676f Merge pull request #539 from delcypher/cmake_dotnet_bindings
[CMake] Teach CMake to build .NET bindings
2016-03-29 13:56:35 +01:00
martin-neuhaeusser 28f9c61d76 Include *.cmx files during installation of OCaml bindings.
The *.cmx files are now installed using ocamlfind. They contain information from the
compiler that can be used during optimization (the upcoming OCaml 4.03.0 issues
warning 58 if those files are missing from a package).
2016-03-28 17:08:22 +02:00
Dan Liew d3f87e44a2 Refactor `mk_z3consts_dotnet() code into mk_z3consts_dotnet_internal()`
and move that into ``mk_genfile_common.py``. Then adapt ``mk_util.py`` and
``mk_consts_files.py`` to call into the code at its new location.

The purpose of this change is to have Python code common to the Python
and CMake build systems separate from Python code that is only used for
the Python build system.
2016-03-26 17:59:11 +00:00
Bobby Powers 7bb085a565 build: allow overriding of 'ar' in mk_config
This will still use 'ar' if AR isn't set in the environment, but lets
us override the default archive tool at configure time.

Just like CC and CXX, this doesn't apply to a ./configure for Windows.
2016-03-22 10:47:51 -04:00
Dan Liew 87e99cd734 Move the code for generating `*.hpp files from *.pyg from mk_util.py` to
``mk_genfile_common.py``. A new function ``mk_hpp_from_pyg()`` has been added
which provides a more sensible interface (hides the nasty ``exec()`` stuff)
to create the ``*.hpp`` files from ``*.pyg`` files.

Both ``mk_util.py`` and ``pyg2hpp.py`` have been modified to use the new
interface.

Whilst I'm here reindent ``pyg2hpp.py``.

The purpose of this change is to have Python code common to the Python
and CMake build systems separate from Python code that is only used for
the Python build system.

I've tested this change by making sure that the all the ``*.hpp``
files generated from ``*.pyg`` files match the files generated
before this change.
2016-03-09 11:22:49 +00:00
Dan Liew 8840e5a00f Move `mk_pat_db_internal() from mk_util.py` to
``mk_genfile_common.py`` and adapt ``mk_util.py`` and
``mk_pat_db.py`` to use the code at its new location.

Whilst I'm here reindent ``mk_mem_initializer_cpp.py``.

The purpose of this change is to have Python code common to the Python
and CMake build systems separate from Python code that is only used for
the Python build system.
2016-03-09 11:22:48 +00:00
Dan Liew 114e165fad Move `mk_mem_initializer_cpp_internal() from mk_util.py` to
``mk_genfile_common.py`` and adapt ``mk_util.py`` and
``mk_mem_initializer_cpp.py`` to use the code at its new location. The interface
has been changed slightly so that ``mk_mem_initializer_cpp_internal()`` now
returns the path the generated file. The motivation behind this is so that
clients of the function know the path of the generated file.

Whilst I'm here reindent ``mk_mem_initializer_cpp.py`` and the relevant
code in ``mk_util.py``.

The purpose of this change is to have Python code common to the Python
and CMake build systems separate from Python code that is only used for
the Python build system.
2016-03-09 11:22:48 +00:00
Dan Liew f4e98a4fe5 Move `mk_install_tactic_cpp_internal() from mk_util.py` to
``mk_genfile_common.py`` and adapt ``mk_util.py`` and
``mk_install_tactic_cpp.py`` to use the code at its new location. The interface
has been changed slightly so that ``mk_install_tactic_cpp_internal()`` now
returns the path the generated file. The motivation behind this is so that
clients of the function know the path of the generated file.

Whilst I'm here reindent ``mk_install_tactic_cpp.py`` and the relevant
code in ``mk_util.py``.

The purpose of this change is to have Python code common to the Python
and CMake build systems separate from Python code that is only used for
the Python build system.
2016-03-09 11:22:48 +00:00
Dan Liew 404aa2a5a0 Move `mk_gparams_register_modules_internal() from mk_util.py`
to ``mk_genfile_common.py`` and adapt ``mk_util.py`` and
``mk_gparams_register_modules_cpp.py`` to use the code at its new
location. The interface has been changed slightly so that
``mk_gparams_register_modules_internal()`` now returns the path
to the generated file. The motivation behind this so that clients
of the function know the path to the generated file.

Whilst I'm here reindent ``mk_gparams_register_modules_cpp.py``
and the relevant code in ``mk_util.py``.

Also remove duplicated code that is now available in
``mk_genfile_common.py``.

The purpose of this change is to have Python code common to the Python
and CMake build systems separate from Python code that is only used for
the Python build system.
2016-03-09 11:22:48 +00:00
Dan Liew 8a35f744c7 Move `mk_def_file_internal() out of mk_util.py` into
``mk_genfile_common.py`` and adapt ``mk_util.py`` and
``mk_def_file.py`` to use the code at its new location.

Whilst I'm here also reindent ``mk_def_file.py`` and make it
use some of the code in ``mk_genfile_common.py`` to avoid code
duplication.

The purpose of this change is to have Python code common to the Python
and CMake build systems separate from Python code that is only used for
the Python build system.
2016-03-09 11:22:48 +00:00
Dan Liew 2b64729b21 Move `mk_z3consts_py_internal() out of mk_util.py` into
``mk_genfile_common.py`` and adapt ``mk_util.py`` and
``mk_consts_files.py`` to use the code at its new location. The
interface has been changed slightly so that
``mk_z3consts_py_internal()`` now returns the path to the generated
file. The motivation behind this is so that clients of the function
know the path to the generated file.

Whilst I'm here also reindent ``mk_consts_files.py`` and move some of
its code into ``mk_genfile_common.py`` so it can be shared.

Also update Z3_GENERATED_FILE_EXTRA_DEPENDENCIES in the CMake build
so it knows about ``mk_genfile_common.py``.

The purpose of this change is to have Python code common to the Python
and CMake build systems separate from Python code that is only used for
the Python build system.
2016-03-09 11:22:48 +00:00
Christoph M. Wintersteiger 027331aef2 resolved merge conflicts 2016-03-07 14:20:10 +00:00
Christoph M. Wintersteiger a9ffc258d0 Merge branch 'cmake_build_system4' of https://github.com/delcypher/z3-1 into delcypher-cmake_build_system4 2016-03-07 13:12:04 +00:00
Christoph M. Wintersteiger 03a8ef2795 Fixed non-Windows preprocessor options.
Fixes #463
2016-03-05 17:14:19 +00:00
Christoph M. Wintersteiger 09832ca807 Fixed static Windows binary build. 2016-03-05 13:58:28 +00:00
Christoph M. Wintersteiger 40c5152075 Added --staticbin option.
Relates to #456
2016-03-04 18:32:45 +00:00
Dan Liew d54d6b50f0 Teach the Python build system to use the `version.h.in` template file used
by the CMake build and use the existing ``configre_file()`` function
to generate the ``version.h`` file needed by the build.
2016-03-04 15:26:09 +00:00
Dan Liew 8bc7d319c7 Refactor `mk_z3consts_py()` to that is usable externally via a new
function ``mk_z3consts_py_internal()`` which called by a new
``mk_consts_files.py`` script. This will script will allow the const
declarations for the different Z3 language bindings to be generated.
Right now only support for python is implemented but more can be added
in the future.
2016-03-04 15:26:09 +00:00
Dan Liew 46ac368f86 Refactor `mk_def_file()` so that it is usable externally via a new
function ``mk_def_file_internal()`` which is called by a
new ``mk_def_file.py`` script. This will allow other build systems to
generate the ``api_dll.def`` file.
2016-03-04 15:26:09 +00:00
Dan Liew db34baa979 Partially refactor the code in `update_api.py` so that it can
be used as a script for other build systems and is callable via
a new ``generate_files()`` function from ``mk_util.py``. This removes
the horrible ``_execfile()`` hack that was previously in ``mk_util.py``.

Unfortunately lots of bad code is still in ``update_api.py`` but
fixing all of its problems is too much work right now.
2016-03-04 15:26:09 +00:00
Dan Liew 2b3fe3d02c Refactor `mk_gparams_register_modules()` so that it is usable externally via a new
function ``mk_gparams_register_modules_internal()`` which is called by a
new ``mk_gparams_register_modules_cpp.py`` script. This will allow other build systems to
generate the ``gparams_register_modules.cpp`` files.
2016-03-04 15:22:00 +00:00
Dan Liew 2f7f022605 Refactor `mk_mem_initializer_cpp()` so that it is usable externally via a new
function ``mk_mem_initializer_cpp_internal()`` which is called by a
new ``mk_mem_initializer_cpp.py`` script. This will allow other build systems to
generate the ``mem_initializer.cpp`` files.
2016-03-04 15:22:00 +00:00
Dan Liew a13438818f Refactor `mk_install_tactic_cpp()` so that it is usable externally via a new
function ``mk_install_tactic_cpp_internal()`` which is called by a
new ``mk_install_tactic_cpp.py`` script. This will allow other build systems to
generate the ``install_tactic.cpp`` files.
2016-03-04 15:22:00 +00:00
Dan Liew ef58179462 Refactor `mk_pat_db()` so that it is usable externally via a new function
``mk_pat_db_internal()`` which is called by a new ``mk_pat_db.py`` script. This
will allow other build systems to generate the ``database.h`` file.
2016-03-04 15:22:00 +00:00
Dan Liew 9558dc14fb Refactor `exec_pyg_scripts()` so that it is usable externally
via a new ``pyg2hpp.py`` script. This will allow other build systems to
take ``pyg`` files and generate the corresponding ``hpp`` files.
2016-03-04 15:22:00 +00:00
Christoph M. Wintersteiger b27977ea90 Merge branch 'master' of https://github.com/Z3Prover/z3 into new-ml-api 2016-03-02 15:14:12 +00:00
Christoph M. Wintersteiger 4fe4db6657 build fix for static libray on Windows 2016-03-01 17:34:45 +00:00
Nikolaj Bjorner 4cf72e23e6 fix python 3 compat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-27 09:58:45 -08:00
Nikolaj Bjorner ce8862d415 fix bug in conflict clause generation in seq-branch-variable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-26 18:15:45 -08:00
Christoph M. Wintersteiger 0930cfc53f ML API build fixes for cygwin 2016-02-15 15:44:46 +00:00
Christoph M. Wintersteiger b99fcb9c8a More new OCaml API 2016-02-14 19:56:22 +00:00