Autoconfは何年も休止中だったので,その間AutomakeがAutoconfのようなマクロ
を提供していました.現在は,Autoconf 2.50がこれらのマクロのより良いバー
ジョンを提供していて,AM_
ではなくAC_
の名前空間で統合されて
います.しかし,autoupdateで容易に更新できるように,そのような
AM_
マクロも結合されて提供されています.
残念ながら,Automakeはこれらのマクロ名を引用符で囲んでいませんでした.そ
のため,m4が‘AC_DEFUN(AM_TYPE_PTRDIFF_T, ...)’のよう
なマクロをaclocal.m4で見つけたとき,AM_TYPE_PTRDIFF_T
は展
開され,そのAutoconfの定義で置換されていました.
幸い,Autoconfは前置されるAC_INIT
の展開を受けて,それが所有する単
語で文句をいいます.
$ cat configure.in AC_INIT AM_TYPE_PTRDIFF_T $ aclocal-1.4 $ autoconf ./aclocal.m4:17: error: m4_defn: undefined macro: _m4_divert_diversion actypes.m4:289: AM_TYPE_PTRDIFF_T is expanded from... ./aclocal.m4:17: the top level $
将来のAutomakeのバージョンは,単純にこれらのマクロをこれ以上定義せず,お そらく残りのマクロ名を引用符で囲むでしょう.しかし,全てがうまくいくまで じっと待っている必要はありません.(単独で要求されるものもありますが)マク ロを提供するための仕事は単純ではないので,Automakeのマクロに依存しないで ください.
$ cat configure.in AC_INIT AM_TYPE_PTRDIFF_T $ rm aclocal.m4 $ autoupdate autoupdate: `configure.in' is updated $ cat configure.in AC_INIT AC_CHECK_TYPES([ptrdiff_t]) $ aclocal-1.4 $ autoconf $