Looks good. I got my OS X info from the ltdl documentation; it's likely that it isn't 100% up to date with their code in CVS. I'd say include it into the source tree, but possibly in a subdirectory someplace (like dbmail/ltdl/).
Don't forget that it's not just the 'backend' -- there's also the auth-sql split, and sorting to worry about. Not a big deal, something like: AUTH_TYPE = [sql, ldap] DB_TYPE = [mysql, pgsql, oracle] It would make sense to have full-path-to-library option as you've suggested, but only as a sort of "expert mode." For the general case, DBMail should figure that out by itself using just a this-or-that type option. Aaron Dan Weber <[EMAIL PROTECTED]> said: > Aaron Stone wrote: > > >dlopen() is native on Linux and Solaris. If it's just Mac OS X that you're > >worried about, there's also dlcompat(). > > > >http://www.opendarwin.org/projects/dlcompat/ > > > >To support Windows, HP-UX, and others, you are correct that libtool or glib > >will be appropriate. Here's a good HOWTO on the subject (mostly for dlopen, > >though) > > > >http://www.dwheeler.com/program-library/Program-Library-HOWTO/index.html > > > >AFAICT, nobody supports Mac OS X natively; dlcompat() seems widely used. > > > > > Ltdl claims it supports Mac OS X. > > >I'm still skeptical about becoming dependant upon glib, so I'd prefer to see > >libtool's ltdl used. They appear to be equivalently featureful. Additionally, > > because libtool makes generating shared libraries a breeze, it is likely > > that > >you'll need it for your libdbmail.so project anyways. > > > > > LTDL is seperate from libtool in most cases anyway, but it is very small > and could even be patched into the source tree (two files, header and > cfile). Do you want to keep it external or have it in the source? > > Understood. Most of the LTDL work is going to be like a list of all the > functions and their type casts and a for statement to grab them all from > the backend. Btw, I am designating the following way to change sql > databases for dbmail in the conf file. > > BACKEND="/usr/lib/dbmail/lib*sql.so.0" > > > Dan Weber > > >Aaron > > > > > >Dan Weber <[EMAIL PROTECTED]> said: > > > > > >>I am trying to decide which to use for dynamic library loading. The > >>choices are glib's interface, or libtool's interface (ltdl). The > >>standard dlopen() is not very portable (e.g. it doesn't exist on > >>macosx). Both provide nice interfaces, someone give me some feedback. > >> > >>Dan Weber > >> > >> > > > > > > > > > --------------enigAF430DBEDC23AB99CF5DB0B7 > Content-Type: application/pgp-signature; name="signature.asc" > Content-Description: OpenPGP digital signature > Content-Disposition: attachment; filename="signature.asc" > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.4 (GNU/Linux) > Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org > > iD8DBQFAs+72F6i3K/AxoQERAu6gAJ0atp7DtTdQ0VkB1cVJOhT0ynWsmgCfR2Nr > w+f2E4SS+EGHW4QVumEjHDQ= > =qXGN > -----END PGP SIGNATURE----- > > --------------enigAF430DBEDC23AB99CF5DB0B7-- > > --===============0848337565== --