${HOME}/include/png.hをconfig.pyに認識させる方法

環境

この記事の内容は、pygame 1.9.1で確認しました。

はじめに

私はよくライブラリをソースからビルドして${HOME}下にインストールしているのですが、このようにしてインストールしたlibpngのヘッダファイル${HOME}/include/png.hを、pygameのconfig.pyが認識しませんでした。config.pyには、${HOME}/includeも調査するように指示するコマンドラインオプションなどはないようです。

解決方法

以下のようにconfig_unix.pyを書き換えました。

--- config_unix.py.orig 2010-09-20 02:04:07.000000000 +0900
+++ config_unix.py      2010-09-20 02:05:42.000000000 +0900
@@ -163,6 +163,10 @@
     libdirs += ["/usr"+d for d in origlibdirs]
     incdirs += ["/usr/local"+d for d in origincdirs]
     libdirs += ["/usr/local"+d for d in origlibdirs]
+    from os import environ
+    home = environ["HOME"]
+    incdirs += [home + d for d in origincdirs]
+    libdirs += [home + d for d in origlibdirs]
 
     for arg in DEPS[0].cflags.split():
         if arg[:2] == '-I':