zoukankan      html  css  js  c++  java
  • 自己動手編譯 Chromium

    自己動手編譯 Chromium

    這篇文章的環境是 Ubuntu 10.04 LTS 64 bit 版本(也就是我目前的桌面),在動手做之前請確定對 Linux 有基本的認識,因為在實作的過程中可能會發生某些突發狀況需要自己動手解決。

    目前 Chromium 原始碼的來源有兩種,一種是下載官方包好的 Source Code Tarball ,解壓縮之後編譯,另一種是從 SVN 版本控制系統取出再編譯。我偏好後者,雖然第一次取出比較慢,但之後可以隨時維持更新。
     
    要取出 Source Code 必須依靠 depot_tools ,可以從這邊下載 depot_tools.tar.gz,完成之後挑選一個目錄解壓縮,並且在 shell 宣告環境變數(例如加到你的 .profile 檔或是 .bashrc 檔,以下這個寫法是假定 depot_tools 解壓縮在自己的家目錄下。):

    1# for google chrome
    2export PATH=`pwd`/depot_tools:"$PATH"

    另外要檢查一下是否有宣告 PKG_CONFIG_PATH ,如果沒有的話,找出 pkgconfig 的路徑,並且宣告。

    1export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

    這樣就可以執行 depot_tools 了,以上算是前置作業,接著是環境的檢查,看看有什麼沒裝的,都裝一下 (for Ubuntu)。

    1sudo apt-get install bison fakeroot flex g++ g++-multilib gperf \
    2  libapache2-mod-php5 libasound2-dev libbz2-dev libcairo2-dev \
    3  libdbus-glib-1-dev libgconf2-dev libgl1-mesa-dev libglu1-mesa-dev \
    4  libglib2.0-dev libgtk2.0-dev libjpeg62-dev libnspr4-dev libnss3-dev \
    5  libpam0g-dev libsqlite3-dev libxslt1-dev libxss-dev \
    6  mesa-common-dev msttcorefonts patch perl pkg-config python \
    7  python2.5-dev rpm subversion libcupsys2-dev libgnome-keyring-dev

    接下來建立一個目錄給 chromium ,例如: /home/roga/chromium 就是個不錯的選擇。以下用 $chromium 代表 chromium 所在的目錄,然後建立 config 檔案:

    執行完畢之後,目錄下會產生一個 .gclient 檔,請編輯這個檔案,然後加上以下敘述,目的是讓取出的過程中忽略 test case (要不然會額外花費很多時間)。


    solutions = [
    { "name" : "src",
    "url" : "http://src.chromium.org/svn/trunk/src",
    "custom_deps" : {
    },
    "safesync_url": "",
    "custom_deps" : {
    "src/third_party/WebKit/LayoutTests": None,
    }
    },
    ]

    接著就可以開始取出原始碼了,這個步驟要花掉不少時間,可以先去喝個飲料散個步:

    1cd $chromium
    2gclient sync

    如果跑到一半有任何錯誤的話,請執行剛剛抓下來的 $chromium/build/install-build-deps.sh 這隻程式,會幫你檢查系統套件的相依性,補足不夠的地方,接著重新執行 gclient sync 應該就會成功了。完成之後,在 $chromium 的目錄下應該開始編譯了。

    1cd $CHROMIUM_ROOT/src
    2make -j5 chrome

    邊完之後,在 $CHROMIUM_ROOT/out 可以看到 binary 檔,直接執行即可。另外可以做一些設定,例如安裝 ccache 增加編譯速度等等,以及 BUILDTYPE (預設是 Debug, 如果改成 Release 則會 optimized 不過編譯時間會增加不少)..等等 ,留待下次討論。最後附上一個有用的連結,可以用 Eclipse 開發 Chromium:Using eclipse as an IDE for developing chromium.

  • 相关阅读:
    vue 子页面,向父页面 传值...
    pre 标签 防止 其撑开 div...
    Vue 父页面 值传递 不到 子组件....
    Mysql tips 功能...
    mysql 配置utf8 编码,支持 emoji 方法!!!
    DataGrip 使用--方法-..../
    百度地图 api bug 解决.......
    民生银行信用卡销卡指南
    古董留念
    Microsoft Office 2010 Service Pack 2 发布更新
  • 原文地址:https://www.cnblogs.com/lexus/p/2338537.html
Copyright © 2011-2022 走看看