Use prepocessor, so it compiles without cabal also