Automake Support for cyrus-imapd 2.5
Greg Banks
gnb at fastmail.fm
Mon Apr 16 05:03:11 EDT 2012
On Mon, Apr 16, 2012, at 04:44 PM, Greg Banks wrote:
> Have to go now, more later.
commit "*/Makefile.in: add top_builddir"
Looks good.
commit "*/Makefile.in: insert $(top_builddir) in all DEPLIBS"
Looks good
commit "*/Makefile.in: add top_(builddir,srcdir) to CPPFLAGS"
+CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)
-I$(top_builddir)/lib @COM_ERR_CPPFLAGS@ @CPPFLAGS@ @SASLFLAGS@
Surely the correct order is
-I$(top_builddir)
-I$(top_srcdir)
-I$(top_builddir)/lib
-I$(top_srcdir)/lib
?
Also, why do we have "-I. -I$(srcdir)" in some CPPFLAGS but not others?
commit "(timsieved,sieve)/Makefile.in: OBJS order alphabetically"
Looks good.
commit "(master,perl/sieve/lib)/Makefile.in: add $(top_builddir) to
LIBS"
Looks good
commit "perl/Makefile*: enable building perl modules out of srcdir"
+ if [ -f ../${srcdir}/$$d/Makefile.PL -a ! -f
Makefile ]; then \
This breaks if $srcdir is an absolute rather than a relative path. In
fact so does this
+ srcdir="../${srcdir}/$$d" \
+ top_srcdir="../$(top_srcdir)" \
It might be a whole lot simpler to generate Makefile.PL from
Makefile.PL.in at configure time. Then, you could run the Makefile.PL
from configure using AC_CONFIG_COMMANDS.
+ INSTALLDIRS => 'vendor',
Please don't do that! I just had to do a whole bunch of futzing to
avoid it :(
commit "perl/imap/IMAP.xs: remove #include <config.h>"
Looks good.
commit "imap/Makefile.in: remove linking with tls.o, when libimap.a
linked"
Looks good.
commit "imap/Makefile.in: remove linking with mupdate-client.o, when
libimap.a"
Looks good
commit "imap/Makefile.in: remove backend.o and imapparse.o, when -limap"
Looks good
commit "imap/Makefile.in: idled: do not link explicitly with idlemsg.o"
Looks good
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().
cyr_info links masterconf.o but does not depend on it.
commit "imap/Makefile.in: abolish SIEVE_CPPFLAGS"
Looks good.
commit "rename $service_path to $servicedir"
+AC_DEFINE_UNQUOTED(SERVICE_PATH,"$servicedir",[Directory to use for
service binaries])
Don't you want to rename SERVICE_PATH too?
Also, the difference between $servicedir and $bindir is slight; in the
default arrangement one will be /usr/cyrus/bin and the other /usr/bin.
I would hope that eventually we could eliminate $cyrus_prefix and
replace $servicedir with $bindir.
commit "remove cyrus_prefix from every Makefile.in, as it is unused"
Since three days ago, it is used, in the perl/ directories to expand
$PERL_PREINSTALL. Otherwise, looks good.
commit "configure.ac: remove check for libfl"
Looks good,
commit "configure.ac: remove AC_DEFINE(WITH_PTS,[],[Build in PTS
support?])"
Looks good
commit "configure.ac: remove SNMP_SUBDIRS"
Sure. I hope to resurrect the SNMP code in some future version, maybe
2.6, but for now we can remove this.
commit "configure.ac: remove ${SQL_LIBS} from IMAP_LIBS"
Looks good
commit "Initial Automake support"
Do we need the 'depend' target? Surely automake handles that for us.
+ SIEVE_LIBS="../sieve/libsieve.a"
$(top_builddir)
commit "Makefile.am: merge man/Makefile.in"
Looks good.
This time I really have to go, more tomorrow.
--
Greg.
More information about the Cyrus-devel
mailing list