OpenOffice.org ビルドスクリプト


ビルドスクリプトについて

自分でOpenOffice.orgをビルドするのはとても大変な作業で、特にソースコードをダウンロードしてからビルドを開始するまでには単純な作業を強いられます。
この単純な作業を自動で行うためのシェルスクリプト [ja_build] を作成しました。
${SRC_ROOT}にダウンロードして実行してください。
ソースコードをダウンロードして展開した後から、インストールセットを作成するまでの作業を自動的に行ないます。

現在対応しているプラットホームは、LinuxIntel、LinuxPPC、SolarisSparc、SolarisIntel、Win32Intelの5つです。
各プラットホーム毎のビルド手順については ビルドの方法について から参照して下さい。

スクリプトもまだ完璧なものではないかもしれません、間違いや改良点を見つけたらdev@ja.openoffice.orgに報告して下さい。

ビルドスクリプトは何処に置くか

ビルドスクリプトについて」でも触れていますが、ビルドスクリプト[ja_build] を置くディレクトリは決まっていません。
パスの通ったディレクトリにおいても動作するかもしれませんが、${SRC_ROOT} (1.1.3のソース を展開した場合は展開先に作成されるooo_113_src等のディレクトリ内に、あるいはCVSから最新の2.0CodeLineのソースをcheckoutした場合はcheckoutしたディレクトリ) に置いたほうが無用なトラブルを避けることが出来るでしょう。

ビルドスクリプトの概要

ビルドは以下のような流れで行われます。

1.1.0系列と2.0CodeLine共に使用出来るようにしている為、ビルドするターゲットバージョンによっては実行されない項目もあります。

ビルドスクリプト設定項目

ビルドスクリプト内の設定項目の一覧です。
ビルドするターゲットバージョンやターゲットプラットホームによって最低限必要な設定項目数が変わりますが、ここにあげたほとんどの項目は各自のビルド環境に合わせて設定する必要があるでしょう。

