On Wed, 17 Mar 2004, H.Merijn Brand wrote: > In implementing Nicholas' wish, I hit a point where I reach success for > 'metaconfig -m' which creates exactly what I want, but I'd like to silence > metalint too, which complaints like: > > --8<--- > : > Your private U/modified/yacc.U overrides the public one. > Extracting dependency lists from 814 units... > "/pro/3gl/CPAN/perl-current/U/all/Finish.U", line 41 (?S:): variable > '$runmakedepend' is not listed on ?MAKE: line.
I don't have a set of units set up to check, but I think this error message is really the key issue. Try changing the MAKE line to ?MAKE:runmakedepend Finish: Chk_MANI Extract Myread Oldsym Magic_h cat rm contains \ test package make That informs metaconfig (and metalint) that this unit is responsible for creating and manipulating the runmakedepend variable. If you do that, then you should be able to get rid of the two extra lines > +?INIT:runmakedepend='' > +?LINT:extern runmakedepend (It should also automagically arrange for the runmakedepend=$runmakedepend line at the end of Configure too.) I think that will work. On a related note, unless I'm missing the point, you can already do this with existing Configure switches: Configure -dE Configure -S The first will stop just after producing config.sh. The second will do all the other .SH file extractions, but won't run make depend. Hope this helps. > Sanity checks... > "End.U": stale ?MAKE: dependency '$W'. > "Finish.U": undeclared symbol '$runmakedepend' is set. > Looking for dependency cycles... > Done. > -->8--- > > The patch I have currently open: > > --8<--- > ==== //depot/metaconfig/U/modified/Finish.U#5 - > /pro/3gl/CPAN/metaconfig/U/modified/Finish.U ==== > @@ -38,7 +38,12 @@ > ?MAKE:Finish: Chk_MANI Extract Myread Oldsym Magic_h cat rm contains \ > test package make > ?MAKE: -pick add $@ %< > +?S:runmakedepend: > +?S: This variable defines if Configure runs 'make depend' > +?S:. > ?F:!config.sh > ?T:pwd > : Finish up by extracting the .SH files > case "$alldone" in > @@ -84,7 +89,10 @@ > cd "$pwd" > > if $contains '^depend:' [Mm]akefile >/dev/null 2>&1; then > - dflt=y > + case "$runmakedepend" in > + $undef|false|[nN]*) dflt='n' ;; > + *) dflt='y' ;; > + esac > case "$silent" in > true) ;; > *) > -->8--- > > Any thoughts? > > Forwarded by "H.Merijn Brand" <[EMAIL PROTECTED]> > ----------------------- Original Message ----------------------- > To: "H . Merijn Brand" <[EMAIL PROTECTED]> > Date: Tue, 16 Mar 2004 21:59:33 +0000 > Subject: runmakedepend patch > ---- > > Configure patch to allow -D and -Urunmakedepend > > (default is unchanged as 'y') > > Nick > > --- Configure.orig Thu Feb 26 09:05:21 2004 > +++ Configure Tue Mar 16 19:03:37 2004 > @@ -1053,6 +1053,7 @@ drand01='' > randbits='' > randfunc='' > randseedtype='' > +runmakedepend='' > seedfunc='' > installscript='' > scriptdir='' > @@ -21219,6 +21220,7 @@ randbits='$randbits' > randfunc='$randfunc' > random_r_proto='$random_r_proto' > randseedtype='$randseedtype' > +runmakedepend='$runmakedepend' > ranlib='$ranlib' > rd_nodata='$rd_nodata' > readdir64_r_proto='$readdir64_r_proto' > @@ -21483,7 +21485,10 @@ pwd=`pwd` > cd "$pwd" > > if $contains '^depend:' [Mm]akefile >/dev/null 2>&1; then > - dflt=y > + case "$runmakedepend" in > + $undef|false|[nN]*) dflt='n';; > + *) dflt='y';; > + esac > case "$silent" in > true) ;; > *) > > --------------------- Original Message Ends -------------------- > > -- Andy Dougherty [EMAIL PROTECTED] Dept. of Physics Lafayette College, Easton PA 18042