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

backend modules



I have just committed a set of Makefile-related changes for building
backends as dynamic modules. I've created a new "mod.mk" template based on
the srv.mk and lib-shared.mk templates. I have also added two options to
ltmain.sh & libtool:
  --only-shared to force creation of a shared library while
      omitting the static library
  --only-static to force static libs and omit shared

The rules in mod.mk will use one option or the other depending on whether or
not a particular backend is configured as dynamic. In the static case, the
result should look the same as the current backend Makefile produces.
In the dynamic case, the end result will be a .so file. I've also committed
a Makefile.in for the back-ldap backend as an example. In this case, the
result for a dynamic build will be back-ldap.so .

The Makefile.in is still missing one piece: there is no install rule. I
don't believe slapd modules should be named like regular libraries, nor
should they go into regular library directories. Thus, I chose names like
"back-ldap.so" instead of "libback-ldap.so". I think these things should be
installed in the same directory as the config files, i.e.
/usr/local/etc/openldap, as opposed to some place like /usr/local/lib or
/usr/local/libexec. In any case, the full pathname must be given when using
loadmodule in the slapd.conf file. Does anyone have any thoughts on this
matter?