你能用scons来构建PHP扩展吗?

时间:2010-01-20 08:43:37

标签: php scons

编写PHP扩展的标准方法是使用autoconf / automake和名为phpize的脚本,它似乎根据特定于PHP环境的模板生成autoconf配置。这让我们为正确版本的PHP等构建PHP扩展。

autoconf和用于配置它的m4语言是神秘的,人们已经编写了替代方案,例如scons。我希望能够在构建PHP扩展时使用其中一种。

原则上,您应该能够使用scons或类似工具来构建PHP扩展。但是,我看不出你将如何替换phpize步骤。

有没有人在使用scons或其他更现代的构建工具构建PHP扩展方面取得任何成功?

2 个答案:

答案 0 :(得分:0)

phpize(1)只是一个shell脚本,所以我猜你可以修改它以使用scons ...

答案 1 :(得分:0)

阻力最小的路径是让SCons运行autoconf,phpize以及PHP扩展所需的任何其他内容。您可以从中提取编译器配置并让SCons执行实际构建,或者您可以让SCons运行“make”。

从SCons声明shell命令目标很简单,但正确获取依赖关系总是很棘手。

基本上,您必须让SCons知道这些外部工具生成的任何中间文件。这样它不仅可以正确清理它们,而且还可以根据每个中间结果的内容签名(MD5校验和)缓存整个系列步骤。

正确的缓存将显着减少在代码库更改时实际需要调用这些外部工具的次数。

虽然我认为某人没有为PHP编写特定的解决方案,但SCons wiki上有很多自定义构建器可以执行类似的操作。