Libtool and Support for Shared Libraries (3)
Greg Banks
gnb at fastmail.fm
Tue Jun 5 07:46:22 EDT 2012
On Tue, Jun 5, 2012, at 12:49 PM, Дилян Палаузов wrote:
> Hello,
>
> now libcyrus and libcyrus_min are compiled once as shared libraries,
> once under perl/ as non-static convenience libraries,
> perl/imap/IMAP.so and perl/sieve/managesieve/managesieve.so link
> statically with the non-static convenience libraries,
> so that IMAP.so and managesieve.so do need neither libcyrus and
> libcyrus_min at run time nor the RPATH with those libraries at tun time.
Sounds promising.
> I hope this is the end with the shared libraries, before they can be
> merged.
> [...]
>
> After merging the support for sieve-seconds, jenkins did not rebuild
> sieve/sieve.c from sieve/sieve.y (it considered probably sieve.c newer
> as sieve.y), I fixed tools/jenkins-build.sh to run "make
> maintainer-clean" (instead of "make distclean") before each run, so that
> sieve/sieve.c is deleted. This caused deleting also
> imap/rfc822_headers.[ch], which were not rebuild, as ./configure was not
> run with --enable-maintainer-mode.
Well, that's a bug with maintainer-clean. The definition of
maintainer-clean in the make documentation says
`maintainer-clean'
Delete almost everything that can be reconstructed with this
Makefile. This typically includes everything deleted by
`distclean', plus more: C source files produced by Bison, tags
tables, Info files, and so on.
So if maintainer-clean deletes something that can't be rebuilt with the
current configure settings, it's broken.
> If gperf is installed on
> jenkins.cyrusimapd.org the next build shall run normally.
--
Greg.
More information about the Cyrus-devel
mailing list