2009年11月18日水曜日

【autotools】4(US 5) 最小規模のGNU Autotoolsプロジェクト (3)


** 4(US 5) A Minimal GNU Autotools Project (again)

- flex/bisonの基礎を勉強。

- とりあえず、parser.yの頭に#includeを入れてばよ
いことがわかった。これが解決なのか?

- AutomakeのInfoを勉強。

- 再度、この問題に取り組む。

- まず、automake --add-missingがものたりなかった
のは、サイトから落としたソースが、

AM_INIT_AUTOMAKE([1.9 foreign])

だったからだ。これを、

AM_INIT_AUTOMAKE([1.9 gnu])

とすれば書籍と同じようになる。出版時から方針が変
わったのだろう。

- さて、勉強してわかったのは、Automakeは依存関係
の処理をビルド時に動的にやっておりそれはdepcomp
が実現しているということだ。

- とすると、parser.cがどうなっているのか、という
ことだ。見ると、parser.cにstdio.hはあるが、こ
れはDEBUGがオンのときだけということだろう。

/* Enable debugging if requested. */
#if YYDEBUG

# ifndef YYFPRINTF
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
# define YYFPRINTF fprintf
# endif

- ちなみにbisonのデバッグをonにしても、コンパイルできた。
- するとやはり、単にソースが間違っているのだろうか?
でもfoonly-1.0のときからinclude無いんだよなぁ。
bisonが、昔はデフォルトでincludeしていたのかなぁ。
うーん。これ以上は書いた人に聞かないとわからない。

- とりあえず、原著者の一人に問い合わせてみた。返
事待ち。こういうメールを送って返事が返ってくる
のは稀なので、期待せずに待ってみよう。

0 件のコメント: