GHC와 다른 컴파일러를 사용하도록 Cabal 프로젝트를 구성 할 수 있습니까? 추가로 일부 플래그로이를 제어 할 수 있습니까?Haskell 프로젝트를 Cabal로 빌드 할 때 컴파일러 바꾸기
일부 컴파일 플래그에 따라 GHC 또는 Haste (JavaScript)으로 프로젝트를 컴파일하고 싶습니다. 내 음모 구성 또는 그런 짓을하는 내 사용자 지정 스크립트를 설정할 수 있다면
그것은 이상적 일 것이다 :
-- target JS
cabal configure --target=js
cabal build
-- target Native
cabal configure --target=native
cabal build
감사합니다. 다른'project.cabal' 옵션을 사용할 수 있습니까? 코드에서'# ifdef'를 사용할 수 있습니다. 예를 들어 JS 버전에'graphviz '의'build-depends'가 없으면 좋겠습니까? –
추가 -'{- # LANGUAGE CPP # -}'는 어떻게 든'ghc cpp backend'와 연결되어 있습니까? 나는'LLVM' 백엔드를 사용하고 싶다. –
@ danilo2 두 번째 질문에 답하기 위해 CPP pragma는 C++에서 아무 것도 할 필요가 없습니다. 그것은 [C 전처리 기] (http://en.wikipedia.org/wiki/C_preprocessor) - 일명 "cpp"를 사용할 수 있도록합니다. cpp는'# if'와'# ifdef '를 사용하여 조건부 _preprocessing_ (코드 부분 포함 또는 제외)을 수행하지만, 일반적으로 (Haskell의 경우) 컴파일 자체에는 영향을 미치지 않습니다. – phg