2017-01-23 56 views
0

我想在本地機器上建立最新的鉻(cef)。我已經成功地通過使用GN框架的automate-git.py來構建它。但是,我還需要爲特定目標(libcef)提供一些額外的鏈接器標誌。如何在通過GN構建鉻時爲特定目標提供自定義鏈接器標誌?

我相信這是通過args.gn文件中的更改來完成的,同時創建一個新的編譯目錄。但是,我無法獲得關於如何準確地向GN中的特定目標提供鏈接器標誌的文檔。

任何幫助,將不勝感激。

回答

0

關於鉻生成配置,可以參考以下鏈接:

  1. 構建指令(安卓) https://www.chromium.org/developers/how-tos/android-build-instructions

  2. GN構建系統的引導 https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/quick_start.md

  3. 關於鏈接標誌,你可以參考: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" ] 
    } 
    

    }

相關問題