拡張モジュールのコンパイル/ZODBCDA

 Windows上のPloneからODBCを使おうと思って、ZODBCDAをダウンロードしようとしました。でも、古いpython用のBINARYディストリビューションしかありません。仕方ないので、JZUGの記事を頼りにしながら、はじめて拡張モジュールのコンパイルをやってみることにしました。

下の手順は、ほぼJZUGの記事のとおりです。
なお、コンパイル環境は、VisualC++6.0 Proです。
また、Pythonのバージョンは2.4で、C:\\Python24にインストールしてあります。


■compile.py(JZUGの記事のまんま)
今回はcompile.pyを使いました。

compile.py入手元:
Robin Dunn's build tools http://www.vivtek.com/python/zopewin32build.zip に含まれています。

■手順
1)Setupファイルを編集して次のようにします。(JZUGの記事のまんま)

*shared*

# Use this for Solid
#sql sql.c -DSOLIDSQLAPI -I/usr/local/solid/include /usr/local/solid/lib/scllux22.a

# Or maybe this for Solid 2.3, based ob feedback from Andrew Kuchling:
#sql sql.c -DSOLIDSQLAPI -I/usr/local/solid/include -L/usr/local/solid/lib -lsolcli

# Use this for win32
sql sql.c

2)compile.pyを編集して python1.5用になっている箇所をpython2.4用に変更します。なお、sys.prefixの値は"C:\\Python24"になっています。

  • LIBNAME = "python24.lib"
  • LIB_POSSIBLES = (os.path.join(sys.prefix, 'libs'),)
  • INCLUDE_POSSIBLES = (os.path.join(sys.prefix, 'include'),)


3)compile.py実行
compile.py を Products/ZODBCDA/src に置いて、コマンド・プロンプトを開き、順次コマンドを実行します。

Products/ZODBCDA/srcに移動します。

>cd "C:\Program Files\Plone 3\Data\Products\ZODBCDA\src"

環境変数をセットします。

>"C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"

compile.pyを実行して、Makefileを作成します。
最初は、JZUGの記事どおりに、dswを作成したのですが、VC++6.0では読込めませんでした。

python compile.py -m

nmakeを実行します。

nmake

以上で、コンパイルは完了です。
作成されたsql.pydは、Products/ZODBCDAにコピーして使います。