最近のHEADはMinGWでもDSFをビルドできるようになったので、ビルド方法を書いてみる。
必要なもの:
MinGW+MSYS+MSYSDTK+NASM または Cygwin
DirectX 9.0 SDK Update (Summer 2003)
gcc-core、gcc-g++、w32api、nasm、binutils、autoconf、patch あたりが必要。
binutilsは2.15が必要。
w32apiが2.5の場合、ocidl.hの62行目を
「enum tagQACONTAINERFLAGS」 -> 「typedef enum tagQACONTAINERFLAGS」
のように変更する必要あり。
1. xvidcore/build/generic/ で make
正常に終了すれば、 xvidcore/build/generic/=build/ に xvidcore.dll ができるはず。
2. xvidcore/vfw/bin/ で make
正常に終了すれば、 xvidcore/vfw/bin/=build/ に xvidvfw.dll ができるはず。
3. DirectX SDKを適当なディレクトリに展開し、
patch -p0 < ~/xvidcore/dshow/dxpatch/dx90sdk-update-gcc.patch
のようにパッチを当てる
4. DirectX SDKの Samples/C++/DirectShow/BaseClasses/ で make
5. xvidcore/dshow で make DXTREE=~/DX90SDK のように
DirectX SDKのディレクトリを指定して make
正常に終了すれば、 xvidcore/dshow/=build/ に xvid.ax ができるはず。
6. 生成された xvidcore.dll、xvidvfw.dll、xvid.ax にはデバッグ情報が含まれているので、
これを除去するためにstripする。