2010-01-20 41 views
1

编写PHP扩展的标准方式是使用autoconf/automake以及名为phpize的脚本,该脚本似乎基于特定于您的PHP环境的模板生成autoconf配置。这让它为适当版本的PHP构建PHP扩展等。您可以使用scons来构建PHP扩展吗?

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

原则上,您应该可以使用scons或类似的工具来构建PHP扩展。但是,我不明白你会如何取代phpize步骤。

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

回答

0

阻力最小的路径将有SCons的运行autoconf的,phpize,并需要为您的任何其他PHP扩展。你可能能够从那里提取编译器配置,让SCons执行实际的构建,或者你可以简单地让SCons运行“make”。

从SCons声明shell命令目标很容易,但正确地获得依赖关系总是很棘手。

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

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

虽然我不认为有人为PHP编写了特定的解决方案,但SCons wiki上有许多自定义构建器可以做类似的事情。

0

phpize(1)只是一个shell脚本,所以我想你可以修改它与scons的工作...

+0

Phpize从用户环境复制m4代码的模板块。问题是,我不知道这个片段可能不同的环境特定方式,所以我不知道我需要从中提取哪些参数。 – 2010-01-21 19:12:35

+0

嗯,你好我不知道。我只是把它扔出去,因为我碰巧记得它是一个shell脚本。 – echo 2010-01-21 19:26:22

相关问题