Next: , Previous: , Up: ASDFがコンパイルされたファイルを保持する場所を設定する   [Contents][Index]


9.4 設定ディレクトリ

設定ディレクトリ内の.confファイルのDSLは、アウトプットトランスレーションを設定するDSLと少し異なります。まず、ディレクティブを(:output-translations ...)で囲む必要はありません。また、継承ディレクティブ:inherit-configuration:ignore-inherited-configurationは使えず、ディレクティブのリストの末尾に暗黙に:inherit-configurationが加わります。これらに反した設定ファイルを読み込むと、ASDFはuiop:invalid-configurationエラーを通知するでしょう。なお、ディレクトリ中の設定ファイルは、そのネームストリングに従ってstring<の順で読み込まれ、ディレクティブもこの順番で結合されます。

Common Lispソフトウェアのディストリビューションは、自身の設定ファイル(例えば10-foo.conf)を設置する際、すべてのユーザーに対する設定は/etc/common-lisp/asdf-output-translations.conf.d/10-foo.confを、ユーザー単位の設定は~/.config/common-lisp/asdf-output-translations.conf.d/10-foo.confを使うことができます。そうすれば、インストールされるソフトウェアの設定情報を、容易かつモジュール化された形で登録できるでしょう。例えばDebianのパッケージや、将来のバージョンのclbuildがそうなることでしょう。51

設定ディレクトリ内の設定ファイル名は、上で挙げたように2つの数字から始めるのが慣習です。こうすることで、設定が読み込まれる順番を決めることができます。また、ファイル形式は.confでなければなりません。この仕様のメリットは、単に実装が簡単であるだけでなく、設定ファイルを無効にするにはただファイル形式を変えればよい、という点にもあります。

設定ファイル内で別の設定ディレクトリをインクルードしたい場合は、ディレクトリのパス名か文字列を:includeディレクティブに指定してください:

	(:include "/foo/bar/")

Footnotes

(51)

[訳注] clbuildは2018年現在、メンテナンスされていません。