配置参数¶
2010 年 2 月之后,Haiku 的编译“配置”有了几个有趣的参数。在命令行中运行 “configure –help” 将会显示它们的简介介绍。下面,我们将会对它们进行讨论,并作为输出文本使用的补充。
–build-cross-tools <build tools dir>
编译用于 x86-gcc2 的构建工具。由于 x86 平台是唯一一个 BeOS R5 二进制兼容的平台,因此其他目标平台不需要使用 gcc2 进行构建。如果您需要保持与 BeOS 的二进制兼容性,那么唯一的选择就是 x86-gcc2。关于 <build tools dir> 的说明。
–build-cross-tools-gcc4 <arch> <build tools dir>
编译 gcc4 构建工具。可以用于以下平台 <arch>[x86|ppc|arm|m68k|mips]。关于 <build tools dir> 的说明。
–alternative-gcc-output-dir <dir>
当构建 x86 平台的混合镜像时,该选项是必须的。如上所述,gcc2 仅可用于 x86 平台。参阅 GCC Hybirds 获取更多信息。
–cross-tools-prefix <prefix>
指出构建工具的预构建二进制库。该选项可以用在先前配置已经编译的 cross-tools 之后,如 –build-cross-tools* ... ; jam -q ....
–distro-compatibility <level>
指定发行版与 Haiku 官方发行版的兼容级别。生成文件会包含相应的商标。目前支持级别有:
- official – Haiku 官方发行版。
- compatible – Haiku 兼容发行版。
- default – 所有其他发行版(默认值)。
–include-gpl-addons
默认情况下,Haiku 不包含 GPL 协议下的程序。
–include-3rdparty
备注:IMKit已经由 Caya 替代,InfoPopper 已经集成为 Haiku 的通知服务组件。
某些程序,如 IMKit 和 InfoPopper 能够和 Haiku 同时进行构建。该选项可以启用构建 HAIKU_TOP/3rdparty 中的所有软件,并且假定软件自身可以被支持。
–include-partented-code
在源代码中查询 HAIKU_INCLUDE_PATENTED_CODE,查看哪个代码受该设置所影响。
–enable-multiuser
启用实验性质的多用户支持。由于R1并没有多用户功能,因此该选项的使用非常有限。
–target=TARGET
起初,Haiku 的开发是以取代 BeOS 中各个组件的形式进行的。该选项允许 Haiku 的基础核心与用户程序并行开发。现在,构建 Haiku 作为 BeOS 的二进制取代已经失去了它的优势。但是我们非常欢迎提交用于增强修复该功能的代码补丁。
–use-gcc-pipe
这是一个非常有用的选项。它指导构建系统通过系统管道传递一些信息,而不是把任何内容都写入临时文件。这样,构建系统将利用额外的内存,并且缩短构建Haiku所需的时间。
–use-32bit
遗留应用:当从 64 位主机交叉编译时,需要使用该选项,它将会传递 “-m32” 到编译器。
备注:从 r34211 开始,配置脚本将会自动识别和支持在 64 位主机进行构建。
–use-xattr
通过使用 xattrs ,启用在其他文件系统上模拟 BFS 属性的功能。当使用 linux 或者 BSD 发行版作为开发环境时,它们的一些文件系统可能支持该选项的使用。但还有些限制条件:(Linux)内核必须重新编译以支持 xattr,文件系统本身必须支持 xattr,文件系统的实现必须要合适。获取更多信息,请查阅配置选项:–use–xattr。
–update
在 34867 变更集 中,在先前的执行中,使用该选项重新运行配置的功能已经实现。
-j<n>
该选项允许 cross-tools 同详细任务一起构建。目前,只有在构建 GCC 4.x cross-tools 时,它才唯一可用。查阅 Haiku-development 邮件列表 获取更多信息。
配置示例¶
下面是不同使用事例的一些运行示例。
它们没有显示高级选项的用法,如: “–use-gcc-pipe”, “–use-xattr”, 或者 “–include-gpl-addons”。
从 Haiku 构建同样的 GCC:
./configure
从 BeOS 或者 Zeta 进行构建
./configure --cross-tools-prefix /boot/apps/haiku/cross-tools/bin/i586-pc-haiku-
从 Linux/BSD/... 构建 GCC 2.95 binutils (仅用于x86平台)
./configure --build-cross-tools ../buildtools/
从 Linux/BSD/... 构建 x86 平台的 GCC 4.x binutils
./configure --build-cross-tools-gcc4 x86 ../buildtools/
指向最近编译的 buildtools
./configure --cross-tools-prefix cross-tools/bin/i586-pc-haiku-
从 64 位 Linux 发行版构建 GCC 2.95
linux32 ./configure --use-32bit --build-cross-tools ../buildtools/
构建x86平台的 GCC Hybrids
请查阅
/guides/GCC混合
获取详细信息。从 Linux/BSD/... 构建用于PPC的 GCC 4.x binutils
./configure --build-cross-tools-gcc4 ppc ../buildtools/
注意事项¶
<build tools dir>
该选项指的是包含构建工具源代码的目录。它通常是一个相对于您运行 configure 所处位置的路径。通常是 “../buildtools”。