次: , 前: Compilers and Preprocessors, 上: Existing Tests


5.11 システムサービス

以下のマクロはオペレーティングシステムのサービスや機能を調査します.

— マクロ: AC_PATH_X

X Window Systemのインクルードファイルとライブラリの場所を調査します.ユー ザがコマンドラインオプションで,`--x-includes=dir'と `--x-libraries=dir'を与えている場合,そのディレクトリを使用し ます.どちらか一つまたは両方とも与えられない場合,xmkmfを平凡な Imakefileで実行し,生成されたMakefileを調査し,足りない値 を取得します.(xmkmfが存在しない等のように)失敗した場合,配置され ることが多いディレクトリ等でファイルを検索します.いずれかの手法で成功し た場合,コンパイラがデフォルトで検索するディレクトリに無い限り,シェル変 数x_includesx_librariesをその場所に設定します.

両方の方法が失敗する,またはユーザがコマンドラインオプションの `--without-x'を与えている場合,シェル変数のno_xを`yes' に設定し,それ以外では空の文字列に設定します.

— マクロ: AC_PATH_XTRA

AC_PATH_Xの拡張バージョンです.Xが必要とするCコンパイラフラグを出 力変数X_CFLAGSに,XリンカフラグをX_LIBSに追加します.X が 利用可能でない場合,X_DISPLAY_MISSINGを定義します.

また,このマクロは,Xプログラムをコンパイルするためにシステムが必要とす る特別なライブラリも調査します.それは,システムが必要とするあらゆるもの を出力変数X_EXTRA_LIBSに追加します.そして,`-lX11'の前にリ ンクする必要がある特別なX11R6ライブラリを調査し,見つかったものは全て出 力変数X_PRE_LIBSに追加します.

— マクロ: AC_SYS_INTERPRETER

スクリプトを使用するためのインタプリタを選択するため,`#! /bin/csh'の形式の行を用いたスクリプトをサポートするかどうかを調査します. このマクロを実行した後で,configure.acのシェルコードは,シェル変 数の interpvalを調査することが可能になります.システムで`#!' がサポートされている場合は`yes',そうでなければ`no' を設定しま す.

— マクロ: AC_SYS_LARGEFILE

large-file supportのために用意しています.ホストによっては,大きなファ イルにアクセスできるプログラムをビルドするため,特別なコンパイラオプショ ンが必要になります.そのようなオプションを出力変数CCに,全て追加 します.必要な場合は,_FILE_OFFSET_BITS_LARGE_FILES を定 義します.

大きなファイルのサポートは,--disable-largefileオプションを用い てコンフィグレーションすることで利用不可能にすることが可能です.

このマクロを使用する場合,大きなファイルのサポートが利用可能なときは, off_tlongより長いときが一般的なので,それでもプログラム が動作するかどうかを調査してください.例えば,printf ("%ld", (long) X)で任意のoff_tの値Xを出力しても正しくなくなります.

LFSはfseekoftello関数を,Cのoff_tを使用していない fseekftellに相当するものを置き換えるために導入しました. それらの関数を使用しているときで,大きなファイルのサポートが利用可能になっ ているときに,利用可能なプロトタイプを作成するために AC_FUNC_FSEEKOを注意して使用して下さい.

— マクロ: AC_SYS_LONG_FILE_NAMES

システムが14文字より長いファイル名をサポートする場合, HAVE_LONG_FILE_NAMESを定義します.

— マクロ: AC_SYS_POSIX_TERMIOS

POSIX termiosヘッダと関数がシステムで利用可能かどうかを調査し ます.その場合は,シェル変数ac_cv_sys_posix_termiosを`yes'に 設定します.それ以外ではその変数を`no'に設定します.