たてたてよこよこまるかいてちょん

組み込み関連の情報を共有するためのブログです

asdf2の設定ファイルのメモ

quicklispで 小さいプロジェクトを作成してみようとすると、ASDF2で asdファイルを検索するサーチパスを設定する必要があるらしい。そうなの?

~/quicklisp/local-project/でもいいんじゃないのと思うが、ここにしか置けないのは不自由だし、Zach BeaneがMaking a small Lisp project with quickproject and Quicklispそう書いているので従っておく。

では、ASDF2 の設定ファイルはというと、ASDFマニュアル4.1章 によると、設定ファイルをおくフォルダがこんなに深いところにあって、そこにconfという拡張子のファイルをおくらしい。この方法だと複数ファイルに分割しておける。
~/.config/common-lisp/source-registry.conf.d/

treeで指定すると指定フォルダ以下にある、asdファイル全て(再帰的)が指定になり、
directoryで指定すると、指定フォルダ内のasdファイルだけが指定できる(非再帰的)。

これは、~/lisp/以下全てをサーチパスに追加する設定

(:tree (:home "lisp" ))

こっちは ~/lisp/foo/だけつまり、fooプロジェクトだけサーチパスに追加する設定

(:directory (:home "lisp/foo/" ))

設定ファイルを書いたら、次に検索したときに自動的に反映されるとある。
すぐに設定したいときは、lispインタプリタから下を実行して登録する。

(asdf:INITIALIZE-SOURCE-REGISTRY)

これで、指定フォルダに置いた asdf が quickload で検索できるようになる。

リセットしたい場合は次になる。

(asdf:clear-source-registry)

ちなみに、デフォルトで、~/common-lisp/ が指定されているんだってさ。もうそれでいいんじゃないの?と思った。

詳しくは ASDFマニュアル8章を参照のこと。

記事のLicense このブログの記事は特に断りのない限り、引用部分を除いて、以下の CC-BY 4.0でライセンスします。 https://creativecommons.org/licenses/by/4.0/deed.ja ただし、ブログ内にあるコードは、特に断りのない限り、CC-BY 4.0またはMITLicense で利用できるものとします。