with-layout=gnu 选项有什么作用?

with-layout=gnu 选项有什么作用?

我正在编译 PHP 5.3.6,我用作参考的编译配置命令使用了 --with-layout=GNU 选项。我做了一些研究,但似乎找不到详细的答案。有人能详细向我解释一下这个选项以及为什么要使用它吗?谢谢!

答案1

回答此问题时 PHP configure.in 的最新版本--with-layout定义为:

PHP_ARG_WITH(layout, layout of installed files,
[  --with-layout=TYPE      Set how installed files will be laid out.  Type can
                          be either PHP or GNU [PHP]], PHP, no)

case $PHP_LAYOUT in
  GNU)
    oldstyleextdir=no
    ;;
  *)
    oldstyleextdir=yes
    ;;
esac

因此,如果您选择GNU,它会设置oldstyleextdir=no,否则yes。这帮助我找到这封邮件是 2005 年 12 月发给 php-dev 的,其中部分内容如下:

话虽如此,旧风格是:

$libdir/extensions/$extbasedir

而新风格[GNU]是:

$libdir/$extbasedir

本质上,此选项决定了扩展目录 ( ) 的位置EXTENSION_DIR。不幸的是,正如该邮件的作者所指出的,关于为什么该选项已实施 - 即使在提交日志条目– 尽管我猜测这是为了让 PHP 与其他“GNU/Linux”标准保持一致。

答案2

@fission 的回答需要更新,但由于网站志愿者和所有者之间的僵局,目前无法编辑。

对于当前configure.ac,请参阅https://github.com/php/php-src/blob/d65251e6e863684f8fc7ddc9c0fba7cf53483f7f/configure.ac#L926

PHP/GNU 样式的选择不仅仅影响扩展目录。PHP 样式还将手册页放在php/而不是 下share/,从而打破了manpath实用程序的搜索路径

相关内容