Previous: Canonicalizing, Up: Manual Configuration


11.3 システムタイプを使用する

どのようにして標準的なシステムタイプを使用するのでしょう?通常,システム 特有のCファイルを選択するためにconfigure.acで,一つ以上の case文を使用します.AC_CONFIG_LINKSを使用し,システム名に 基づくこれらのファイルを,host.htarget.cのような一般的な 名前にリンクしてください(see Configuration Links).case 文の パターンでは,以下の断片部分のように,複数の状態を分類するためシェルのワ イルドカードを使用することが可能です.

     case $target in
     i386-*-mach* | i386-*-gnu*)
                  obj_format=aout emulation=mach bfd_gas=yes ;;
     i960-*-bout) obj_format=bout ;;
     esac

そして,その後でconfigure.acでは以下のように使用します.

     AC_CONFIG_LINKS(host.h:config/$machine.h
                     object.h:config/$obj_format.h)

上記の例では,いくつかのアーキテクチャ($build)でビルドされ,別の もの($host)で実行することが可能なツールから持ってこられているため, $targetを使用していて,第三のアーキテクチャ($target)に対す るデータを扱っていることにに注意してください.そのようなツールは,通常コ ンパイラスイートの一部で,それは特殊な$targetに対するコードを生成 します.

しかし,$targetはほとんどのパッケージで意味が無いようにすべきです. プログラムを実行するシステムを決定の基本にしたい場合,以下の抜粋部分のよ うに,$host変数を使用していることを確かめてください.

     case $host in
       *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-windows*)
         MUMBLE_INIT="mumble.ini"
         ;;
       *)
         MUMBLE_INIT=".mumbleinit"
         ;;
     esac
     AC_SUBST([MUMBLE_INIT])

クロスコンパイルツールを探すため,ホストシステムタイプを使用することも可 能です.そうするためのAC_CHECK_TOOLマクロの情報は,See Generic Programs.