Next: config.guess, Previous: po/Rules-*, Up: Adjusting Files [Contents][Index]
configure.acまたはconfigure.in –
これはautoconf
がconfigureスクリプトを生成するときのソースになるファイルです。
これは以下のように宣言します:
PACKAGE=gettext VERSION=0.18.3 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") AC_DEFINE_UNQUOTED(VERSION, "$VERSION") AC_SUBST(PACKAGE) AC_SUBST(VERSION)
GNU automake
を使っている場合は、以下のようになるでしょう:
AM_INIT_AUTOMAKE(gettext, 0.18.3)
もちろん、パッケージ名の‘gettext’と、バージョン番号の‘0.18.3’は、あなたのパッケージの名前とバージョン番号で置き換えます。これらは配布物のパッケージされたtar
のファイル名(この例ではgettext-0.18.3.tar.gz)にそのまま使用されます。
以下のマクロは、インターナショナリゼーションにたいするサポートを発動するためにメインとなる、m4
のマクロです。この行をconfigure.acに追加します:
AM_GNU_GETTEXT
マクロはconfigure時に多くのチェックと処理を行いますが、呼び出しは故意に単純にしています。
gettextize
を呼び出すとき、‘--intl’オプションを指定せず、intl/を作成しない場合は、以下の呼び出しが読み込まれます:
AM_GNU_GETTEXT([external])
AC_OUTPUT命令はconfigure.acファイルの最後にあり、以下の2つの方法で変更する必要があります:
AC_OUTPUT([existing configuration files intl/Makefile po/Makefile.in], [existing additional actions])
AC_OUTPUT
の最初の引数の変更は、intl/およびpo/ディレクトリーを置き換えるための変更です。接尾辞‘.in’は、po/だけに使用されることに注意してください。これにより配布される本当のファイルはpo/Makefile.in.inであることがわかります。
gettextize
を呼び出すとき、‘--intl’オプションを指定せず、intl/を作成しない場合は、AC_OUTPUT
の行にintl/Makefile
を追加する必要はありません。
必要な変更をした後は、‘aclocal -I m4’や‘autoconf’(または‘autoreconf’)などのコマンドは、以下のようなトレース情報を出力して失敗するようになります:
configure.ac:44: warning: AC_COMPILE_IFELSE was called before AC_GNU_SOURCE ../../lib/autoconf/specific.m4:335: AC_GNU_SOURCE is expanded from... m4/lock.m4:224: gl_LOCK is expanded from... m4/gettext.m4:571: gt_INTL_SUBDIR_CORE is expanded from... m4/gettext.m4:472: AM_INTL_SUBDIR is expanded from... m4/gettext.m4:347: AM_GNU_GETTEXT is expanded from... configure.ac:44: the top level configure.ac:44: warning: AC_RUN_IFELSE was called before AC_GNU_SOURCE
configure.acファイルの‘AC_PROG_CC’より後、かつ‘AM_GNU_GETTEXT’より前の箇所(おそらく‘AC_PROG_CC’呼び出しのすぐ近く)に、‘AC_GNU_SOURCE’の明示的な呼び出しを追加する必要があります。この順番は、GNU autoconfによる制限により必要です。