在没有python的posix系统上安装Z3?

时间:2012-11-30 09:22:43

标签: z3

是否可以在没有安装python的情况下在提供posix API的系统上运行Z3?

我已经看到新版本4.3已经在构建过程中使用了python(scripts / mk_make.py)。 关于像4.1这样的旧版本怎么样?是否可以想象它在没有python的情况下在posix上运行?

1 个答案:

答案 0 :(得分:2)

您的系统中没有Python?

Python总是用于自动生成Z3代码库的某些部分。在第一个源代码版本中,我们已经包含了自动生成的代码。实际上,当时我们使用python + sed + awk + ​​grep的组合来生成代码的这些部分。第一个版本的另一个问题是Windows(+ Visual Studio)的构建系统与其他平台的构建系统完全不同。 Makefile for Linux和OSX源自Visual Studio Project文件。一些用户也开始报告Linux和OSX的构建系统的问题。因此,为了减少这些问题并建立统一的构建系统,我们决定使用python(和python):

  • 自动生成代码(用于不同语言的绑定,API日志记录支持等)
  • 检查系统是否符合要求
  • 生成Makefile
  • 以及任何其他形式的自动化

Python对我们非常有吸引力,因为它适用于大多数系统(甚至非符合posix的系统)。我们可以轻松编写可移植脚本。而且,在我们进行切换之后,我们可以在更多平台上编译Z3。我们在Windows,Linux(Mint,Ubuntu,Suse等),OSX,Cygwin和FreeBSD上成功编译了它。 在“不稳定”(又称正在进行中)分支中,我们甚至不再需要autoconf,我们使用python来执行所有特定于系统的配置。要构建Z3,我们只需要:python,C ++编译器(Visual Studio C ++,g ++或clang ++),ar(在非windows平台上),make(或nmake)。这是一套很小的要求。默认情况下,Python在大多数平台上都可用。

话虽如此,是否有可能删除python要求?是的,它是,但它必须用其他东西替换python。某些东西,这将允许我们执行上述所有任务。请查看http://z3.codeplex.com/SourceControl/changeset/view/0c1f2a82818a处的scripts目录, 我们必须将所有这些自动化脚本移植到可以在我们支持的所有平台上使用的东西。