[Dovecot] Patch: building dovecot-sieve against installed dovecot (Re: sieve discard)
Geert Hendrickx
ghen at telenet.be
Thu Aug 9 11:33:15 EEST 2007
Timo,
is this ok with you? It allows building dovecot-sieve against an installed
dovecot package (if --enable-header-install additionally installs liblib.a)
including sievec and sieved (needed for pysieved).
Geert
On Thu, Aug 02, 2007 at 10:11:38AM +0200, Geert Hendrickx wrote:
> On Wed, Aug 01, 2007 at 10:17:32PM +0200, Geert Hendrickx wrote:
> > On Wed, Aug 01, 2007 at 03:02:38PM +0300, Timo Sirainen wrote:
> > > sievec and sieved binaries are built only if you use 2) method, because
> > > they need to link with Dovecot's libraries. They can be used to compile and
> > > decompile Sieve scripts. You probably don't need these.
> >
> > According to the Makefile, they only need liblib.a to build. Can't this
> > file be installed as well with --enable-header-install (you may want to
> > rename this flag then), so that dovecot-sieve can fully be built against
> > an installed dovecot package?
>
> If dovecot with --enable-header-install installs liblib.a in the same dir
> as dovecot-config, the following patch for dovecot-sieve makes this work:
>
> --- src/libsieve/Makefile.in.orig 2007-07-20 10:19:20.000000000 +0200
> +++ src/libsieve/Makefile.in 2007-08-02 09:54:11.000000000 +0200
> @@ -38,8 +38,8 @@
> POST_UNINSTALL = :
> build_triplet = @build@
> host_triplet = @host@
> - at HAVE_DOVECOT_LIBS_TRUE@pkglibexec_PROGRAMS = sievec$(EXEEXT) \
> - at HAVE_DOVECOT_LIBS_TRUE@ sieved$(EXEEXT)
> +pkglibexec_PROGRAMS = sievec$(EXEEXT) \
> + sieved$(EXEEXT)
> subdir = src/libsieve
> DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
> $(srcdir)/Makefile.in AUTHORS COPYING ChangeLog NEWS \
> @@ -62,17 +62,21 @@
> pkglibexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
> PROGRAMS = $(pkglibexec_PROGRAMS)
> am__sievec_SOURCES_DIST = sievec.c ../map.c ../imparse.c
> - at HAVE_DOVECOT_LIBS_TRUE@am_sievec_OBJECTS = sievec.$(OBJEXT) \
> - at HAVE_DOVECOT_LIBS_TRUE@ map.$(OBJEXT) imparse.$(OBJEXT)
> +am_sievec_OBJECTS = sievec.$(OBJEXT) \
> + map.$(OBJEXT) imparse.$(OBJEXT)
> sievec_OBJECTS = $(am_sievec_OBJECTS)
> @HAVE_DOVECOT_LIBS_TRUE at sievec_DEPENDENCIES = libsieve.la \
> @HAVE_DOVECOT_LIBS_TRUE@ $(dovecotdir)/src/lib/liblib.a
> + at HAVE_DOVECOT_LIBS_FALSE@sievec_DEPENDENCIES = libsieve.la \
> + at HAVE_DOVECOT_LIBS_FALSE@ $(dovecotdir)/liblib.a
> am__sieved_SOURCES_DIST = sieved.c ../map.c
> - at HAVE_DOVECOT_LIBS_TRUE@am_sieved_OBJECTS = sieved.$(OBJEXT) \
> - at HAVE_DOVECOT_LIBS_TRUE@ map.$(OBJEXT)
> +am_sieved_OBJECTS = sieved.$(OBJEXT) \
> + map.$(OBJEXT)
> sieved_OBJECTS = $(am_sieved_OBJECTS)
> @HAVE_DOVECOT_LIBS_TRUE at sieved_DEPENDENCIES = libsieve.la \
> @HAVE_DOVECOT_LIBS_TRUE@ $(dovecotdir)/src/lib/liblib.a
> + at HAVE_DOVECOT_LIBS_FALSE@sieved_DEPENDENCIES = libsieve.la \
> + at HAVE_DOVECOT_LIBS_FALSE@ $(dovecotdir)/liblib.a
> DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
> depcomp = $(SHELL) $(top_srcdir)/depcomp
> am__depfiles_maybe = depfiles
> @@ -266,10 +270,16 @@
> @HAVE_DOVECOT_LIBS_TRUE at sievec_LDADD = \
> @HAVE_DOVECOT_LIBS_TRUE@ libsieve.la \
> @HAVE_DOVECOT_LIBS_TRUE@ $(dovecotdir)/src/lib/liblib.a
> + at HAVE_DOVECOT_LIBS_FALSE@sievec_LDADD = \
> + at HAVE_DOVECOT_LIBS_FALSE@ libsieve.la \
> + at HAVE_DOVECOT_LIBS_FALSE@ $(dovecotdir)/liblib.a
>
> @HAVE_DOVECOT_LIBS_TRUE at sieved_LDADD = \
> @HAVE_DOVECOT_LIBS_TRUE@ libsieve.la \
> @HAVE_DOVECOT_LIBS_TRUE@ $(dovecotdir)/src/lib/liblib.a
> + at HAVE_DOVECOT_LIBS_FALSE@sieved_LDADD = \
> + at HAVE_DOVECOT_LIBS_FALSE@ libsieve.la \
> + at HAVE_DOVECOT_LIBS_FALSE@ $(dovecotdir)/liblib.a
>
> @HAVE_DOVECOT_LIBS_FALSE at notbuilt_sources = sievec.c sieved.c
> @HAVE_DOVECOT_LIBS_TRUE at notbuilt_sources =
>
> This means a complete dovecot-sieve package (including sievec and sieved)
> can be compiled against either a built dovecot sourcetree or an installed
> dovecot package with --enable-header-install.
>
> I guess this will not be included in 1.0.x, but if it can be included in
> 1.1.x, I can add the patch to the pkgsrc package for now.
>
> Geert
More information about the dovecot
mailing list