今更MinGW(3) nasm,yasm
アセンブラのnasm/yasmをMinGW環境にインストールする。
なぜ同じようなアセンブラが2つもあるのか謎であるが、nasmの開発がしばらく止まっていたためにyasmが登場したのではないかとどこかで聞いた。真偽の程は不明だが、x264ではyasmを優先していたり、一定の影響はある模様。
nasm
nasmはnasmのリリースページでWin32バイナリが提供されており、これでもMinGW環境でそれなりに動いてしまったりする。nasm自体はnasm.exeさえあれば動作し、依存関係もない。
しかしせっかくなのでここではソースからビルドする。"nasm sources"のnasm-2.02.tar.bz2を取得し、以下のようにする。
$ tar xfvj nasm-2.02.tar.bz2 $ cd nasm-2.02 $ ./configure --prefix=/mingw $ make $ make strip
このまま出来上がったnasm.exeを/mingw/binにコピーしてもよいのだが、せっかくなのでinstallを使おう。
$ make install
なお、ビルドにnasmを必要とするソフトの中には、Windows上でのnasmの実行ファイル名としてnasm.exeではなくnasmw.exeを使用するものがある。それらのビルドファイルを毎回修正するよりは、nasm.exeをnasmw.exeとしてコピーしておく方が楽だ。
yasm
yasmのダウンロードページには、Windows向けのバイナリが置いてある。が、Visual Studio用・Cygwin用に別れており、いまいちその違いが判然としない。面倒なのでビルドしてしまおう。
ビルド手順はnasmの場合とほぼ同じだ。yasm-0.6.2.tar.gzを取得し、以下のようにする。
$ tar xfvz yasm-0.6.2.tar.gz $ cd yasm-0.6.2 $ ./configure --prefix=/mingw $ make $ make install-strip
install-stripが正式なものか把握していないのだが、単にinstallだとバイナリサイズが大きい。筆者の環境ではinstall-stripで特に問題は起きていない。
最終更新時間:2008年03月18日 01時19分37秒