automake
[Top][All Lists]
Advanced

[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





reply via email to

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