gtk+がビルドできた

ビルドが手段じゃなくて目的化してきた今日この頃ついにgtk++-2.17.7のビルドに成功した。


環境は、例によってcygwin-1.7上に作ったmingwgcc-4.4。


今回は新たな細工としてpkg-configをcross用に仕込んだ。
cygwinのsetup.exeで普通にpkg-configをインストールしてラッパを作成する。
クロス用のtoolchainへのシンボリックリンクを作成したディレクトリに
pkg-config呼び出しスクリプトを以下のような感じで作成。

/usr/local/cross/i686-mingw32/pkg-config

#!/bin/sh
SYSROOT="/usr/local/i686-mingw32"
export PKG_CONFIG_LIBDIR="${SYSROOT}/lib/pkgconfig"
unset PKG_CONFIG_PATH PKG_CONFIG_ALLOW_SYSTEM_CFLAGS PKG_CONFIG_ALLOW_SYSTEM_LIBS
/usr/bin/pkg-config "$@"

http://www.gentoo-wiki.info/OpenPandora/Install_Crossdev#Useful_scripts_.26_settings
を参考にした。


あとは
http://library.gnome.org/devel/gtk/unstable/gtk-building.html
のDependencies
を見ながら適当に解凍してから

$ mingw
mingw> ./configure --prefix=/usr/local/i686-mingw32 --host=i686-mingw32 --build=i686-pc-cygwin 
mingw> make
mingw> make install

を繰り返したらうまくいった。


時々手を入れたりオプションを変えないとビルドできないものがあるので
それらについては軽くメモしておいた。
http://gunload.web.fc2.com/mingw/build.html
他人が見てもあんまりわからんかもしれんがそんなに需要もなかろう・・・


fontconfig、gettextあたりが難所だった。
特にgettextはビルド時間が長い。
あとpangoの最新版はビルドできなかったのでバージョンを下げた。