WindowsXP でpidgin-2.4.0 のビルドをしてみるテスト はじめに †
Cygwinを入れる †bashとかpatchとかtarとか使う MinGWを入れる †http://www.mingw.org/download.shtml からgcc-core 3.4.2、binutils 2.15.91、mingw-runtime 3.9、win32api 3.9を落とす C:\MinGW に入れる cd /cygdrive/c mkdir MinGW cd MinGW tar zxvf ~/pidgin/gcc-core-3.4.2-20040916-1.tar.gz tar zxvf ~/pidgin/binutils-2.15.91-20040904-1.tar.gz tar zxvf ~/pidgin/mingw-runtime-3.9.tar.gz tar zxvf ~/pidgin/w32api-3.9.tar.gz 入れたら、Cygwinのコマンドラインから使えるようにパスに追加 PATH=/cygdrive/c/MinGW/bin:$PATH Windows APIを入れる tar zxvf ~/pidgin/w32api-3.9.tar.gz -C /cygdrive/c/MinGW コンパイルする場所を決める †日本語とかスペースがパスに混じってると不幸になるかもしれない 今回は ~/compile/pidgin/ 以下で作業をすることにする コンパイルする場所に、win32-dev を作る mkdir win32-dev gtk関連のソースを展開 †さっき掘ったwin32-devに展開する tar zxvf ~/pidgin/gtk-dev-2.6.10-rev-a.tar.gz -C win32-dev libxml2を展開 †win32-devに展開 tar zxvf ~/pidgin/libxml2-2.6.30.tar.gz -C win32-dev ActivePerlを入れる †ActivePerl-5.8.4.810-MSWin32-x86.zip を展開して Installer.bat をダブルリックして、Enterを押し続ければ完了 ちなみに、C:\Perlに入る perl582.tar.gzを展開 †win32-devに展開 tar zxvf ~/pidgin/perl582.tar.gz -C win32-dev tcl-8.4.5を展開 †win32-devに展開する tar zxvf ~/pidgin/tcl-8.4.5.tar.gz -C win32-dev aspell-dev-0-50-3-3を展開 †win32-devに置く際はディレクトリ構成に注意 以下のように置けばOK win32-dev/aspell-dev-0-50-3-3/lib win32-dev/aspell-dev-0-50-3-3/include gtkspell-2.0.11-daa1を展開 †win32-devに展開する tar zxvf ~/pidgin/gtkspell-2.0.11-daa1.tar.gz -C win32-dev nspr-4.6.4とnss-3.11.4を展開 †win32-devに置く これもディレクトリ構成に注意 win32-dev/nss-3.11.4/bin win32-dev/nspr-4.6.4/bin silc-toolkit-1.1.5を展開 †win32-devに置く tar zxvf ~/pidgin/silc-toolkit-1.1.5.tar.gz -C win32-dev meanwhile-1.0.2_daa1を展開 †win32-devに置く ディレクトリ構成に注意 win32-dev/meanwhile-1.0.2_daa1/{bin,include,lib,share} Bonjourを置く †Bonjour SDK 1.0.4を入れて,lib/win32とIncludeを win32-dev/BonjourSDK の下にlib,includeという名前でコピー ディレクトリ構成に注意 win32-dev/Bonjour_SDK/include/dns_sd.h win32-dev/Bonjour_SDK/lib/dnssd.lib libの下にあるのは dnssd.lib なので,MinGWのリンカがそのままつかえない形式.なので,reimpで変換する.
cyrus-sasl-2.1.22 を展開 †win32-devに置く ディレクトリ構成に注意 win32-dev/cyrus-sasl-2.1.22/{bin,doc,include,lib} cyrus-sasl-2.1.22/lib/の下には libsasl.lib しかないので,Bonjour のときと同じように reimp しておこう ~/compile/pidgin/bin/reimp.exe libsasl.lib pidgin本体の展開 †tar jxvf ~/pidgin/pidgin-2.4.0.tar.bz2 yazさんパッチを当てる †最新版はこちら → http://honeyplanet.jp/patch.html cd pidgin-2.4.0 zcat ~/pidgin/pidgin-2.4.0_mar20b.diff.gz | patch -p0 gtk-2.12.8-rev-a-installer の展開 †このファイルは、本当は後でインストーラを構築する段階で必要になるが、 これに入っているiconv.dllをpidgin本体のビルドで使いたいのでこの時点で 入れておく pidginやwin32-devと同じ階層で展開しておく(ビルドは後で) tar zxvf ~/pidgin/gtk-2.12.8-rev-a-installer.tar.gz パスを控えめに通しておく PATH=$PATH:~/compile/pidgin/gtk_installer/gtk_install_files/bin pidginのビルド †pidgin-2.4.0 ディレクトリ内で以下を実行すればwin32-install-dir以下に実行ファイルができる make -f Makefile.mingw install インストーラも作りたい場合は以下へ続く nsis-2.35をインストール †インストールしたら、パスを通す (64bit環境なんでインストール先がアレですが・・・) PATH=/cygdrive/c/Program\ Files\ \(x86\)/NSIS:$PATH 先ほど展開したgtk-2.12.8-rev-a-installerをビルド †展開してできたディレクトリ(gtk_installer)に移動して以下を実行 ./build.sh pidgin-inst-deps.tar.gzを展開 †win32-devに展開する tar zxvf ~/pidgin/pidgin-inst-deps.tar.gz -C win32-dev pidginのインストーラの構築 †環境変数LANGをセットしているとNSISが落ちるので、ここで切っておく unset LANG あとはpidgin-2.4.0ディレクトリに移動して、makeするだけ make -f Makefile.mingw installer installer_nogtk ちゃんと終わると、pidginの下にpidgin-2.4.0.exeとpidgin-2.4.0.no-gtk.exeができているので適宜リネーム mv pidgin-2.4.0{,-yaz1}.exe mv pidgin-2.4.0-no-gtk{,-yaz1}.exe |