Hello,

I wanted to upload a new branch for testing libtool/shared libraries functionality, but something went wrong and the 13 commits were uploaded on top of 'master' instead of creating a separate branch. I am sorry for the surprises this might cause. Anyway...

I have updated cyrus-imapd to use libtool and build shared (and static) libraries, and the binaries to use the shared libraries. I hope you like the results.

Some issues:
-- where shall the libraries be installed? Currently libcyrus and libcyrus_min go under $libdir (e.g. /usr/lib), as this was before with using libtool

-- libimap and libsieve are installed under pkglibdir = $cyrus_prefix/lib, e.g. /usr/cyrus/lib . If the libraries are moved to $libdir, then they shall probably be renamed to libcyrus_imap and libcyrus_sieve to avoid conflicts with other libraries with the same (common) name

-- I have problems with MakeMaker, it would be very, very nice if somebody considers to change the build system for the perl files, e.g. switch to something more modern and developed like Module::Build (to what I read MakeMaker is not developed any more). In any case, the perl modules are linked with the static libraries of libcyrus_min and libcyrus, so currently for the binaries the shared libraries are used, for the perl-stuff the static libraries are used and cyrus-imapd compiles by default both shared and static libraries.

-- in the future library versioning could be used, e.g. to associate library-version to a cyrus-imapd release or so, at the moment my idea was just to make shared libraries and these are un-versioned.

Enjoy!
  Dilian

<<attachment: dilyan_palauzov.vcf>>

Reply via email to