[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: missing --run/not run
From: |
Norman Gray |
Subject: |
Re: missing --run/not run |
Date: |
Sun, 31 Aug 2003 18:07:07 +0100 |
Greetings,
Following up on my previous message.
On Friday, August 29, 2003, at 10:56 PM, Norman Gray wrote:
The problem is, of course, the `missing' script, and what happens when
a checked-out generated file apparently needs to be rebuilt on a
developer's machine.
> [...]
There seems to be two routes:
I described two routes:
(i) Wrap make in a script which makes a temporary copy of the Makefile
with --run omitted.
(ii) Have --run be inside a Makefile macro, which can be overridden to
a blank on the command line.
There is a third: (iii) modify `missing' so that it can be forced to
ignore --run.
Having now spent some time getting all this to actually work for us, I
can report that (i) turns out to be infeasible in realistic situations,
(ii) is probably the best solution but tricky to bolt on, and (iii)
does in fact work in practice.
Option (i). This works in simple cases. However it doesn't work (or at
least, it is clearly extremely fiddly) in more complex cases, since the
make-wrapper has to ensure it itself is invoked in sub-makes, which
confuses ./configure.
Option (ii). This isn't easy to bolt on, since it is not clear to me
how one would override the appropriate line of
share/aclocal-1.7/missing.m4 in a local acinclude.m4 file. However, I
believe this is the most direct solution to the problem -- can I
suggest this as a change to automake? It would require changing line
43 of share/aclocal-1.7/missing.m4 from `--run' to `$(missing_run)' and
adding `missing_run=--run' to automake-1.7/am/header-vars.am (I think).
Option (iii). I modified my package-local version of `missing' so that
it ignored the --run option if the variable RUN_LOCAL_AUTOTOOLS was set
to false in the environment (it also then needs to handle
PROGRAM/$1=true, trivially). With that, `RUN_LOCAL_AUTOTOOLS=false
make' updated the timestamps, and did the build, correctly. This
works, but is less direct than (ii).
I hope these suggestions are useful.
Best wishes,
Norman
--
----------------------------------------------------------------------
Norman Gray http://www.astro.gla.ac.uk/users/norman/
Physics and Astronomy, University of Glasgow address@hidden