File di riposizionamento

Esiste in realtà un secondo meccanismo per la configurazione runtime: LilyPond fa ampio ricorso a programmi e librerie esterne, in particolare le librerie ‘FontConfig’ e ‘Guile’ per trovare i font di sistema e gestire i file Scheme, e al programma gs per convertire i dati PS in file PDF. Tutti questi devono anche essere configurati per individuare i propri file di dati. Per far ciò, il programma lilypond analizza tutti i file presenti in una directory chiamata relocate (se esiste; vedi sotto dove si cerca questa directory) per manipolare le variabili d’ambiente, che a loro volta controllano queste librerie e programmi esterni. Il formato di tali file di riposizionamento è semplice; ogni riga ha la sintassi

comando chiave=valore

e le righe vuote vengono ignorate.

La direttiva comando è una delle seguenti.

set

Imposta incondizionatamente la variabile d’ambiente chiave su valore. Sovrascrive un valore impostato precedentemente.

set?

Imposta la variabile d’ambiente chiave su valore solo se chiave non è ancora stata definita. In altre parole, non sovrascrive un valore impostato precedentemente.

setdir

Se valore è una directory, imposta incondizionaramente la variabile d’ambiente chiave su valore. Altrimenti, emette un avviso.

setfile

Se valore è un file, imposta incondizionaramente la variabile d’ambiente chiave su valore. Altrimenti, emette un avviso.

prependdir

Antepone il valore della directory all’elenco delle directory della variabile d’ambiente chiave. Se chiave non esiste viene creata.

Le variabili d’ambiente (precedute dal segno del dollaro) sono permesse dentro il valore e vengono espanse prima che la direttiva sia eseguita.

Ecco due esempi di comandi di riposizionamento dei file.

set? FONTCONFIG_FILE=$INSTALLER_PREFIX/etc/fonts/fonts.conf
prependdir GUILE_LOAD_PATH=$INSTALLER_PREFIX/share/guile/1.8

Nei file di riposizionamento si dovrebbe evitare di inserire molteplici righe che impostano la stessa variabile d’ambiente, perché l’ordine di analisi dei file nella directory relocate è arbitrario.


LilyPond: manuale d’uso del programma v2.25.21 (ramo di sviluppo).