Czy można w jakiś sposób skonfigurować projekt kabalowy do używania innego kompilatora niż GHC? Dodatkowe jest to możliwe do kontrolowania tego przez niektóre flagi?Zastąp kompilator podczas budowania projektu Haskell za pomocą Cabala
Chcę skompilować mój projekt z GHC lub Haste (do JavaScript) na podstawie niektórych flag kompilacji.
Byłoby idealnie, gdyby mógł mogę ustawić konfigurację Cabal lub mój własny skrypt, aby zrobić coś takiego:
-- target JS
cabal configure --target=js
cabal build
-- target Native
cabal configure --target=native
cabal build
Dziękujemy! Czy mogę również użyć różnych opcji 'project.cabal'? W kodzie mogę użyć '# ifdef' i chcę na przykład wersji JS nie mieć' build-depends' of 'graphviz'? –
dodatkowe - czy '{- # LANGUAGE CPP # -}' jest w jakiś sposób połączone z 'backendem' ghc cpp'? Chcę użyć backendu 'LLVM'. –
@ danilo2 Aby odpowiedzieć na drugie pytanie: pragma CPP nie musi nic robić z C++. Pozwala na użycie procesora [C preprocesora] (http://en.wikipedia.org/wiki/C_preprocessor) - aka "cpp". Cpp wykonuje tylko warunkowe _procesowanie_procesowe_ (włączając lub wyłączając części kodu) używając '# if' i' # ifdef', ale normalnie (w przypadku Haskella) nie ma wpływu na samą kompilację. – phg