automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Evolution-hackers] ylwrap dependency


From: Ralf Corsepius
Subject: Re: [Evolution-hackers] ylwrap dependency
Date: 06 Dec 2001 03:54:22 +0100

Am Mit, 2001-12-05 um 20.35 schrieb Richard Boulton:
> On Wed, 2001-12-05 at 13:18, Ali Akcaagac wrote:
> > hello,
> > 
> > question: now that 1.0 was officially out, i wanted to point you guys to
> > an problem that i have. i am able to solve this problem within 2 seconds
> > but it would be needfull to fix this anyways.
> > 
> > i use automake1.5, autoconf2.50. gettext and libtool are out of subject
> > i think. when doing:
> > 
> > ./autogen.sh --prefix=/usr/local --with-db3=/tmp/db3
> > 
> > the configure script is generated correctly and the make process starts.
> > db3 will be found too without problems. after some seconds the directory
> > libcal will be joined and in one subdir within it i get the error:
> > 
> > ../../ylwrap not found
> > 
> > i then need to copy the ylwrap link which is in the topdir of evolution
> > to the libcal directory and re-run make again. everything works properly
> > then. it would be nice to avoid this step and let the configure or make-
> > process do this copy or link automatically.
> 
> Hmm: I get the same behaviour: automake 1.5, autoconf 2.52.
I can reproduce this behaviour (Using vanilla autoconf-2.52,
automake-1.5, libtool-1.4.2, getttext-0.40):

autogen.sh adds evolution/ylwrap and running automake -a in
evolution/libical also does.

But evolution/libical/src/libical/Makefile.in later references
$(top_srcdir)/ylwrap == ../../ylwrap (ie. evolution/libical/ylwrap),
not ../../../ylwrap (evolution/ylwrap) as it is expected to do.

> This looks to be a bug in automake v1.5.  The problem is probably that
> it's not calculating the path to the top srcdir correctly, because there
> are nested projects.
Not quite, I'd say.

AFAIS, the problem is automake-1.5 not considering ac_config_aux_dir in
computing the path to ylwrap:

C.f. this fragment from yacc_lex_finish_helper in automake-1.5, ca. line
5070:

>    if ($config_aux_dir_set_in_configure_in)
>    {
>        &define_variable ('YLWRAP', $config_aux_dir . "/ylwrap");
>    }
>    else
>    {
>        &define_variable ('YLWRAP', '$(top_srcdir)/ylwrap');
>    }

You libical/configure.in apply AC_CONFIG_AUX_DIR, therefore the else
clause of this "if"-statement matches, and causes automake to blindly
add $(top_srcdir)/ylwrap instead of $(config_aux_dir)/ylwrap as
libical/src/libical/Makefile would require.
 
> I've not got time currently to find a minimal testcase: if noone else
> does it within a few days I'll probably get round to it though...
> I've not seen this problem mentioned before, so it's probably still a
> problem with the latest CVS automake.

>From what I see, work arounds to this issue would be
1) explictly setting AC_CONFIG_AUX_DIR in libical/configure.in, e.g.
adding
AC_CONFIG_AUX_DIR([..])
2) manually putting ylwrap into libical/

BTW: From what I see, automake > 1.5 still has the same problem.

Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]