【问题标题】:Compile GN-based projects with modified compiler flags使用修改后的编译器标志编译基于 GN 的项目
【发布时间】:2021-08-31 03:55:16
【问题描述】:

V8 使用的构建系统并不简单。假设我希望将-save-temps 添加到构建标志以保留编译期间生成的所有中间文件。我将在哪里指定此信息?您是否在特定命令中指定它?是否必须添加到特殊的构建配置文件中?

【问题讨论】:

    标签: gn cflags


    【解决方案1】:

    (这个问题其实不是关于 V8,而是关于 GN build system。)

    GN 被有意设计为从文件中获取所有构建配置(您可以检查到 git/etc 以获得可重现的构建),而不是命令行标志和环境变量。所以任何额外的编译器标志也必须通过文件指定。具体来说,您可以编辑适用于相关编译单元的任何cflags = ...cflags += ... 定义。在 V8 的情况下,您可以例如将您的标志添加到 cflags = [] 初始化 here,或者您可以在 build/config/compiler/BUILD.gn 中进行类似的更改,这也会影响任何依赖项。

    【讨论】:

    • 有更简单的方法吗?也许是 GN 方法中的一种,旨在提供我所寻求的功能,而无需编辑“核心”配置文件或脚本?
    • 我不认为有其他方法——正如我所说,通过文件指定构建配置是 GN 做出的有意选择。 (我也认为在 1 个文件中更改 1 行符合“简单”的条件。)
    猜你喜欢
    • 1970-01-01
    • 2017-09-10
    • 1970-01-01
    • 2013-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多