公式バイナリにあって"Enterprise"ビルドに無いもの
この3つ。
- echo.exe
- mysqld-debug.exe
- mysqld.exe
オラ、echo.exeなんて初めてみたぞ。
試しに実行してみたら、Linuxのechoコマンドだった。どこかでecho "hoge" >> fugaとかやったりするためなのかなぁ。
調べてみたら、client/mysqltest.cが使うみたい。テスト用ですなぁ。あぁ、Windowsでもテストスイートを流せるようにするっていう一連の改変の賜物なのかもね。
なんかいろいろ以前と変わってる。ビルドしてもlib_releaseとかができず、各ディレクトリの中にバイナリができあがってる。これじゃcopy_mysql_files.bat動かんし。。。
それに、いろいろなターゲットでビルドしてみても、mysqld-nt.exeとかmysqld-debug.exeはできるのに、mysqld.exeができん。どれだろう。。。
vcprojとdswで不整合
vcprojではsql/releaseとかsql/debugとかのディレクトリを使うようになっていて(新方式?)、一方ではdswではclient_releaseとかclient_debugとかのディレクトリを使うようになっている(従来方式)。
思うに、MySQL 5.0とか、MySQL Enterpriseとかへの対応がMySQLビルド on Windowsの点で対応がまだ終わってないということではなかろーか。
sql/mysqld.dswでmysqldプロジェクト単体で起動すると、ソリューションコンフィグレーションのところに"max"とか"max-nt"とかの従来方式の名前になってるし。
で、さて自分はどっちを使うのがいいのかなぁ。今後のことも考えると新方式だけど、これ用のcopy_mysql_files.batを自作しないとじゃん!
MySQL ABのビルドチームは(当然)新方式用のやつを持ってるはずだけど、どこに公開してるんじゃー。分からん。
mysqld.exeとmysqld-nt.exeは同じもの
公式バイナリで以下を実行してみたけど差分はなかった。
diff -a mysqld.exe mysqld-nt.exe
ということでrelease98いらない子だね。