我想在本地機器上建立最新的鉻(cef)。我已經成功地通過使用GN框架的automate-git.py來構建它。但是,我還需要爲特定目標(libcef)提供一些額外的鏈接器標誌。如何在通過GN構建鉻時爲特定目標提供自定義鏈接器標誌?
我相信這是通過args.gn文件中的更改來完成的,同時創建一個新的編譯目錄。但是,我無法獲得關於如何準確地向GN中的特定目標提供鏈接器標誌的文檔。
任何幫助,將不勝感激。
我想在本地機器上建立最新的鉻(cef)。我已經成功地通過使用GN框架的automate-git.py來構建它。但是,我還需要爲特定目標(libcef)提供一些額外的鏈接器標誌。如何在通過GN構建鉻時爲特定目標提供自定義鏈接器標誌?
我相信這是通過args.gn文件中的更改來完成的,同時創建一個新的編譯目錄。但是,我無法獲得關於如何準確地向GN中的特定目標提供鏈接器標誌的文檔。
任何幫助,將不勝感激。
關於鉻生成配置,可以參考以下鏈接:
構建指令(安卓) https://www.chromium.org/developers/how-tos/android-build-instructions
GN構建系統的引導 https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/quick_start.md
關於鏈接標誌,你可以參考:ldflags https://codereview.chromium.org/1887303003/diff/20001/build/config/compiler/BUILD.gn
ldflags += [
"-fPIC",
"-Wl,-z,noexecstack",
"-Wl,-z,now",
"-Wl,-z,relro",
]
if (!using_sanitizer) {
if (!use_cfi_diag) {
ldflags += [ "-Wl,-z,defs" ]
}
# Functions interposed by the sanitizers can make ld think
# that some libraries aren't needed when they actually are,
# http://crbug.com/234010. As workaround, disable --as-needed.
if (!is_nacl && !is_android) {
# TODO(pcc): Fix linker bug which requires us to link pthread
# unconditionally here (crbug.com/623236).
ldflags += [
"-Wl,--no-as-needed",
"-lpthread",
]
}
ldflags += [ "-Wl,--as-needed" ]
}
}