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