mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Allow loading Z3 dynamically at runtime.
This commit is contained in:
@@ -21,12 +21,23 @@
|
||||
#include <libsolutil/CommonData.h>
|
||||
#include <libsolutil/CommonIO.h>
|
||||
|
||||
#include <z3_api.h>
|
||||
#ifdef HAVE_Z3_DLOPEN
|
||||
#include <libsmtutil/Z3Loader.h>
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
using namespace solidity::smtutil;
|
||||
using namespace solidity::util;
|
||||
|
||||
bool Z3Interface::available()
|
||||
{
|
||||
#ifdef HAVE_Z3_DLOPEN
|
||||
return Z3Loader::get().available();
|
||||
#else
|
||||
return true;
|
||||
#endif
|
||||
}
|
||||
|
||||
Z3Interface::Z3Interface(std::optional<unsigned> _queryTimeout):
|
||||
SolverInterface(_queryTimeout),
|
||||
m_solver(m_context)
|
||||
|
||||
Reference in New Issue
Block a user