次: , 上: Macros


5.6.1 パブリックマクロ

AM_CONFIG_HEADER
Automakeは,コンフィグヘッダを自動的に再生成するルールを生成します.こ の時代遅れのマクロは,現在はAC_CONFIG_HEADERSと同じです (see Optional).
AM_ENABLE_MULTILIB
これは,“multilib”ライブラリをビルドするときに使用します.最初のオプ ション引数は,生成されるMakefileの名前です.デフォルトは `Makefile'です.二番目のオプション引数は,ソースディレクトリのトッ プを見つけるために使用します.デフォルトは空の文字列です(内部を理解し ていない場合,通常はこれを使用しないほうが良いでしょう.) See Multilibs.
AM_C_PROTOTYPES
関数プロトタイプをコンパイラが理解するかどうかを調査します.その場合, `PROTOTYPES'を定義して,出力変数`U'と`ANSI2KNR'を空の文 字列に設定します.それ以外の場合,`U'を`_'に, `ANSI2KNR'を`./ansi2knr'にします.Automakeはこれらの値を自動 的なde-ANSI-ficationを実装するために使用します.
AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
TIOCGWINSZを使用するときに<sys/ioctl.h>が必要な場合, GWINSZ_IN_SYS_IOCTLを定義します.それ以外の場合, TIOCGWINSZ<termios.h>で見つかるはずです.
AM_INIT_AUTOMAKE([OPTIONS])
AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
生成されたMakefileが適切な処理を行なうために必要な多くのマクロを実行し ます.

このマクロには二つの形式があり,最初のものが好まれます.この形式では, AM_INIT_AUTOMAKEは単一の引数で呼び出されます — ツリー内のすべ てのMakefile.amに適用するAutomakeオプションのスペースで分離され ているリストです.それぞれのオプションがAUTOMAKE_OPTIONSでリス トアップされているかの様な効果があります.

反対されている二番目のAM_INIT_AUTOMAKEの形式は,二つの引数が必 要です.パッケージとバージョンナンバーです.この形式は,packageversionがAutoconfのAC_INITマクロ(それ自身も古い形式と新 しい形式があります)から得ることが可能なので時代遅れです.

configure.acが以下の場合を考えます.

          AC_INIT(src/foo.c)
          AM_INIT_AUTOMAKE(mumble, 1.5)
     

以下のようにして新しいものにすることが可能です.

          AC_INIT(mumble, 1.5)
          AC_CONFIG_SRCDIR(src/foo.c)
          AM_INIT_AUTOMAKE
     

configure.acを以前のバージョンのAutomakeから更新している場合, 上記の例のように,単純にパッケージバージョンの引数を,直接 AM_INIT_AUTOMAKEからAC_INITへ移動することが常に正しいと は限りません.AC_INITの最初の引数はパッケージの名前(例えば `GNU Automake')ですが,AM_INIT_AUTOMAKEに渡すために使用し ているtarballの名前(例えば`automake')ではありません.Autoconfはパッ ケージ名からtarball名を導き出すことを試み,それはほとんどのパッケージ で動作しますが全てで動作するとは限りません.(うまく動作しない場合 — Autoconfのバージョン2.52g以上からサポートされている — tarball名を明 示的に提供する,AC_INITの四つの引数を用いる形式を使用することが 可能です).

デフォルトでこのマクロは`PACKAGE'と`VERSION'を AC_DEFINEします.以下のように`no-define'オプションを渡すこ とでこれを避けることが可能です.

          AM_INIT_AUTOMAKE([gnits 1.5 no-define dist-bzip2])
     

または時代遅れの形式に空の三番目に引数を渡すことで避けることが可能です.


AM_PATH_LISPDIR
emacsプログラムを検索し,見つかった場合は,Emacsのsite-lispディ レクトリへのフルパスを出力変数lispdirに設定します.

このテストは(gnu EmacsやXEmacsのような)Emacs Lispをサポートしてい るバージョンのemacsが見つかることを想定しています.それ以外の emacsenでは,このテストはハングアップします(古いバージョンのMicroEmacs のように,対話モードでセットアップされているものは,終了するために `C-x C-c'が必要で,emacsユーザでなければなかなか気付かないでしょ う).しかし,ほとんどの状況で,テストを終了するために`C-c'を使用 することが可能でしょう.問題を避けるため,環境変数でEMACSを “no”に設定したり,(Emacs Lispをサポートしているemacsが確実に ある場合は)正しいパスを明示的に設定するためにconfigureで `--with-lispdir'を使用することが可能です.

AM_PROG_AS
プロジェクトにアセンブラコードがあるときは,このマクロを使用して下さい. これはアセンブラを選択し(デフォルトはCコンパイラ),CCASを設定し, そして,必要な場合はCCASFLAGSも設定します.
AM_PROG_CC_C_O
これはAC_PROG_CC_C_Oに似ていますが,それはautomakeが要求する形 式の結果を生成します.この機能が必要なときは,AC_PROG_CC_C_Oの 代わりにこれを使用して下さい.
AM_PROG_LEX
AC_PROG_LEXに似ていますが(see Particular Program Checks),lex が無いシステムでmissingスクリプトを使用します.`HP-UX 10' はそのようなシステムの一つです.
AM_PROG_GCJ
このマクロは,gcjプログラムを見つけるか,そうでなければエラーを 発生します.それは`GCJ'と`GCJFLAGS'を設定します.gcj は,GNU Compiler CollectionのJavaフロントエンドです.
AM_SYS_POSIX_TERMIOS
POSIX termiosヘッダと関数がシステムで利用可能かどうか調査します.その 場合,シェル変数am_cv_sys_posix_termiosを`yes'に設定します. そうでない場合,その変数を`no'に設定します.
AM_WITH_DMALLOC
dmallocパッケー ジに対するサポートを追加します.ユーザが`--with-demalloc'を用いて configureする場合,WITH_DMALLOCを定義し,LIBSに `-ldmalloc'を加えます.
AM_WITH_REGEX
configureコマンドラインに`--with-regex'を追加します.指定 されている(デフォルトの)場合,`regex'の正規表現ライブラリが使用さ れ,regex.oが`LIBOBJS'に書き込まれ,そして, `WITH_REGEX'が定義されます.`--without-regex'が与えられる場 合,`rx'正規表現ライブラリが使用され,rx.oが`LIBOBJS' に書き込まれます.