我添加了
shared_library
我的Chromium build中的GN目标。它具有中定义的扩展名
toolchain.gni
规则:
if (is_mac || is_ios) {
shlib_extension = ".dylib"
} else if (is_android && is_component_build) {
shlib_extension = ".cr.so"
} else if (is_posix) {
shlib_extension = ".so"
} else if (is_win) {
shlib_extension = ".dll"
} else {
assert(false, "Platform not supported")
}
if (is_posix) {
shlib_prefix = "lib"
} else {
shlib_prefix = ""
}
我想更改扩展名,因此需要覆盖
shlib_extension
变量,但仅适用于我的
shared\u库
目标如果我修改
工具链。国民总收入
它将影响所有使用
shlib\U扩展
变量
我不想使用
output_name
shared\u library属性,如我所见,使用
out_name="lib${target_name}.cr"
进行以下操作
v8.ninja
:
...
output_extension = .so
output_dir = .
solibs = ./libv8_libbase.cr.so
但如果有
shlib_ext=".cr.so"
进行以下操作
v8.ninja
:
...
output_extension = .cr.so
output_dir = .
solibs = ./libicui18n.cr.so ./libicuuc.cr.so ./libv8_libbase.cr.so
(这意味着
output\u名称
更改文件
名称
不
扩大
)
作为问题的逻辑延续,是否可以覆盖以下变量
is_debug
或
is_component_build
不在。gn文件,但仅用于目标/模板?
比如说我想建造
V8
就像
is_component_build=true
(并在
v8.gni
但rest代码采用默认或用户定义的变量值。