2013-03-02 11 views
27

Spesso ho proprietà simili in molte stanze dei miei file .cabal. Per esempio.Eliminazione della ripetizione nei file cabal

Library x 
    ... 
    ghc-options: 
     -O2 -Wall -fno-warn-missing-signatures -fwarn-incomplete-patterns 
     -fno-warn-name-shadowing 

Executable y 
    ... 
    ghc-options: 
     -O2 -Wall -fno-warn-missing-signatures -fwarn-incomplete-patterns 
     -fno-warn-name-shadowing 

Mantenerli coerenti è noioso e soggetto a errori. C'è un modo migliore?

Ancora più difficile quando i campi sono simili ma non esattamente uguali, ad es. quando ho diversi eseguibili che hanno dipendenze di compilazione comuni ma piccole variazioni.

+2

Non credo che ci sia attualmente nessuna buona soluzione. Due opzioni per aggirare questo problema in parti sono: (A) utilizzare più campi 'ghc-options' per componente (sì, è possibile), rendendo così le opzioni condivise completamente identiche e le differenze più facili da mantenere; e (B) genera il tuo file Cabal da un'altra fonte che non contiene informazioni ridondanti. – kosmikus

risposta

Problemi correlati