automake
[Top][All Lists]
Advanced

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

Re: Broken makefile given Autoconf version mismatch


From: Ralf Wildenhues
Subject: Re: Broken makefile given Autoconf version mismatch
Date: Wed, 12 Apr 2006 14:41:23 +0200
User-agent: Mutt/1.5.11

Hi Stepan, Noah,

Thanks to both of you for the analyses!

* Stepan Kasal wrote on Wed, Apr 12, 2006 at 02:17:53PM CEST:
> 
> Problem A:
> a script.sh.in starts with
> 
> prefix = @prefix@
> doc = @docdir@

But maybe that would have to be
  prefix="@prefix@"
  doc="@docdir@"

or similarly.  This is the largest problem with fixing A: you don't know
the language used in this file.  It could reasonably be Shell, Perl, or C,
or one of hundred other things, impossible to find out reasonably, much
less so in a very hot code path of config.status.

> this has to be fixed by adding `datarootdir = @datarootdir@' manually.
> I made this change for several tools used in Gnome, but I'm sure there
> are many tools which are not ready for this change, and will find out
> only when their root file system will suddenly contain /doc, /man, /info,
> and /locale.

Yes, as manual change this is definitely the right thing to do.

I don't see any viable way how you can add the value for `datarootdir'
in a systematic way.  IOW, I don't know of an approach that is more
conservative than Bruno's idea (rewriting the substitutions for the
values which contain `${datarootdir}', and AFAICS, it would fix both
Automake-generated Makefile.ins, and work with other CONFIG_FILES.
I'd be happy to be proven wrong,

Surely, if the developer has
  AC_SUBST([my_other_datadir], ['${datarootdir}/whatever'])

we still screw up, but then the we can reasonably expect a
  AC_PREREQ([2.60])

as well, which makes us safe again.

Cheers,
Ralf




reply via email to

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