[Haskell-cafe] cabal, multi-file applications
Gwern Branwen
gwern0 at gmail.com
Tue Dec 23 11:59:56 EST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
2008/12/23 Cetin Sert :
> Hi,
>
> I get the following error message:
>
> cetin at unique:~/lab/test/qths/hnm$ make configure
> runhaskell Setup.hs configure
> Configuring HNM-0.2...
> cetin at unique:~/lab/test/qths/hnm$ make build
> runhaskell Setup.hs build
> Preprocessing library HNM-0.2...
> Preprocessing executables for HNM-0.2...
> Building HNM-0.2...
>
> demo3.hs:4:7:
> Could not find module `HNM.WLAN':
> Use -v to see a list of the files searched for.
> make: *** [build] Error 1
>
> when I try to build the following program:
> http://sert.homedns.org/hs/hnm/
> http://sert.homedns.org/hs/hnm/hnm.cabal
>
> How can I tell in my cabal file that wlan.hs should be built first than
> settings.hs than demo3.hs?
>
> Best Regards,
> Cetin Sert
You need some changes like this (as a Darcs patch):
adddir ./HNM
move ./settings.hs ./HNM/Settings.hs
move ./wlan.hs ./HNM/WLAN.hs
hunk ./hnm.cabal 3
- -Description: Happy Network Manager
- -License: BSD
+Synopsis: Happy Network Manager
+Category: Network, System
+homepage: http://sert.homedns.org/hs/hnm/
+License: BSD3
hunk ./hnm.cabal 9
- -Maintainer: cetin at sertcom.de
+Maintainer:
hunk ./hnm.cabal 13
+data-files: settings.conf
+
hunk ./hnm.cabal 17
- -ghc-options: -O3 -fglasgow-exts
+other-modules: HNM.WLAN, HNM.Settings
+ghc-options: -O2 -fglasgow-exts
Note that -O3 is counterintuitively no better than -O2, and may be
worse. You should probably change the -fglasgow-exts to individual
per-file {-# LANGUAGE #-} pragmas. And you don't declare all your
dependencies, for example I see Gtk2Hs imports, but no declarations in
build-depends:.
To solve your problem, you need to put the module names in
other-modules:, but your modules are at wrong names. If a module's
name is HNM.Settings, then it needs to be at Settings.hs.
- --
gwern
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEAREKAAYFAklRGQcACgkQvpDo5Pfl1oLDHgCfcRswCMsUUPZLknvUrENM/MmD
U7gAoIBq0CXXU6XHKn0L4kGi45zENNJ3
=txxi
-----END PGP SIGNATURE-----
More information about the Haskell-Cafe
mailing list