libffiのビルド
libffiはFFIの機能を提供します。
FFI(Foreign function interface)は、ある言語から異なる言語の関数を呼び出すための仕組みです。
libffiは、後ほどビルドする GLib に組み込まれます。
例えば、PythonやRubyからC/C++言語の関数を呼び出す場合にFFIを使用します。
ソースファイルの展開
まず、ソースファイルを展開します。
MinGW Shell上で以下を実行します。
cd /working/sources
tar xvf /working/sources/libffi-3.0.10.tar.gz
cd libffi-3.0.10
cd /working/sources

tar xvf /working/sources/libffi-3.0.10.tar.gz

cd libffi-3.0.10

パッチの適用
次に、パッチを適用します。
MinGW Shell上で以下を実行します。
patch -Np1 < ../libffi-3.0.10-includedir.patch
patch -Np1 < ../libffi-3.0.10-includedir.patch

configure
続いて、configureを実行します。
MinGW Shell上で以下を実行します。
CPPFLAGS="-march=pentium -mtune=pentium -I/working/gimp/include" \
LDFLAGS="-L/working/gimp/lib -L/working/gimp/bin" \
./configure \
--prefix=/working/gimp > ../configurelog.libffi 2>&1
CPPFLAGS="-march=pentium -mtune=pentium -I/working/gimp/include" \

LDFLAGS="-L/working/gimp/lib -L/working/gimp/bin" \

./configure \

--prefix=/working/gimp > ../configurelog.libffi 2>&1

インストール先の基準ディレクトリを --prefix=/working/gimp としています。
すでに説明したように、GIMPの実行時に必要なライブラリ群はインストール先を /working/gimp とするためです。
これまでのconfigureの実行とは違い、変数 CPPFLAGS に "-I/working/gimp/include" が追加されています。
また、変数 LDFLAGS が新たに定義されています。
変数 CPPFLAGS で指定している "-I/working/gimp/include" は、ヘッダファイルを /working/gimp/include からも探すようにするためです。
変数 LDFLAGS で指定している "-L/working/gimp/lib -L/working/gimp/bin" は、ライブラリファイルを /working/gimp/lib および /working/gimp/bin からも探すようにするためです。
configureが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。
cat ../configurelog.libffi
cat ../configurelog.libffi

ビルド
続いて、ビルドを実行します。
MinGW Shell上で以下を実行します。
make
make

makeが終了したら、画面に出力された内容を参照し、正常に終了したことを確認します。
インストール
続いて、インストールを行います。
MinGW Shell上で以下を実行します。
make install
make install

インストールが終了したら、画面に出力された内容を参照し、正常に終了したことを確認します。