Engineビルドファイル整理した

configure.inとMakefile.amに集約した。.m4ファイルは撤去した。さしてマクロが沢山あるわけでもないし。

従って、ビルド関連は以下を見れば全てが分かる。

GNU Autotoolsについての知識は、MySQLのソースを読む上ではあまり必要ないと思われるかもしれませんが、ソース全体を把握したりmysqldの成り立ちについて知るためには必要な知識だと思います。ましてや、MySQLを改造したり、plug-inやengineの開発をするなら尚さらです。というわけでまとめ。

各コマンドがなぜ作られたのか等まで踏み込むとながーいエントリになるのでそれは割愛。

svnからcheckoutした直後。

mir@t43:~/tmp/trunk$ ls
AUTHORS  COPYING  ChangeLog  INSTALL  Makefile.am  NEWS  README  README.windows  TODO  autogen.sh  configure.in  src

libtoolize実行。config.guess、config.sub、ltmain.shが生成される。

mir@t43:~/tmp/trunk$ libtoolize -c -f
You should add the contents of `/usr/share/aclocal/libtool.m4' to `aclocal.m4'.
mir@t43:~/tmp/trunk$ ls
AUTHORS  COPYING  ChangeLog  INSTALL  Makefile.am  NEWS  README  README.windows  TODO  autogen.sh  config.guess  config.sub  configure.in  ltmain.sh  src

aclocal実行。aclocal.m4、autom4te.cacheが生成される。

mir@t43:~/tmp/trunk$ aclocal-1.9
mir@t43:~/tmp/trunk$ ls
AUTHORS  ChangeLog  Makefile.am  README          TODO        autogen.sh      config.guess  configure.in  src
COPYING  INSTALL    NEWS         README.windows  aclocal.m4  autom4te.cache  config.sub    ltmain.sh

autoheader実行。src/tritonn_config.h.inが生成される(トップディレクトリなのでここでは見えないですが)。

mir@t43:~/tmp/trunk$ ls
AUTHORS  ChangeLog  Makefile.am  README          TODO        autogen.sh      config.guess  configure.in  src
COPYING  INSTALL    NEWS         README.windows  aclocal.m4  autom4te.cache  config.sub    ltmain.sh

automake実行。Makefile.in、sql/Makefile.in、install-sh、missingが生成される。

mir@t43:~/tmp/trunk$ automake-1.9 -c -a -i
configure.in: installing `./install-sh'
configure.in: installing `./missing'
mir@t43:~/tmp/trunk$ ls
AUTHORS  ChangeLog  Makefile.am  NEWS    README.windows  aclocal.m4  autom4te.cache  config.sub    install-sh  missing
COPYING  INSTALL    Makefile.in  README  TODO            autogen.sh  config.guess    configure.in  ltmain.sh   src

autoconf実行。configureが生成される。

mir@t43:~/tmp/trunk$ autoconf
mir@t43:~/tmp/trunk$ ls
AUTHORS  ChangeLog  Makefile.am  NEWS    README.windows  aclocal.m4  autom4te.cache  config.sub  configure.in  ltmain.sh  src
COPYING  INSTALL    Makefile.in  README  TODO            autogen.sh  config.guess    configure   install-sh    missing

でもって、この後configureを実行すると、Makefiletritonn_config.hが生成され、最終的にmakeの実行ができるようになります。