mazilla mozilla
はじめに
モジラとは
当ページの主旨
モジラの特徴
モジラ概観
モジュール
Webツール
モジラの技術
その他のリソース
モジラのビルド
ビルド環境の構築
ソースのチェックアウト
ビルド手順
ビルド後のイメージ
モジラを実行
エンベッディング
エンベッディングとは
エンベッディングの概念
PPBrowserの構造
PPBrowserの解析
エンベッディングの構造
marbrowの構造
marbrowの解析
フィジラ
フィジラとは
フィジラのビルド
フィジラのエンベッディング
FAQ
やつぎ氏との会話

モジラのビルド

モジラをビルドしよう!


エンベッディングを試みる前に、まずは、モジラのソース全体をダウンロードし、そのままビルドすることが必須です。

モジラはその機能ごとに、各モジュールに分割されてはいますが、それらの動作は各モジュール間の相互作用による為、実質上かなり多くのモジュールが必要となります。

ことエンベッディングに関しては、ほとんどのモジュールが必要です。(なんとか切り離せるのは、editorとmailnewsくらいでしょうか…)

と言うわけで、モジラをいかなる用途に使用するにしても、まずモジラ本体のビルドが先決です。

現在 (2001.01.21)、モジラMacintoshのビルド全体を、Carbonビルドに移行しようという提案がなされています。その方法は、ビルドプロジェクトをXMLエキスポートとして管理し、CodeWarrior 5.0 でも 6.0 でも、ビルドできる方法になりそうです。これが施行されれば、以下に示すビルド方法は大きく変わるでしょう。


◆ ビルド環境の構築 ◆

"モジラソースのダウンロード" & "モジラのビルド" に必要なツール類が多数あります。

"モジラソースのダウンロード" は、これがCVSにより管理されている為、正確には、"モジラソースのチェックアウト" と呼びます。

Macintoshでは、このチェックアウト&ビルドは、Perlスクリプトで記述されており、バッチ式に処理されます。

このチェックアウト&ビルドの過程は、相互に絡み合っている為、まずはこれらに使用するツール類をダウンロード&インストールして、チェックアウト&ビルドの為の環境を構築するところから始めます。

必要なツール類には以下のようなものがあります。

■ CodeWarrior Pro 5

ビルド用のコンパイラリンカとして、Metrowerks CodeWarrior Pro 5 を使用します。モジラビルドツールの中で、唯一これだけは購入する必要があります。

