Vel*_*kan 5 google-chrome chromium webrtc ninja gn
如何添加类似的事情-O2或定制-DSOMETHING,使他们出现在 cflags与defines该* .ninja的文件?
重新编译这个:
https://webrtc.org/native-code/development/
它改变了构建系统。现在第一个构建步骤是:
gn gen out/Default --args='is_debug=false'
Run Code Online (Sandbox Code Playgroud)
建立在 Ubuntu 上,以自己为目标。
在哪里可以将它添加到 *.gn 或 *.gni 文件中?
不幸的是,没有从“args”到编译器调用的直接路径。由于 GN 支持多个并发工具链,因此不清楚您希望将其应用于哪一个,是否应应用于 C 编译器、C++ 编译器、链接器等。
这至少需要您的 GN“args”和您想要应用它的任何工具链之间进行一些协调。
因此,如果您的 BUILDCONFIG.gn 中有:
declare_args() {
cl_cflags = ""
}
Run Code Online (Sandbox Code Playgroud)
然后在工具链中你有:
toolchain("my_toolchain") {
tool("cc") {
...
command = "cc ... ${cl_cflags}"
}
}
Run Code Online (Sandbox Code Playgroud)
然后调用./gn gen out/Default --args='cl_cflags="-DFOO"'将发出 Ninja 文件,其中包含-DFOO添加到 C 编译器的每次调用中的 Ninja 文件。
请注意,您必须为每个工具链手动添加此功能,并且无法在一次性场景中将其关闭,因为 GN 并不“知道”它(它不是一个等config)。
| 归档时间: |
|
| 查看次数: |
470 次 |
| 最近记录: |