Re: [Hackage] #179: support GHC's main-is extension

#179: support GHC's main-is extension ----------------------------+----------------------------------------------- Reporter: duncan | Owner: Type: enhancement | Status: new Priority: low | Milestone: _|_ Component: Cabal library | Version: 1.2.2.0 Severity: normal | Keywords: Difficulty: normal | Ghcversion: 6.4.2 Platform: Linux | ----------------------------+----------------------------------------------- Comment(by Evi1M4chine): Hey, I just noticed the same problem, and I think it’s weird to force the main function to be “main” in the module “Main”. First of all, because most people in the world don’t prefer English as it isn’t their native language, and secondly because the main module, main function and main file name should 1. be the same and 2. be the name of your project. I have a program called “Ozon”, which has to build targets: Programm: ghc -threaded -static -O2 -fPIC -Wall -Wwarn -outputdir bauen -fglasgow-exts -iquellen -main-is Ozon.ozon -o ozon --make quellen/Ozon.hs Test: ghc -threaded -static -debug -O0 -fPIC -Wall -Wwarn -outputdir bauen -fglasgow-exts -iquellen -main-is Ozon.teste -o teste --make quellen/Ozon.hs As you can see, the main module (Ozon) in the main file (Ozon.hs) has *two* main functions. One for each mode/target. With Cabal, it’s not possible do do this, and you’re forced to make a mess out of it, by inconsistently naming things and splitting up files that shouldn’t be split up. Even enforcing “-main-is" in “ghc-options:” is not working with two build targets. (Unless leksah 0.8.0.8 generates the cabal file wrongly, but I don’t think so.) The second one is simply ignored, and both resulting binaries are exactly the same. It would be enough, if those ghc-options would work properly. But of course, main-is should be renamed main-file-is, and a main-function-is should be added. (The main module name can be automatically deduced from the “module” statement in the main file.) -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/179#comment:12 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects
participants (1)
-
Hackage