FLAG-O-MATIC.ECLASS

章节: eclass-manpages (5)
更新: 2024年11月
索引 返回主目录

名称

flag-o-matic.eclass - 用于操作和查询工具链标志的通用函数

描述

此 eclass 包含一套函数,可帮助开发人员在构建中合理且安全地管理工具链标志。

支持的 EAPI

7 8

函数

all-flag-vars
返回我们高级函数操作的所有标志变量。
filter-flags <flags>
从 {C,CPP,CXX,CCAS,F,FC,LD}FLAGS 中移除特定的 <flags>。接受 shell 通配符。
filter-lfs-flags
移除启用大文件支持的标志。
filter-lto
移除启用 LTO 及其依赖标志的标志。
filter-ldflags <flags>
从 LDFLAGS 中移除特定的 <flags>。接受 shell 通配符。
append-cppflags <flags>
向当前 CPPFLAGS 添加额外的 <flags>。
append-cflags <flags>
向当前 CFLAGS 添加额外的 <flags>。如果标志可能在不同的编译器(或版本)中不受支持,则使用 test-flags-CC,如下所示
append-cflags $(test-flags-CC -funky-flag)
append-cxxflags <flags>
向当前 CXXFLAGS 添加额外的 <flags>。如果标志可能在不同的编译器(或版本)中不受支持,则使用 test-flags-CXX,如下所示
append-cxxflags $(test-flags-CXX -funky-flag)
append-fflags <flags>
向当前 {F,FC}FLAGS 添加额外的 <flags>。如果标志可能在不同的编译器(或版本)中不受支持,则使用 test-flags-F77,如下所示
append-fflags $(test-flags-F77 -funky-flag)
append-lfs-flags
添加启用大文件支持的标志。
append-ldflags <flags>
向当前 LDFLAGS 添加额外的 <flags>。
append-flags <flags>
向当前 {C,CXX,F,FC}FLAGS 添加额外的 <flags>。
replace-flags <old> <new>
将 <old> 标志替换为 <new>。接受 <old> 的 shell 通配符。
replace-cpu-flags <old> <new>
将选择 <old> cpu 的 cpu 标志(如 -march/-mcpu/-mtune)替换为选择 <new> cpu 的标志。接受 <old> 的 shell 通配符。
is-flagq <flag>
如果 <flag> 在 {C,CXX,F,FC}FLAGS 中,则返回 shell true,否则返回 shell false。接受 shell 通配符。
is-flag <flag>
如果标志在 {C,CXX,F,FC}FLAGS 中设置,则回显“true”。接受 shell 通配符。
is-ldflagq <flag>
如果 <flag> 在 LDFLAGS 中,则返回 shell true,否则返回 shell false。接受 shell 通配符。
is-ldflag <flag>
如果标志在 LDFLAGS 中设置,则回显“true”。接受 shell 通配符。
filter-mfpmath <math types>
从 fpmath 标志中移除指定的数学类型。例如,如果用户有 -mfpmath=sse,386,运行 `filter-mfpmath sse` 将使用户保留 -mfpmath=386。
strip-flags
将 *FLAGS 中除已知良好/安全的标志之外的所有内容都剥离掉。这将运行所有由 all_flag_vars() 返回的标志。
test-flag-CC <flag>
如果 <flag> 受 C 编译器支持,则返回 shell true,否则返回 shell false。
test-flag-CXX <flag>
如果 <flag> 受 C++ 编译器支持,则返回 shell true,否则返回 shell false。
test-flag-F77 <flag>
如果 <flag> 受 Fortran 77 编译器支持,则返回 shell true,否则返回 shell false。
test-flag-FC <flag>
如果 <flag> 受 Fortran 90 编译器支持,则返回 shell true,否则返回 shell false。
test-flag-CCLD <flag>
如果 <flag> 受 C 编译器和链接器支持,则返回 shell true,否则返回 shell false。
test-flags-CC <flags>
如果 <flags> 受 C 编译器支持,则返回 shell true,否则返回 shell false。
test-flags-CXX <flags>
如果 <flags> 受 C++ 编译器支持,则返回 shell true,否则返回 shell false。
test-flags-F77 <flags>
如果 <flags> 受 Fortran 77 编译器支持,则返回 shell true,否则返回 shell false。
test-flags-FC <flags>
如果 <flags> 受 Fortran 90 编译器支持,则返回 shell true,否则返回 shell false。
test-flags-CCLD <flags>
如果 <flags> 受 C 编译器和默认链接器支持,则返回 shell true,否则返回 shell false。
test-flags <flags>
简写,希望对 C 和 C++ 编译器都有效,但它实际上只是因为 append-flags() 的反常行为而存在。
test_version_info <version>
如果当前 C 编译器版本与 <version> 匹配,则返回 shell true,否则返回 shell false。接受 shell 通配符。
strip-unsupported-flags
将 {C,CXX,F,FC}FLAGS 中任何不受活动工具链支持的标志都剥离掉。
get-flag <flag>
查找并回显特定标志的值。接受 shell 通配符。
replace-sparc64-flags
将 mcpu 设置为 v8,如果未指定,则使用原始值作为 mtune。
append-libs <libs>
向当前 LIBS 添加额外的 <libs>。所有参数都应以 -l 或 -L 为前缀。为了兼容性,如果参数未作为选项添加前缀,则会自动添加 -l 前缀。
raw-ldflags [flags]
将 C 样式的 ldflags (-Wl,-foo) 转换为直接的 ldflags - 结果适用于直接传递给 'ld';请注意,LDFLAGS 通常传递给 gcc,在那里它需要 '-Wl,'。

如果未指定任何标志,则默认为 ${LDFLAGS}。

no-as-needed
返回值:用于与 append-ldflags 一起使用的禁用 asneeded 行为的标志。
test-compile <language> <code>
尝试编译(并可能链接)给定的程序。第一个 <language> 参数对应于标准的 -x 编译器参数。如果程序还应尝试链接,则应将字符串“+ld”添加到 <language> 参数中。
append-atomic-flags
尝试检测附加 -latomic 是否有效,如果有效则执行。

维护者

[email protected]

报告 Bug

请通过 https://bugs.gentoo.org/ 报告 Bug

文件

flag-o-matic.eclass

参见

ebuild(5)
https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/flag-o-matic.eclass


索引

名称
描述
支持的 EAPI
函数
维护者
报告 Bug
文件
参见

本文件由 man2html 使用手册页创建。
时间: 2024年11月12日,格林威治标准时间03:27:01