È possibile configurare in qualche modo un progetto di cabal per utilizzare un compilatore diverso da GHC? Inoltre è possibile controllarlo con alcune bandiere?Sostituire il compilatore quando si crea un progetto Haskell con Cabal
Desidero compilare il mio progetto con GHC o Haste (su JavaScript) basato su alcuni flag di compilazione.
Sarebbe ideale se ho potuto impostare la mia configurazione cabala o il mio script personalizzato per fare qualcosa di simile:
-- target JS
cabal configure --target=js
cabal build
-- target Native
cabal configure --target=native
cabal build
Grazie! Posso usare anche diverse opzioni 'project.cabal'? Nel codice posso usare '# ifdef' e voglio ad esempio la versione JS di non avere' build-depends' di 'graphviz'? –
aggiuntivo - fa '{- # LANGUAGE CPP # -}' è in qualche modo connesso con il 'ghc cpp backend'? Voglio usare il backend 'LLVM'. –
@ danilo2 Per rispondere alla seconda domanda: il prplma CPP non deve fare nulla con C++. Permette di usare il [C preprocessore] (http://en.wikipedia.org/wiki/C_preprocessore) - alias "cpp". Il cpp esegue solo _preprocessing_ condizionale (includendo o escludendo parti di codice) usando '# if' e' # ifdef', ma normalmente (nel caso di Haskell) non influenza la compilazione stessa. – phg