
On Tue, Oct 21, 2003 at 02:03:03PM +0100, Simon Marlow wrote:
I presumed that, as the ghci command loads all usable libraries, then
ghci -package-conf myPackage.conf -package myPackage
will load all that `ghci' loads + what is specified in myPackage.conf.
But, probably, this is not (should not be?) so: the option
-package-conf myPackage.conf
fully replaces the configuration, and the package search is done only according to what is specified in myPackage.conf , right?
No, packages are loaded on a demand-driven basis. Packages must have correct dependencies specified, so that GHC can ensure that they are loaded in dependency order. The -package-conf flag does not cause the configuration to be "fully replaced".
It is hard to understand how do they work. In my real practice, the project creates a package docon which refers to the .a, .o libraries in $(e)/ that are build earlier by `making' the project (.o library appears a bit later, at the stage of creating the package by ghc-pkg ... -u -g ). The project imports and re-exports Data.FiniteMap, (maybe, Data.Set,) and all the Standard library modules. The package should work both as ghci $dOpts UserModule and as ghc $dOpts --make UserModule with dOpts = -package-conf docon.conf -package docon Now, does the package Package {name = "docon", import_dirs = ["$(e)"], source_dirs = [], library_dirs = ["$(e)"], hs_libraries = ["HSdocon"], extra_libraries = [], include_dirs = [], c_includes = [], package_deps = ["data"], extra_ghc_opts = [$(extraPackageOpts)], extra_cc_opts = [], extra_ld_opts = [] } e = .../source/export extraPackageOpts = such and such complier flags specify of what it is intended? In particular, what should be package_deps = [ ?? ] ? Thank you in advance for the advice, ----------------- Serge Mechveliani mechvel@botik.ru
participants (1)
-
Serge D. Mechveliani