【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

MSYSでGTK+をビルド (1)

Gtk#の挙動でよく分からない点があったので、GTK+を調べてみようと思い、MSYSでビルドしてみました。依存関係がとても複雑で、まるで初期のGNOMEをビルドしているような気分でした。

【追記】ビルド手順をまとめました。

$ pkg-config --list-all | sort
atk                   Atk - Accessibility Toolkit
cairo                 cairo - Multi-platform 2D graphics library
cairo-ft              cairo-ft - FreeType font backend for cairo 
cairo-gobject         cairo-gobject - gobject functions for cairo
cairo-pdf             cairo-pdf - PDF surface backend for cairo g
cairo-png             cairo-png - PNG functions for cairo graphic
cairo-ps              cairo-ps - PostScript surface backend for c
cairo-script          cairo-script - script surface backend for c
cairo-svg             cairo-svg - SVG surface backend for cairo g
cairo-win32           cairo-win32 - Microsoft Windows surface bac
cairo-win32-font      cairo-win32-font - Microsoft Windows font b
freetype2             FreeType 2 - A free, high-quality, and port
gail                  Gail - GNOME Accessibility Implementation L
gdk-2.0               GDK - GTK+ Drawing Kit (win32 target)
gdk-pixbuf-2.0        GdkPixbuf - Image loading and scaling
gdk-win32-2.0         GDK - GTK+ Drawing Kit (win32 target)
gio-2.0               GIO - glib I/O library
gio-windows-2.0       GIO Windows specific APIs - Windows specifi
glib-2.0              GLib - C Utility Library
gmodule-2.0           GModule - Dynamic module loader for GLib
gmodule-export-2.0    GModule - Dynamic module loader for GLib
gmodule-no-export-2.0 GModule - Dynamic module loader for GLib
gobject-2.0           GObject - GLib Type, Object, Parameter and 
gthread-2.0           GThread - Thread support for GLib
gtk+-2.0              GTK+ - GTK+ Graphical UI Library (win32 tar
gtk+-win32-2.0        GTK+ - GTK+ Graphical UI Library (win32 tar
libcurl               libcurl - Library to transfer files with ft
libffi                libffi - Library supporting Foreign Functio
libopenjpeg           openjpeg - JPEG2000 library
libopenjpeg1          openjpeg - JPEG2000 library
libpng                libpng - Loads and saves PNG files
libpng15              libpng - Loads and saves PNG files
libtiff-4             libtiff - Tag Image File Format (TIFF) libr
pango                 Pango - Internationalized text handling
pangocairo            Pango Cairo - Cairo rendering support for P
pangowin32            Pango Win32 - Win32 GDI font support for Pa
pixman-1              Pixman - The pixman library (version 1)
poppler               poppler - PDF rendering library
poppler-cairo         poppler-cairo - Cairo backend for Poppler P
poppler-cpp           poppler-cpp - cpp backend for Poppler PDF r
poppler-glib          poppler-glib - GLib wrapper for poppler
poppler-splash        poppler-splash - Splash backend for Poppler
zlib                  zlib - zlib compression library

GTK+だけでもこれだけ複雑なのに、今のGNOMEはどうなっているんだろうと考えると空恐ろしいものがあります。目的はGtk#なので、今はGNOMEまで踏み込むつもりはありません。