Cygwin で Python 3.2 をビルドする
次のように普通にビルドしようとしても libpython3.2m.dll.a をビルドする make ターゲットがないと言われてビルド エラーになります.
% ./configure % make
libpython3.2m.dll.a の "m" は ABI フラグと呼ばれるもので "m" は PyMalloc を有効にしているときに付与されます.
詳しくは PEP 3149 -- ABI version tagged .so files を見れば,たぶん載っているんじゃないかと思います.
PyMalloc を無効にしてビルドする.
PyMallco によって付与される ABI フラグが原因なので,次のように PyMalloc を無効にしてやればビルドができます.
% ./configure --without-pymalloc % make
PyMalloc を有効にしてビルドする.
PyMallco を無効にすればビルドできるのですが,PyMalloc を有効にしてままビルドしたいのが人情というものです.
ということでパッチを作ってみました.
The patch for building Python-3.2.2 on cygwin environment. — Gist
Python-3.2.2 のソースにこのパッチを当てれば PyMalloc を有効にしたまま Cygwin でビルドができるはずです.