Automake Support for cyrus-imapd 2.5

Greg Banks gnb at fastmail.fm
Mon Apr 16 22:54:21 EDT 2012



On Mon, Apr 16, 2012, at 11:57 AM, Дилян Палаузов wrote:
> Hello,
> 
> My comments on Greg's 2nd comments on my comments on my commits:
> 
> > commit "*/Makefile.in: add top_(builddir,srcdir) to CPPFLAGS"
> > [...]
> > Also, why do we have "-I. -I$(srcdir)" in some CPPFLAGS but not others?
> 
> The final Makefile.am does not have -I$(srcdir), probably as 
> intermediate step -I$(srcdir) was necessary.

Ok,

> >
> > +    INSTALLDIRS =>  'vendor',
> >
> > Please don't do that!  I just had to do a whole bunch of futzing to
> > avoid it :(
> 
> INSTALLDIRS =>  'vendor' was initially there, then it was removed by you 
> on Friday with commit abd6dcd95abd329b3a (Revert "Bug 3652 - install 
> Perl modules into 'vendor' dirs"), but somehow was not merged very 
> correctly in my branch.

Ah, ok.

> > commit "imap/Makefile.in: order everything alphabetically"
> >
> > My comments from lib/Makefile.in about splitting these up 1 per line
> > also apply here.
> >
> > In LOBJS, imapparse,o, message.o, saslclient.o, saslserver.o are out of
> > order.
> >
> > In IMAPDOBJS, proxy.o is out of order.
> >
> > In PROGS, cyr_dbtool and cyrdump are out of order
> >
> > There's a reason why $SERVICE ought to be linked first, or at the very
> > least before any libraries from outside the project: it contains main()
> > and must have the first definition of main() seen by the linker even if
> > some library also defines main().
> 
> Yes, but in the final Makefile.am things are correct.

Ok.

> In master:Makefile is written: SUBDIRS = @SERVER_SUBDIRS", and 
> SERVER_SUBDIRS is "master imap" according to master:configure.in.
> 
> master:master/Makefile.in contains
> LOBJS = service.o service-thread.o
> all: $(LOBJS)
> 
> so I thought the reason for the ordering of master/ before imap/ was to 
> make sure, that service.o is compiled in master/, before changing to
> imap/.
> 
> As with linking, in Automake there are _SOURCES and _LDADD.  $SERVICE 
> goes into _SOURCES, any libraries go into _LDADD.

Ah, that's ok then.

> > commit "Initial Automake support"
> >
> > Do we need the 'depend' target?  Surely automake handles that for us.
> The depend target is removed in subsequent commits together with
> makedepend.

Ok.

> >
> > +       SIEVE_LIBS="../sieve/libsieve.a"
> >
> > $(top_builddir)
> 
> 
> SIEVE_LIBS can be extended with $(top_builddir).  In fact at the end, 
> SIEVE_LIBS and SIEVE_OBJS are used only for Cunit checks.  So if 
> Cunit/Makefile.in can be merged to /Makefile.am SIEVE_LIBS and 
> SIEVE_OBJS can be completely removed from configure.ac .

Ok, great.

-- 
Greg.


More information about the Cyrus-devel mailing list