> I just checked in changes to platforms/linux.[hc] that add wrappers
> around the dynamic loading functions that work here.

Umm, this worries me a little as being too platform-specific.  (Not to
pick on anyone in particular, this message just finally nudged me enough
to try to write down some thoughts that have been bothering me for a
little while.)

What specifically do you expect might end up in linux.[hc] as opposed to,
say, solaris.[hc]?  How many different *bsd.[ch] files do you propose? How
many different System V.4-derived platform files do you propose?

If you look at perl5's ext/DynaLoader, you'll see that most unixish
systems use (almost) the same dlopen() interface, so only one file (with a
few #ifdefs) is required.  Most of those #ifdefs should be feature probes
that are automatically probed by Configure. Others, such as VMS, OS/390,
OS/2, Win32, etc., probably do need separate files.

But wherever possible, try to have a default generic file so that
platforms we've never even heard of have a chance to work.  The problem is
one of longterm maintenance and flexibility.  Vendors change names and
introduce new products with new names all the time, but often keep much of
the same underlying structure.  Thus "foonix" may change names to "barnix"
and later to "OpenFoo" and yet all three might well still use the same
dlopen() interface and not need any specific platform.c file at all.

Welcome to the wonderful world of porting.

Cheers,

-- 
    Andy Dougherty              [EMAIL PROTECTED]
    Dept. of Physics
    Lafayette College, Easton PA 18042

Reply via email to