2011/8/26 Patrick Ohly <patrick.ohly(a)intel.com>:
On Fr, 2011-08-26 at 13:22 +0200, Krzesimir Nowak wrote:
> 2011/8/26 Patrick Ohly <patrick.ohly(a)intel.com>:
> > On Fr, 2011-08-26 at 10:00 +0200, Krzesimir Nowak wrote:
> >> +- Look at the note at the bottom of configure.ac:
> >> +
> >> + # Avoid hard-coding paths in backends. These names are chosen so
> >> + # that a backend can alternatively use its own top-level configure
> >> + # with PKG_CHECK_MODULES(SYNCEVOLUTION, "syncevolution") to set
them.
> >> + # need absolute path, use pwd instead of relative $srcdir
> >> + SYNCEVOLUTION_CFLAGS=-I`cd $srcdir && pwd`/src
> >> + SYNCEVOLUTION_LIBS=`pwd`/src/syncevo/libsyncevolution.la
> >> + AC_SUBST(SYNCEVOLUTION_CFLAGS)
> >> + AC_SUBST(SYNCEVOLUTION_LIBS)
> >> +
> >> + Backends does not have their own top-level configure scripts, so usage
of
> >> + absolute path have to be checked. For now this is worked around
> >> + in generated backends.am. Also, for relative path not $(srcdir) should be
used
> >> + but $(builddir).
> >
> > This comment applies to the out-of-tree ActiveSync backend:
> >
http://git.infradead.org/activesyncd.git/blob/HEAD:/syncevolution/Makefil...
> >
> > It sets SYNCEVOLUTION_CFLAGS/LIBS via PKG_CHECK_MODULES(SYNCEVOLUTION).
>
> Ok. Also, ActiveSync backend will need to be adapted to non-recursive
> automake too if this patch is going to be pushed.
I'll merge it into the "master" branch directly after merging Chris'
work. Then we can fix its rules as part of switching to the new build
system.
> Automake have some strange behavior I haven't yet fully understood
> when it comes to selecting files for distribution. Looks like Automake
> does not care about conditions when it composes a list of files to
> distribute. So we can conditionally build it, but file is
> conditionally (or not) assigned to some dist_ variable then it is
> going to be distributed.
The rationale must be that "make dist" is intended to produce the same
result, always, no matter what the environment or configure options are.
Just guessing, though.
This sounds sensible. Going this path I'd say that there are two solutions:
1. Distribute README.html - that would need README.html to be always
generated and that in fact - a syncevo's dependency on rst2html, that
is - configure would end with an error if there is no rst2html.
2. Don't distribute README.html - then it would be generated if
rst2html existed on system.
Above solutions clearly contradict your conclusion about README.html
being distributed if it can be build.
> My personal opinions on this:
> LINGUAS - may stay being autogenerated, maybe it would be good idea to
> add LINGUAS.README stating that adding <lang>.po file is enough,
> because LINGUAS is generated at build time.
> backends.am - contains list of *Register.cpp files, list of backends
> directories and includes to .am files, so this one could stay
> generated too.
Sounds good.
> autotroll.am - It contains some rules for generating source files by
> moc. I have mixed feelings about it. Probably should be included by a
> toplevel Makefile.am even when we don't need the rules in it. That
> would remove some complexity of build system and one script
> (gen-autotroll.pl).
I wouldn't mind including these rules in all cases.
Done.
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.