[m-rev.] for review: derive getopt.m and getopt_io.m from same template
Julien Fischer
jfischer at opturion.com
Sat Sep 19 23:36:22 AEST 2020
On Sat, 19 Sep 2020, Julien Fischer wrote:
>
> On Sat, 19 Sep 2020, Zoltan Somogyi wrote:
>
>> 2020-09-18 17:08 GMT+10:00 "Julien Fischer" <jfischer at opturion.com>:
>>> I suggest defining the following variable somewhere in this Mmakefile
>>>
>>> SED=sed
>>>
>>> and using the variable in these rules insteaed of hardcoding it as sed.
>>> (That gives us the option of choosing which sed to use on systems where
>>> the default sed may not be the one to use.)
>>
>> Done. And thanks for the two big catches below.
>
> There's a more subtle problem I didn't catch :-( With this change the
> following now fail during bootcheck:
>
> hard_coded/getopt_test in grade asm_fast.gc
> hard_coded/space in grade asm_fast.gc
> valid/bug134 in grade asm_fast.gc
> warnings/ambiguous_overloading in grade asm_fast.gc
>
> (I think the issue is due to chmod bumping the timestamp on getopt.m
> and the stage 2 compiler thinking it needs to rebuild the generated files.)
The following diff fixes the problem, by not symlinking getopt*.m from
the stage 1 directory.
Julien.
diff --git a/tools/bootcheck b/tools/bootcheck
index 3cccb3a..3323904 100755
--- a/tools/bootcheck
+++ b/tools/bootcheck
@@ -792,6 +792,7 @@ then
cd library
${LN_S} ${root}/library/[a-l]*.m .
${LN_S} ${root}/library/[m-z]*.m .
+ /bin/rm -f getopt.m getopt_io.m
${LN_S} ${root}/library/*.hrl .
${LN_S} ${root}/library/getopt_template .
# See comment below for why we use ${LN} rather than ${LN_S} here
More information about the reviews
mailing list