WindowsでPerlをビルドする

2010-12-19

19日目が空いているようなので「誰も知らない知られちゃいけない」覆面ライターが穴埋めをします。今回はSで始まるなにかではなく、WindowsでPerlをビルドしてみましょう。実際に手を動かしてみたら、あまりのあっけなさに拍子抜けするとおもいますよ。

ソースコードをとってくる

やり方はいろいろありますが、いちばんお手軽なのはお好きなブラウザで「http://search.cpan.org/dist/perl/」を開いて、安定版なり開発版なりのtarballをダウンロードしてくることでしょう。ダウンロードが済んだらコマンドプロンプトからtarコマンドを叩くなり適当な解凍ツールを使うなりして、適当なディレクトリにソースを解凍しておいてください。

開発途中の最新版(bleadperl)を試してみたい方は、search.cpan.orgからたどれるPerl 5のgitリポジトリか、githubのミラー(http://github.com/mirrors/perl/)からチェックアウトしてもよいでしょう。

開発環境を用意する

日頃からCPANでバリバリXSモジュールをビルドしている方なら大丈夫だと思いますが、ふだんはppmしか使わないよという方はCの開発環境を用意しましょう。よくわからない方はとりあえずStrawberry Perlを入れておいてください。自分で環境構築できる方なら素のMinGWでもかまいません(その場合はdmakeもあわせてインストールしておいてください)。

また、Microsoft謹製の環境がいい、という方はVisual C++を入れましょう。2010年版にはまだ対応しきれていない部分があるようなので、今日のところは2008年版のExpress Editionを使います。もちろん製品版をお持ちの方はそちらを入れてください。

win32ディレクトリに移動する

環境構築が済んだら、ソースディレクトリの下にあるwin32ディレクトリに移動します。

Strawberry Perl(あるいはMinGW+dmake)の方は、コマンドプロンプトから「dmake」を実行しましょう。ビルドが始まります。

Visual C++の場合も同じく基本的にはプロンプトでnmakeを実行するだけですが、VC6以外の環境を使っている方は、エディタでMakefileを開いて、CCTYPEの設定を適切なものに変更してください。また、64ビット環境で32ビットのPerlをつくる場合はWIN64の設定をundefにしましょう。

テストを実行する

ビルドが済んだら次はテストですね。お使いのmakeにあわせて、nmake testなりdmake testなりを実行してください。Perlのバージョンや開発環境のバージョンによってはときどきエラーが混じることがありますが、ふつうは100%パスするはずです。

インストール

お使いのmakeにあわせて、nmake installなりdmake installなりしてください。お疲れさまでした!

詳しくは

ソースディレクトリにREADME.win32というファイルがあるので、それをご覧くださいませ。また、nmake(Visual Studio)を使っている方はMakefile、dmake(それ以外)の方はmakefile.mkの先頭300行(コメント含む)ほどが基本の設定になっていますので、デフォルトの挙動が気に入らない方は適当に手を入れてみるのもよいかとおもいます。

問題に行き当たったら

環境構築さえきちんとできていればめったに問題が起こることはありませんが、リポジトリ版にバグらしきものを見つけたらp5pなどにご報告くださいませ。

また、Express Editionを使っていて「BufferOverflowU.libがないよ」と言われたら、Windows Driver Kitを入れてください。

それ以前の問題として、コマンドが見つからないとかインクルードファイルが見つからないとか言われる場合は、スタートメニューから「Visual Studio 2008 コマンド プロンプト」のようなショートカットを探して、そこからコマンドプロンプトに入るか、Visual Studioを常用するならVisual Studioまわりの設定をユーザ環境変数に入れてしまうのが吉ですね。

お次はどなたかしら?