トップ 検索 一覧 差分 ソース ヘルプ RSS ログイン

今更MinGW(3)

今更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秒