Mozilla Navigatorをビルドしてみる
(1998年4月8日版)
Last Modified: 3 May 1998
Netscape Navigator 5.0、通称、Mozilla(モジラ) Navigatorのソースコードをビルドができましたので紹介します。
やっとの思いでビルドしたあと、www.mozilla.com のサイトをみたらもう新しいのが出ていました。そこで、またまたビルドしてみることにしました。
私が行った環境は、Windows NT4.0で、MSVC5.0(いわゆる、Microsoft Visual Studio 5.0に同梱されている、Microsoft Visual C++ 5.0)、を使って行いました。
このページに書いてある情報は、1998年4月8日版をビルドしたものです。
一部間違いがありましたので訂正しました。(3 May 1998)
また、下の目次に間違いがあり、目次をつつくと、3月31日版に飛んでしまうという不具合がありました。(3 May 1998)
前提条件の確認
ダウンロードと解凍
ビルドの手順概要
環境変数の設定
ツールのビルド
私が経験したエラ-(1)
Mozilla本体のビルド
私が経験したエラ-(2)
ビルド中の様子や注意
- CPUは、133MHz以上のPentium以上
私は、PentiumPro の 200MHzで行いました。
- ディスクの空き容量: NTFSの場合、250MB、FATの場合、500MB
ZIPファイルが、17MB。解凍後は、59MBになりました。ビルドが終わると、241MBになっていました。
- メインメモリ: ビルドするためには、64MB以上。デバッグするなら、128MB必要
私は、128MBの環境で行いました。
- OSは、NT4.0またはNT3.51
運がよければWin95でもビルドできるかもしれないそうです。私は、NT4.0で行いました。
- MSVC(Microsoft Visual C++ 4.2または5.0)が必要
私は、MSVC5.0で行いました。ServicePack3 で更新したものです。
確認していませんが、VisualStudioのServicePack3 を充てておかないとうまくコンパイルできないそうです。
MSVC以外の、BorlandのCではできません。正確にいうと、ビルドするためには相当の知識と時間が必要です。
以下から、ダウンロードします。
http://www.mozilla.org/download.html
- Mozilla Navigator(WindowsNT用) : win_19980408.zip (17.3MB)
- Windows Build Tool : wintools.zip (0.7MB)
- Manual: winbuild.htm
の3つをダウンロードします。
wintools.zip は、NTで動作する、UNIXのコマンドです。以前は、同じファイルに同梱されていましたが、今回のバージョンからは分離されています。一度ダウンロードしておけば、新しいバージンでも使うことができます。
私は、wintools.zip を、
D:\mozilla_tools
win_19980408.zip を、
D:\mozilla_src
に解凍しました。
以降の説明は、これが前提になっています。
また、以下のビルドの方法を書いたファイルが、同じダウンロードページありますので、これもダウンロードしておくほうがいいと思います。当然ながら、私はこの内容をみて、ビルドしました。
- winbuild.htm
NTFSであれば、解凍後、D:\mozilla_src のディレクトリを圧縮しておくことをすすめます。ビルドの時間はあまり変わりませんし、なんといってもディスクの容量が半分ですみます。
解凍すると、約58MBありました。
ビルド(コンパイル&リンク)するのに、NTFSで、250MB。FATだと、500MBのハードディスクの空き容量が必要だそうです。
解凍後は、以下の手順で行います。
- まず、環境変数の設定をします。
慎重に、一つづつ設定します。ビルドの失敗の原因は、99%この環境変数の設定間違い、しかもスペル間違いなどのつまらない間違いによるものです。
- Mozlllaのツールのビルドを行います。
1分くらいで終了します。
- Mozillaのビルドを行います。
ns ディレクトリで、nmake を実行します。私の場合、1時間10分かかりました。
以上で終了です。以下、順次詳しく説明します。
普通、MSVCでビルドするには、Visual StudioというGUIを起動し、マウスで、メニューからコンパイル、ビルドを選択して、exeを作りますが、Mozillaを作る場合は、内部のコンパイラやリンカを直接使って行います。
Visual C++5.0 は、正しくインストールされていることが前提です。Visual C++5.0を、デフォルトでインストールしておれば、Visual C++5.0に対する設定は何も要りません。
「コントロールパネル」の「システム」を起動し、「環境」タグを選択し、以下の環境変数を設定します。
「コマンドプロンプト」を開いて、set MOZ_BITS=32 のように、設定しても構いませんが、ここの方法で行うと、永久に保存されますので、この方法をお勧めします。
下のほうの、「変数」とかかれたテキストボックスと、「値」と書かれたテキストボックスに、以下の変数と、値を入れます。
変数
値
コメント
MOZ_BITS 32 MOZ_DEBUG 1 デバッグ版を作るときだけですが、セットしておきましょう MOZ_GOLD 1 MOZ_MEDIUM 1 MOZ_NT 351 NT3.51のときだけセットします。つまり、NT4.0では設定しません。 MOZ_OUT D:\mozilla_src\bin 指定しない場合、D:\mozilla_src\ns\cmd\winfe\mkfiles32\x86dbg に作られます。
MOZ_DEBUGを設定しなかった場合、D:\mozilla_src\ns\cmd\winfe\mkfiles32\x86relに作られます。MOZ_SRC D:\mozilla_src ソースコードを解凍した場所。 MOZ_TOOLS D:\mozilla_tools\tools wintools.zipを解凍した場所に、toolsというディレクトリがあるので、そこを指定します。つまり、gmakeというexeを作るツールの場所を指定する。 NO_SECURITY 1 NSPR20 1 _MSC_VER 1100 MSVC++5.0以降でコンパイルする場合設定します。
そうでない場合設定しません。
私がソースを解凍した場所は、D:\mozilla_src で、OSは、WindowsNT4.0(SP3)、MSVC++5.0でコンパイルしましたので、上のように、黒い文字の変数だけ設定しました。つまり、NT4.0では、MOZ_NT は設定してはいけません。
以下が、環境変数の設定方法です。MOZ_BITS=32 を設定している画面です。
設定したら、一字一句、きちんと確認しましょう。余分なスペースが入っていないこともしかと確認しましょう。そうしないと、一文字の違いで、うまくビルドができなくて悩むことになります。
下のほうのリストボックスで確認します。
設定後、「OK」または「適用」ボタンを押した後、「コマンドプロンプト」からSETコマンドで、環境変数の確認もできます。
C:\mozilla_src> SET<return>
「コマンドプロンプト」(通称、「DOS窓」)を開きます。ここで、
- D:\mozilla_src\ns\config にディレクトリを移動して、
- nmake /f makefile.win を実行します。
以下が、実行の記録です。
D:\mozilla_src\ns\config>nmake /f makefile.win Microsoft (R) Program Maintenance Utility Version 1.62.7022 Copyright (C) Microsoft Corp 1988-1997. All rights reserved. Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86 Copyright (C) Microsoft Corp 1984-1997. All rights reserved. makecopy.c Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303 Copyright (C) Microsoft Corp 1992-1997. All rights reserved. /out:makecopy.exe makecopy.obj Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86 Copyright (C) Microsoft Corp 1984-1997. All rights reserved. mangle.c Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303 Copyright (C) Microsoft Corp 1992-1997. All rights reserved. /out:mangle.exe mangle.obj Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86 Copyright (C) Microsoft Corp 1984-1997. All rights reserved. mantomak.c Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303 Copyright (C) Microsoft Corp 1992-1997. All rights reserved. /out:mantomak.exe mantomak.obj Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86 Copyright (C) Microsoft Corp 1984-1997. All rights reserved. bin2rc.c Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303 Copyright (C) Microsoft Corp 1992-1997. All rights reserved. /out:bin2rc.exe bin2rc.obj Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86 Copyright (C) Microsoft Corp 1984-1997. All rights reserved. makecopy.c Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303 Copyright (C) Microsoft Corp 1992-1997. All rights reserved. /out:makecopy.exe makecopy.obj Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86 Copyright (C) Microsoft Corp 1984-1997. All rights reserved. mangle.c Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303 Copyright (C) Microsoft Corp 1992-1997. All rights reserved. /out:mangle.exe mangle.obj Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86 Copyright (C) Microsoft Corp 1984-1997. All rights reserved. mantomak.c Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303 Copyright (C) Microsoft Corp 1992-1997. All rights reserved. /out:mantomak.exe mantomak.obj Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86 Copyright (C) Microsoft Corp 1984-1997. All rights reserved. bin2rc.c Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303 Copyright (C) Microsoft Corp 1992-1997. All rights reserved. /out:bin2rc.exe bin2rc.obj D:\mozilla_src\ns\config>一分程度で終了します。
うまくできない場合、実行するディレクトリが悪いか、環境変数の設定間違いです。
この段階で私が経験したエラーです。
D:\mozilla_src\ns\config>nmake /f makefile.win
Microsoft (R) Program Maintenance Utility Version 1.62.7022
Copyright (C) Microsoft Corp 1988-1997. All rights reserved.
指定されたパスが見つかりません。
指定されたパスが見つかりません。
指定されたパスが見つかりません。
指定されたパスが見つかりません。
D:\mozilla_src\ns\config>これは、
MOZ_TOOLS が、D:\mozilla_tools
になっていました。
MOZ_TOOLS が、D:\mozilla_tools\tools
としたらうまくできました。
カレントディレクトリを、一つ上の、D:\mozilla_src\ns に移動し、nmake /f client.mak を実行します。
以下が実行開始直前です。
私が経験したエラーです。
ビルドは、割とスムースにできます。途中でエラーが出る原因は、環境設定の間違いにつきます。
これは、NSPR20 の値を、1にするところを、NSPRO20 を1としてましたので、以下のエラーが出ました。
WindowsNT4.0 の場合、MOZ_NT は設定しないこと。
説明書、winbuild.htm に、MOZ_NT=351 とあるので、思わず、MOZ_NT=400 と設定してしてしまいます。WindowsNT4.0の場合は、MOZ_NTを設定をしてはいけません。
ビルドがうまくスタートすると、以下のように、文字いっぱいの画面になります。
途中で、「warning」 とか、「警告」とか、「データが失われているかもしれません」 などと出るので不安になりますが、エラーで止まってしまわない限り、じーーーーと待ちましょう。
私は、PentiumProの200MHz(Gateway G6-200)ですが、1時間10分かかりました。
正常に終了すると、以下のようになりました。
実行してみた結果は、「自分でビルドしたMozillaを使ってみる」を参照してください。