JPEGなどに対応したImager for Win32を作るのはそんなに難しくないのだけれど、

JPEGなどに対応したImager for Win32を作るのはそんなに難しくないのだけれど、

 StrawberryPerlとGnuWin32を使えばJPEGその他に対応したImagerをmakeするのは難しくないのだけれど、そこから抜き出したdllを同梱したppmって配布してもいいのかな?*1 ライセンス読めば書いてるんだろうけれど。

 以下、Imagerのmakeの仕方のメモ:

  • libjpegとかlibpngとか必要なライブラリの「Complete package, except sources」をダウンロードしてインストールする。
  • インストール先のlib(c:\GnuWin32\lib)にある「*.lib.a」なファイルは「*.a」にリネームする。
  • 以下のようにしてMakefile.PLのオプションにGnuWin32のincludeとlibを指定する必要がある。
> perl Makefile.PL --incpath=c:/GnuWin32/include --libpath=c:/GnuWin32/lib
  • makeは普通に(StrawberryPerlならdmake)。
  • make testの時にGnuWin32のbinにpathが通ってないとdllがないというアラートが出るはず。
    • jpeg62.dllとかlibpng3.dllとかlibtiff3.dllとかgiflib4.dllとか、そのあたり。
  • これらのファイルはGnuWin32のbinにあるので、そこにpathを通す。
  • pathを通したくない or ppmで配布したい時は、blib/arch/auto/Imager/ にコピーしておく。

 ちなみにGnuWin32のインストール先を「c:\strawberry\c」にすると、「*.lib.a」を「*.a」にリネームするだけでインストールできるんじゃないかと思います。

 ……まあこんな感じで、誰かがSSE2未対応のImager::AnimeFaceをmakeしてくれるか、自力でmakeする方法が見つかるのを待っていたり*2(笑)。

追記

 dll抜きをアップしたので、必要な人は上述のGnuWin32のdllをインストールしたあとに

> ppm install http://www2j.biglobe.ne.jp/~asakura/perl/Imager-without_dll.ppd

――としてモジュールをインストールすればいいと思うよ。

*1:dllを同梱しないppmを作っておいて「必要なdllはここからダウンロードしる!」でもいいかもですが。

*2:makeができんのはCLAPACKなので、まずはそこかな。あと、ちゃんとnvxsの中身をチェックしよう……。