以下のマクロはオペレーティングシステムのサービスや機能を調査します.
X Window Systemのインクルードファイルとライブラリの場所を調査します.ユー ザがコマンドラインオプションで,`--x-includes=dir'と `--x-libraries=dir'を与えている場合,そのディレクトリを使用し ます.どちらか一つまたは両方とも与えられない場合,
xmkmfを平凡な Imakefileで実行し,生成されたMakefileを調査し,足りない値 を取得します.(xmkmfが存在しない等のように)失敗した場合,配置され ることが多いディレクトリ等でファイルを検索します.いずれかの手法で成功し た場合,コンパイラがデフォルトで検索するディレクトリに無い限り,シェル変 数x_includesとx_librariesをその場所に設定します.両方の方法が失敗する,またはユーザがコマンドラインオプションの `--without-x'を与えている場合,シェル変数の
no_xを`yes' に設定し,それ以外では空の文字列に設定します.
AC_PATH_Xの拡張バージョンです.Xが必要とするCコンパイラフラグを出 力変数X_CFLAGSに,XリンカフラグをX_LIBSに追加します.X が 利用可能でない場合,X_DISPLAY_MISSINGを定義します.また,このマクロは,Xプログラムをコンパイルするためにシステムが必要とす る特別なライブラリも調査します.それは,システムが必要とするあらゆるもの を出力変数
X_EXTRA_LIBSに追加します.そして,`-lX11'の前にリ ンクする必要がある特別なX11R6ライブラリを調査し,見つかったものは全て出 力変数X_PRE_LIBSに追加します.
スクリプトを使用するためのインタプリタを選択するため,`#! /bin/csh'の形式の行を用いたスクリプトをサポートするかどうかを調査します. このマクロを実行した後で,configure.acのシェルコードは,シェル変 数の
interpvalを調査することが可能になります.システムで`#!' がサポートされている場合は`yes',そうでなければ`no' を設定しま す.
large-file supportのために用意しています.ホストによっては,大きなファ イルにアクセスできるプログラムをビルドするため,特別なコンパイラオプショ ンが必要になります.そのようなオプションを出力変数
CCに,全て追加 します.必要な場合は,_FILE_OFFSET_BITSと_LARGE_FILESを定 義します.大きなファイルのサポートは,--disable-largefileオプションを用い てコンフィグレーションすることで利用不可能にすることが可能です.
このマクロを使用する場合,大きなファイルのサポートが利用可能なときは,
off_tがlongより長いときが一般的なので,それでもプログラム が動作するかどうかを調査してください.例えば,printf ("%ld", (long) X)で任意のoff_tの値Xを出力しても正しくなくなります.LFSは
fseekoとftello関数を,Cのoff_tを使用していないfseekとftellに相当するものを置き換えるために導入しました. それらの関数を使用しているときで,大きなファイルのサポートが利用可能になっ ているときに,利用可能なプロトタイプを作成するためにAC_FUNC_FSEEKOを注意して使用して下さい.