2016/10/30(日)Cygwin上のmingw32でfdk-aacをビルドしようとすると止まる
Cygwin入れてるのにわざわざmingwを別で入れるのはなあ。
Cygwin上でMinGWのgcc使えるはずだし、それでビルドできるんじゃないの。
tu-sa@t8 ~/fdk-aac-0.1.4 $ ./configure --build=i686-w64-mingw32 --host=i686-w64-mingw32 --prefix=/usr/local/fdkaac-mingw tu-sa@t8 ~/fdk-aac-0.1.4 $ make -j GEN libfdk-aac.la
で止まる。
CPU使用率も下がるし、ディスクアクセスもないし、何かを待ってる?
Makefileやら./libtool やら眺めると以下の行がマズいっぽい。
func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
cmd //c が上手く動かず、cmdが普通に起動して入力待ちになってしまうので、 cmd /c に直す。
tu-sa@t8 ~/fdk-aac-0.1.4 $ sed -i libtool -e 'sZcmd //cZcmd /cZg' tu-sa@t8 ~/fdk-aac-0.1.4 $ make GEN libfdk-aac.la copying selected object files to avoid basename conflicts...
make できた。
どうもmsysでは、/c は c:\\ に置換されるのがデフォで、//cでそれをエスケープして単に「/c」の意味になる*1。
cmd /c に書き換えたものは、mingw+msysの環境では、同じように止まってしまって動かないんだろな。。