■ Codewarrior Pro 5.3 updates [#]

CodeWarrior Pro 5.3 updateをダウンロードしインストールします。MacOSプリコンパイルドヘッダー、ランタイムライブラリ、MSLライブラリをリビルドします。IDEのメモリアロケーションを24 MBtyeに変更します。

■ CodeWarrior Plugin SDK [#]

Mac OS Supportフォルダにインストールします。ビルド過程で、xpidlコンパイラをCW Pluginとしてビルドするので、これが必要になります。

■ Universal Interfaces 3.3.2 [#]

Carbonへの移行を容易にする為、Appleのシステムヘッダー3.3.2を使用します。ディスクイメージファイルをダウンロードし、DiskCopyでこれをマウントし、UniversalフォルダをCodeWarriorのMac OS Supportフォルダにコピーしてください。OpenTransportフォルダの名前を、(OpenTransport)にリネームしてください。

■ Menu Sharing Toolkit 1.4 [#]

メニューをモジラのメニューバーに追加する為に使用されます。ダウンロードして解凍し、Menu Sharing Toolkit 4.1フォルダをCodeWarriorのMac OS Supportフォルダにコピーしてください。

■ ToolServer [#]

CodeWarrior MPWをインストール済みなら、既にMPWフォルダにインストールされています。未インストールならばインストールしてください。ビルド過程で、MakeStubが使用します。

■ MacPerl distribution [#]

ダウンロードして解凍しインストールしてください。MacPerlのメモリパーティションサイズを16 MByteにしてください。Preferences...のScriptでRun Scripts opened from Finderをチェックして、パールスクリプトがダブルクリックで起動できるように設定した方がよいでしょう。

■ cpan-mac distribution [#](現在はv0.50です)

新しいパールモジュールのインストールを簡単にする為のツールです。ダウンロードして解凍してください。site_perlというフォルダをMacPerlアプリケーションフォルダ内に作成してください。preferencesのLibrariesで、ライブラリパスにこのsite_perlフォルダを追加してください。cpan-mac distributionの中のINSTALL.plxを起動して、インストールしてください。dropletsをインストールするか問い合わせてきたら、Yesを選択してください。

■ Perl AppleEvents module [#](現在はv1.01です)
■ Perl Launch module [#]
■ Compress:Zlib module [#](現在はここにあります)
■ Archive::Zip module [#](現在はv0.11です)

これらは全て追加のパールモジュールです。全てインストール手順は同じで、ダウンロードしたtar-gzファイルを、installme.plx上にドロップしてください。

■ MacCVS Pro 2.5b2 [#]

CVSでのチェックアウトに使用するCVSクライアントです。詳しくはソースのチェックアウトを参照。

モジラソースのチェックアウトの為のセッションファイルの例はここからダウンロードできます。

各ツールの入手方法とインストール方法に関して、さらに詳しくは、


◆ ソースのチェックアウト ◆

CVSについて

モジラのソースは、CVSで管理されています。

CVS (Concurrent Versions System)は、簡単に言うと、ソースやリソースの年代管理機能と、複数の人々でのプログラムの共同開発の支援機能とを合わせ持ったツールです。

モジラオルグのサーバー上に、モジラソースの実体(リポジトリと言います)があり、各自のマシンにはCVSクライアントプログラムにより、そのコピー(ワーキングコピーと言います)を取得します。このワーキングコピーを取得する行為を、CVS用語では、チェックアウトと言います。逆に、ワーキングコピーに対して行った修正をリポジトリにアップする行為を、CVS用語では、チェックインまたはコミットと言います。

モジラソースをダウンロードするには、このCVSクライアントプログラムを使って、チェックアウトする必要があります。

【参考】
実は、tarball(tar-gzで圧縮されたソース一式のボール)というものもあり、これをftpで一気にダウンロードして使用する方法もあるのですが、Macintoshに関する限り、この方法は使えません。tarballでは、リソースフォークのデータが、うまく復元できないのです。Macintoshでは、必ずCVSにより、ソースをチェックアウトする必要があります。

モジラMacintoshで最もよく使用されているCVSクライアントは、MacCVS Proです。(最新版、MacCVS Pro 2.5b2 )

チェックアウトの手順

ビルドスクリプトには、旧バージョンと新バージョンがあります。

  • 旧バージョン - mozilla/build/mac/*
  • 新バージョン - mozilla/build/mac/build_scripts/*

旧バージョンでの手順

  1. モジラ用のMacCVS Proのセッションファイルをダブルクリックして開きます。Action/Check Out Default Moduleで、最新のビルドスクリプトをチェックアウトします。
  2. mozilla/build/mac/PullNGlayout.plをMacPerlで起動して、ソース全体をチェックアウトします。

新バージョンでの手順

  1. モジラ用のMacCVS Proのセッションファイルをダブルクリックして開きます。Action/Check Out Default Moduleで、最新のビルドスクリプトをチェックアウトします。
  2. mozilla/build/mac/build_scripts/PullMozilla.plをMacPerlで起動して、ソース全体をチェックアウトします。

CVS、MacCVS Pro に関して、さらに詳しくは、


◆ ビルド手順 ◆

ビルドの手順

旧バージョンでの手順

  1. デバッグビルドならmozilla/build/mac/BuildNGLayoutDebug.plを、リリースビルドならmozilla/build/mac/BuildNGLayout.plを、MacPerlで起動します。

新バージョンでの手順

  1. デバッグビルドならmozilla/build/mac/build_scripts/BuildMozillaDebug.plを、リリースビルドならmozilla/build/mac/build_scripts/BuildMozilla.plを、MacPerlで起動します。

ビルドの制御

旧バージョン、新バージョンともに、ビルドの過程を制御する方法があります。

特に新バージョンのBuildMozilla(Debug).plでは、デフォルトでPullMozilla.plを起動し、ビルド前に最新ソースをチェックアウトするので、リリース/デバッグビルドを全く同じソースから行ないたい場合など、ビルド過程の制御は必須でしょう。

また、旧バージョン、新バージョンともに、リリース/デバッグビルドスクリプトは、デフォルトでは mozilla/dist/* の内容を全て破棄(CLOBBER)するので、デバッグビルド後にリリースビルドを行ないたいが、デバッグビルドの結果も取っておきたい(大抵そうだと思いますが)場合などにも、やはりビルド過程の制御が必要になります。

旧バージョンでビルド過程を制御する時は、BuildNGLayout(Debug).plファイルの頭の方にある設定を直接エディットします。

新バージョンでのビルド過程は、システムフォルダ/初期設定/Mozilla opt build prefsと、システムフォルダ/初期設定/Mozilla debug build prefsにより制御されます。

以下に私が使用しているMozilla debug build prefsMozilla opt build prefsを示します。

【Mozilla debug build prefs】

# You can use this file to customize the Mozilla build system.
# The following kinds of lines are allowable:
# Comment lines, which start with a '#' in the first column
# Lines which modify the default build settings. For the list of flags,
# see MozBuildFlags.pm. Examples are:
#
# build pull 0 # don't pull
# options mng 1 # turn mng on
#
# Line containing the special 'buildfrom' flag, which specifies
# where to start the build. Example:
#
# buildfrom nglayout # where to start the build
#
# Lines which specify the location of the files used to store paths
# to the CodeWarrior IDE, and the MacCVS Pro session file. Note quoting
# of paths containing whitespace. Examples:
#
# filepath idepath ::codewarrior.txt
# filepath sessionpath ":Some folder:MacCVS session path.txt"
#
# Lines which modify the build settings like #main::DEBUG.
# Any lines which do not match either of the above are assumed
# to set variables on $main::. Examples:
#
# CARBON 1
# MOZILLA_OFFICIAL 1
#
build pull 0
CLOBBER_LIBS 0
CLOBBER_DIST_ALL 0
CLOBBER_DIST_LIBS 0
CLOBBER_IDL_PROJECTS 0
#CARBON 1
#buildfrom nglayout
#options svg 1
#options mathml 1
#options transformiix 1

【Mozilla opt build prefs】

# You can use this file to customize the Mozilla build system.
# The following kinds of lines are allowable:
# Comment lines, which start with a '#' in the first column
# Lines which modify the default build settings. For the list of flags,
# see MozBuildFlags.pm. Examples are:
#
# build pull 0 # don't pull
# options mng 1 # turn mng on
#
# Line containing the special 'buildfrom' flag, which specifies
# where to start the build. Example:
#
# buildfrom nglayout # where to start the build
#
# Lines which specify the location of the files used to store paths
# to the CodeWarrior IDE, and the MacCVS Pro session file. Note quoting
# of paths containing whitespace. Examples:
#
# filepath idepath ::codewarrior.txt
# filepath sessionpath ":Some folder:MacCVS session path.txt"
#
# Lines which modify the build settings like #main::DEBUG.
# Any lines which do not match either of the above are assumed
# to set variables on $main::. Examples:
#
# CARBON 1
# MOZILLA_OFFICIAL 1
#
build pull 0
CLOBBER_LIBS 0
CLOBBER_DIST_ALL 0
CLOBBER_DIST_LIBS 0
CLOBBER_IDL_PROJECTS 0
#CARBON 1
#buildfrom runtime
#RUNTIME 1
#options svg 1
#options mathml 1
#options transformiix 1


◆ ビルド後のイメージ ◆

モジラ本体をビルドすると、mozilla/dist/ というディレクトリが作成され、種々のビルド結果がそこに集められます。

このmozilla/dist/ ディレクトリの内容は、大きく分けて、

  • モジラのビルドに必要な資源
  • モジラの実行に必要な資源

の2つに大別されます。

"モジラのビルドに必要な資源" とは、主にヘッダーファイルなどで、各モジュールが自分自身を使用してもらう為にExport (Manifest)するファイル群です。dist/ 直下にある各モジュール名と同名のディレクトリ以下にあります。

"モジラの実行に必要な資源" とは、実行形式ファイルやShlb、それらが使用するリソースなどで、いわゆるモジラの実行環境です。dist/viewser/dist/viewser_debug/ 以下にあたります。

【mozilla/dist/】

mozilla/
└dist/
 ├dom/ - domのManifestファイル
 ├editor/ - editorのManifestファイル
 ├embedding/ - embeddingのManifestファイル
 │ .
 │ .
 ├viewer - Release用実行環境
 │├Mozilla - モジラの実行形式
 │├viewer.app - viewser(単純なブラウザのテストプログラム)の実行形式
 ││
 │├Chrome/ - クロームファイル
 │├Components/ - コンポーネントShlb
 │├Defaults/ - デフォルトファイル
 │├Essential Files/ - 必須Shlb
 │├Plug-ins/ - プラグイン
 │└res/ - リソース
 │
 ├viewer_debug - Debug用実行環境
 │├MozillaDebug - モジラの実行形式
 │├viewerDebug.app - viewser(単純なブラウザのテストプログラム)の実行形式
 ││
 │├Chrome/ - クロームファイル
 │├Components/ - コンポーネントShlb
 │├Defaults/ - デフォルトファイル
 │├Essential Files/ - 必須Shlb
 │├Plug-ins/ - プラグイン
 │└res/ - リソース
 │ .
 │ .
 ├widget/ - widgetのManifestファイル
 └xpfe/ - xpfeのManifestファイル

dist/viewser/dist/viewser_debug/ 以下の構造は、

直下に実行形式ファイル。
Mozilla (モジラ本体の実行形式)、viewer.app (単純なブラウザのテストプログラム)。
PPBrowserの実行形式なども、ビルドするとここに作成されます。

dist/Essential Files/、dist/Components/ に、Shlb。
それぞれモジラに必須のもの、オプション的なものに分けて格納されます。

dist/Chrome/ に、クロームファイル。
モジラのクロームを定義するファイルで、XUL、CSS、DTD、JS、RDF、などのファイルが、定められたディレクトリ構造に従って格納されます。最近では、これらが幾つかの単位ごとにJarファイル化されています。

などです。

また、mozilla/dist/ ディレクトリ以下のファイルの多くは、実際のファイルそのものではなく、mozilla/ ディレクトリ以下の各モジュールディレクトリ以下に生成されたファイルへのエイリアスです。


◆ モジラを実行 ◆

さあ、お疲れさまでした。ビルドが済んだなら、モジラを早速実行してみましょう。

モジラの実行形式は、

  • mozilla/dist/viewer/Mozilla (リリースビルド)
  • mozilla/dist/viewer/MozillaDebug (デバッグビルド)

です。


c_o_n_t_a_c_t
Copyright (C) 2000-2002 Symphony, Inc. All Rights Reserved.
English