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.

  • 相关阅读:
    POJ2778 DNA Sequence AC自动机上dp
    codeforces732F Tourist Reform 边双联通分量
    codeforces786B Legacy 线段树优化建图
    洛谷P3588 PUS 线段树优化建图
    codeforces1301D Time to Run 模拟
    codeforces1303B National Project 二分或直接计算
    codeforces1303C Perfect Keyboard 模拟或判断欧拉路
    codeforces1303D Fill The Bag 二进制应用+贪心
    python之路——使用python操作mysql数据库
    python之路——mysql索引原理
  • 原文地址:https://www.cnblogs.com/lexus/p/2338537.html
Copyright © 2011-2022 走看看