設定項目設定内容Target
Platform
BUILDER_NAMEビルド者の名前を設定 (例:curvirgo)All
VERSIONインストールセットのアーカイブファイル名に使用するバージョンを設定 (例:1.1.3)All
BUILD_NUMBERビルド番号を指定します (1.1.0系列では645を指定)All
LANGUAGESビルドする言語を設定 (例:JAPN、2.0CodeLineの場合は ja)All
PREFIXインストール先のデフォルトのディレクトリを設定 (例:/optや/usr/local等)Linux(Intel)
Linux(PPC)
Solaris
TEMP_DIR作業ディレクトリを設定 (基本的に変更不要)All
PATCH_DIRpatchファイルを置くディレクトリを設定 (基本的に変更不要)
スクリプト実行前に、このディレクトリにpatchを置きます。
プラットホーム固有のpatchはPATCH_DIR以下にBUILD_NUMBERの名前でディレクトリを作り、さらにそのディレクトリに各プラットホーム毎(LinuxIntel、LinuxPPC、SolarisSparc、SolarisIntel、Win32Intel)のディレクトリを作って、その中に置いて下さい。
All
SETUPGUIDE_DIRインストールガイドを置く作業ディレクトリを設定 (基本的に変更不要)All
JAVA_HOMEJ2SDKのインストール先ディレクトリを設定 (例:/usr/java/j2sdk1.4.1_07)All
ANT_HOMEApache Antのインストール先ディレクトリを設定 (例:/usr/local/apache-ant-1.6.2)All
VC_DIRVisual Studioのインストール先ディレクトリを設定 (例:/cygdrive/c/progra~1/micros~1.net)
[ショートファイルネームで指定する事]
Windows
CSC_DIRC#コンパイラcsc.exeのあるディレクトリを設定 (例:/cygdrive/c/windows/micros~1.net/framew~1/v10~1.370)
[.NET Framework SDKに含まれるものでかまわない。ショートファイルネームで指定する事]
Windows
FRAME_HOME.NET Framework SDKのmscoree.libがあるディレクトリを設定 (例:/cygdrive/c/progra~1/micros~1.net/framew~1)
[ショートファイルネームで指定する事]
Windows
DIRECTX_HOMEDirectX SDKのインストール先ディレクトリを設定 (例:/cygdrive/c/progra~1/micros~1.0sd)
[ショートファイルネームで指定する事]
Windows
WDEVENV_DIRConvertDSW(wdevenv.exe)のインストール先ディレクトリを設定 (例:/cygdrive/c/progra~1/conver~1)
[ショートファイルネームで指定する事]
Windows
GNUCPgnu cpのインストール先ディレクトリを設定Solaris
GNUPATCHgnu patchのインストール先ディレクトリを設定Solaris
GPC_LOCATEGPCの配布先アドレス (変更不要)All
GPC_ARCHIVEGPCのアーカイブファイル名 (変更不要)All
HELPCONTENT_LOCATEローカライズされたhelpcontentファイルの配布先アドレス (変更不要)All
HELPCONTENT_ARCHIVEローカライズされたhelpcontentファイルのアーカイブファイル名 (変更不要)All
MOZILLA_VERSIONmozillaソースファイルのバージョン (変更不要)All
MOZILLA_SOURCE_ARCHIVEmozillaソースファイルのアーカイブファイル名 (変更不要)All
MOZILLA_SOURCE_LOCATEmozillaソースファイルの配布先アドレス (バージョン等が変わらなければ変更不要)All
MOZ_GLIB_ARCHIVEWindows用mozillaライブラリのアーカイブファイル名 (変更不要)All
MOZ_LIBIDL_ARCHIVEWindows用mozillaライブラリのアーカイブファイル名 (変更不要)All
MOZ_LIBS_LOCATEWindows用mozillaライブラリの配布先アドレス (バージョン等が変わらなければ変更不要)All
MOZ_WINTOOLS_ARCHIVEWindows用mozillaツールのアーカイブファイル名 (変更不要)All
MOZ_WINTOOLS_LOCATEWindows用mozillaツールの配布先アドレス (バージョン等が変わらなければ変更不要)All
CONFIG_FLAGS各プラットホーム共通のconfigureオプションを設定する箇所、各プラットホーム個別のconfigureオプションを設定する箇所等に分かれているので注意All
CREATE_SDKSDKアーカイブをパッケージする場合 Yes に設定All
CREATE_SOLVERSolverアーカイブをパッケージする場合 Yes に設定All
SETUP_NATIVEプラットホームNativeなインストーラでインストールセットを作成する場合 Yes に設定All
PARAllEL_BUILD平行ビルドでビルドする場合 Yes に設定 (必ずしもうまく動作するとは限らず)Linux(Intel)
Linux(PPC)
Solaris
BUILD_OPTIONビルドする際のオプション (変更不要)All
PACKAGE_FORMATパッケージのフォーマットを指定
複数指定可能 (例)PACKAGE_FORMAT="rpm deb portable"
Linux(Intel)
MAX_JOBS平行ビルドの最大数を設定Linux(Intel)
Linux(PPC)
Solaris
CRASHDUMPCrash Reportを有効にしてビルドする場合 Yes に設定All
ENABLE_MOZILLAmozillaのアドレス帳インポート機能を有効にしてビルドする場合 Yes に設定All
MOZILLA_BUILDmozillaランタイムをビルドし直す必要がある場合 Yes に設定
(mozプロジェクトにビルドプラットホーム用のランタイムがなかったり、glibcのバージョンが合わなくてconnectivityでビルドがエラーになる場合など)
All
ENABLE_GTK_PLUGINGTK用vclpluginのビルドを有効にする場合 Yes に設定Linux(Intel)
Linux(PPC)
Solaris
ENABLE_KDE_PLUGINKDE用vclpluginのビルドを有効にする場合 Yes に設定Linux(Intel)
Linux(PPC)
Solaris
ORIGINALPATCHPATCH_DIR で設定したディレクトリにあるpatchを適用する場合 Yes に設定All
REPLACE_SPLASHsplashを独自に用意したものに置き換える場合 Yes に設定All
REPLACE_VENDOR_NAMEVendor Nameを BUILDER_NAME で設定した名前に置き換える場合 Yes に設定All
COPY_SYMBOL独自に用意したツールバー用のアイコンをインストールセットに含める場合 Yes に設定All
USE_ORIGINALICON独自に用意したアイコンリソースに置き換える場合 Yes に設定Windows
ATTACH_SETUPGUID日本ユーザー会で作成したSetup Guideをインストールセットに含める場合 Yes に設定 (今の所2.0CodeLineでは無効)All
SETUPGUIDE_VERSIONSetup Guideの対応バージョン番号を設定 (例:113)All
OOOUTPATHビルドの際に作成される作業ディレクトリの名前(ただし「.pro」の部分は除く)
(例) Visual C++ .NETの場合はwntmsci8、Visual C++ .NET 2003の場合はwntmsci10 (共にNT,2000,XPでのビルドの場合)
All

作業ディレクトリの構成

このビルドスクリプトは、「TEMP_DIRで指定したディレクトリの中に必要ないくつかのディレクトリが作成されている」という前提の下に動作します。
この為、ディレクトリ構成を以下に示します。

temp作業ディレクトリルート
bmpオリジナルsplash画像データを置くディレクトリ
iconツールバー用アイコンを置くディレクトリ
OriginalIconWindows用オリジナルアイコンを置くディレクトリ
patchpatchファイルを置くディレクトリ
6451.1.0系列用
helphelpcontentのフォントリスト修正用patchを置くディレクトリ
LinuxIntelLinux Intel用のpatchを置くディレクトリ
LinuxPPCLinux PPC用のpatchを置くディレクトリ
SolarisIntelSolaris Intel用のpatchを置くディレクトリ
SolarisSparcSolaris Sparc用のpatchを置くディレクトリ
Win32IntelWindows用のpatchを置くディレクトリ
6802.0CodeLine用
LinuxIntelLinux Intel用のpatchを置くディレクトリ
LinuxPPCLinux PPC用のpatchを置くディレクトリ
SolarisIntelSolaris Intel用のpatchを置くディレクトリ
SolarisSparcSolaris Sparc用のpatchを置くディレクトリ
Win32IntelWindows用のpatchを置くディレクトリ
pdfインストールガイドのPDFファイルを置くディレクトリ
unicowsunicows.dllを置くディレクトリ

ログの保存

このビルドスクリプトでは、ログを記録しません。
ログを記録したい場合、以下のようにしてログを記録して下さい。

$ ./ja_build 2>&1 | tee build.log


制作者: 増冨善幸
デザイン:小浦寛裕
$Id: about_buildscript.html,v 1.13 2005/03/23 14:39:11 curvirgo Exp $