代码之家  ›  专栏  ›  技术社区  ›  Sam Minnée

可以使用scons构建PHP扩展吗?

  •  1
  • Sam Minnée  · 技术社区  · 15 年前

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

    autoconf和用于配置它的M4语言是神秘的,人们可以编写备选方案,如scons。我希望在构建PHP扩展时能够使用其中一个。

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

    是否有人成功地用scons或其他更现代的构建工具构建了PHP扩展?

    2 回复  |  直到 15 年前
        1
  •  0
  •   BenG    15 年前

    阻力最小的路径是让scons运行autoconf、phpize以及您的php扩展所需的其他任何东西。您可以从中提取编译器配置,让scons完成实际的构建,或者让scons运行“make”。

    从scons声明shell命令目标很容易,但是正确地获取依赖项总是很困难的。

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

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

    虽然我不认为有人为PHP编写了特定的解决方案,但是在 SCons wiki 做类似的事情。

        2
  •  0
  •   echo    15 年前

    phpize(1) 只是一个shell脚本,所以我想您可以修改它来使用scons…