トップ > ビルド > GTK+に必要なライブラリ群のビルド >
libffi

  

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

 

パッチの適用

次に、パッチを適用します。 MinGW Shell上で以下を実行します。


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

 
  
インストール先の基準ディレクトリを --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

 

ビルド

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


make

 

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

インストール

続いて、インストールを行います。 MinGW Shell上で以下を実行します。


make install

 

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

  
  

まとめ

libffiはFFIの機能を提供します。

メニュー