
On Wed, 2008-03-05 at 15:08 -0800, Don Stewart wrote:
alistair:
ross:
If you want to use your own Setup.hs, you need to specify a Build-Type of Custom, not Simple. Some tools will ignore your Setup.hs if you specify Simple. I guess the message "If possible use 'build-type: Simple'" is a bit confusing.
Yes, cabal-setup found this confusing.
I wonder if its possible to just use flags for building the different takusen backends, rather than this automagic uber-discovery?
Mebbe... are you suggesting command-line flags, or cabal flags? I'm certainly open to suggestions for improving the install.
It would be possible to turn the backends on/off via configuration flags, like: flag odbc library if flag(odbc) exposed-modules: Blah.Backend.ODBC extra-libraries: odbc however that is considered a bit evil, changing the exposed interface based on flags. We did even consider banning that outright (except that the base package does it for the GHc.* modules). It also means that other packages cannot depend on a particular backend, they can only tell users to use certain configure flags. It cannot be automated. What do you do if the user does not have the ODBC or the postgresql C libs installed? Do they have to have all backends installed to use just one? The custom code in Setup.hs to find the flags by calling pg_config etc is perfectly ok. It is unfortunately a bit fragile however but I don't have any better suggestion at the moment. Duncan