On Wed, 2001-11-14 at 09:25, Derek Atkins wrote: > They link against it at runtime, not link time.
This is completely different from the policy we have adopted for other modules. You can argue with that policy if you want, and if it's broken it should be changed, but that's the way other modules work and that's how we have been trying to make them all work. The guiding principle is that gnc:module-load of a module file should be able to automatically load all the dependent modules, which means that they must be linked in at library-build time. > As I've said the Dave in private mail, I still don't really understand > how modules work in GC, but considering what I've got is working I'm > just going to stick with it and wait until later to "do it right". > I'd rather work on getting the features written and tested than making > sure I follow the proper module usage. Please take some time to try to understand what's going on now, and what does or doesn't work about it. We need to improve and complete the implementation and policy surrounding the module system, and we can't do that if folks are circumventing it and putting off changes until later. > I've pretty much tried to copy what the engine and "gnc" modules > (Aside: I think 'gnc' is a really bad name for the Gnome interface > module!) do. Note that the gnc module does NOT link against > libgncmod-engine.la either... It does what I do: (use-module (... engine)) I'm not sure what you're talking about here. There is no "gnc" module that I know of. The gnome code isn't in a gnc-module at all, but rather just a big glom of a shared library, libgncgnome.la. The 'gnc' g-wrap bindings are the last vestiges of the One Big G-wrap File that used to be in src/guile; it's called gw-gnc right now, but that's just because it will be gotten rid of completely soon and there's no point in changing the name just for a couple of weeks. It's not a gnc-module either. I hope the (use-modules ...) thing was just a typo ... gnc-modules aren't Guile modules, they are a separate animal, and you load them using (gnc:module-load module-name interface-number). You certainly shouldn't load the engine by a use-modules call. It's a gnc-module, and it runs code in its gnc-module initialization function that won't get run if you bypass the gnc-module system and load that guile module directly. > Don't I wish -- but no, I need to call into the engine and some of > the gnome-utils functions. In fact, I can't see how this would ever > work. You need to link against those modules, then. Please add the test-link and test-load-module tests that I described in my previous message into your test suite; they will help you debug broken dependencies. Thanks, Bill Gribble _______________________________________________ gnucash-devel mailing list [EMAIL PROTECTED] http://www.gnucash.org/cgi-bin/mailman/listinfo/gnucash-devel
