再配置アルゴリズム
LilyPond は、次のアルゴリズムを使用してデータファイルを検索します。
- 現在実行されている
lilypond バイナリが配置されているディレクトリを計算します。これを bindir としましょう。
(内部) 環境変数 INSTALLER_PREFIX を bindir/..
(つまり、bindir の親ディレクトリ) にセットします。
- 環境変数
LILYPOND_DATADIR を確認します。セットされている場合は、その値を LilyPond のデータ ディレクトリ datadir
に使用します。それ以外の場合は、$INSTALLER_PREFIX/share/lilypond/version
(version は現在の LilyPond バージョンです) または
$INSTALLER_PREFIX/share/lilypond/current を使用します。
- 環境変数
LILYPOND_LOCALEDIR を確認します。セットされている場合は、その値を LilyPond のロケール データ ディレクトリ
localedir に使用します。それ以外の場合は、$INSTALLER_PREFIX/share/locale を使用します。
- 環境変数
LILYPOND_RELOCDIR を確認します。セットされている場合は、その値を LilyPond の再配置ファイルのディレクトリ
relocdir に使用します。それ以外の場合は、$INSTALLER_PREFIX/etc/relocate を使用します。
-
datadir が存在しない場合は、代わりにコンパイル時の値を使用します。
localedir についても同様です
(ただし、relocdir に関しては無意味なので、同様ではありません) 。
-
relocdir が存在する場合は、再配置ファイル の説明に従って、このディレクトリ内のすべてのファイルを処理します。