[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: support for dynamically loadable modules (ITS#196)


I've uploaded a new version of the dynamic module patch. You can find it at:

Changes against v0.1:

1)Addition of options --with-ldbm-module=static | dynamic , etc. to configure. By
default all modules are static, even when --enable-modules is turned on. Defining
--with-<backend>-module = dynamic will result in preprocessor definition of
'SLAPD_<BACKEND>_DYNAMIC' . In backend.c and the init.c files of the particular
backends the define will be checked to determine wether a backend module is dynamic,
instead of SLAPD_MODULES.
Building and installing dynamic modules still has to be performed by hand. Help on
sorting this out (libtool stuff, etc.) would be appreciated.

2)Failure to call init_module() at module load time (for example because the module
does not contain a function with this name) is now a fatal error, not a warning.

Thanks to the above changes slapd can be compiled with --enable-modules without
creating problems with building backends, since you can keep the existing ones compiled
in if you like.
Since the negative side effect of enabling modules has been  removed and resolving the
issues for building dynamic backends will likely be a team effort, I would like to put
the patch in the CVS repository. My intend is to create a branch OPENLDAP_DEVEL_DYNMODS
for this. If there are any objections, please let me know!


begin:          vcard
fn:             Bastiaan Bakker
n:              Bakker;Bastiaan
org:            LifeLine Networks BV
email;internet: Bastiaan.Bakker@lifeline.nl
x-mozilla-cpt:  ;0
x-mozilla-html: TRUE
version:        2.1
end:            vcard