!!!今更MinGW(3) nasm,yasm アセンブラの[nasm|http://nasm.sourceforge.net/]/[yasm|http://www.tortall.net/projects/yasm/]をMinGW環境にインストールする。 なぜ同じようなアセンブラが2つもあるのか謎であるが、nasmの開発がしばらく止まっていたためにyasmが登場したのではないかとどこかで聞いた。真偽の程は不明だが、x264ではyasmを優先していたり、一定の影響はある模様。 !!!nasm nasmは[nasmのリリースページ|http://sourceforge.net/project/showfiles.php?group_id=6208]で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ではなくnasm'''w'''.exeを使用するものがある。 それらのビルドファイルを毎回修正するよりは、nasm.exeをnasmw.exeとしてコピーしておく方が楽だ。 !! !!!yasm [yasmのダウンロードページ|http://www.tortall.net/projects/yasm/wiki/Download]には、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で特に問題は起きていない。