« Gtk on MacOSX (pkgsrc編) | Main | BibTeXで日本語の参考文献 »

2007年1月16日

imlib2 on MacOSX

[ カテゴリ: MacOSX ]

imlib2 1.3.0をMacOSX(Intel)でコンパイルしようとしても、そのままでは通りません。 CPUがIntelだとMMXを有効にするために一部のコードがアセンブラに入れ替わるのですが、 そのアセンブラがMach-O用ではないからです。

で、解決法としては、

  1. MMXを無効にする
  2. コードを修正する

ですが、別に激しく使ってるわけではないので前者で逃げます。 これを実現する一番簡単な方法は、configureに--disable-mmxをつけること。 多くの場合はこれでいいでしょう。

では、pkgsrcでgraphics/imlib2を使ってる場合はどうすればいいでしょう。 CONFIGURE_ARGSに上記のオプションを追加してもいいんですが、 そもそもimlib2自体の問題なので、configure{,.in}にパッチを当てる方向で。 graphics/imlib2/pathcesに、 以下のファイルをpatch-local-aaおよびpatch-local-abとして置くと、 DarwinではMMXのデフォルト値がoffになります。 もちろん、--enable-mmxするとonになりますが、コンパイルは通りません。

--- configure.in.orig   2007-01-15 14:59:39.000000000 +0900
+++ configure.in        2007-01-15 14:59:52.000000000 +0900
@@ -116,6 +116,7 @@
 
 case $host_os in
   solaris*) mmx="no";;
+  darwin*) mmx="no";;
 esac
 
 dnl 
--- configure.orig      2007-01-15 15:01:34.000000000 +0900
+++ configure   2007-01-15 15:01:45.000000000 +0900
@@ -21224,6 +21224,7 @@
 
 case $host_os in
   solaris*) mmx="no";;
+  darwin*) mmx="no";;
 esac
 
 # Check whether --enable-mmx was given.

Comments

Post a comment




Remember Me?