[m-rev.] for review: build grade_lib by default

Julien Fischer jfischer at opturion.com
Tue Apr 14 18:05:42 AEST 2020


On Tue, 14 Apr 2020, Julien Fischer wrote:

>
> On Tue, 14 Apr 2020, Peter Wang wrote:
>
>>  On Mon, 13 Apr 2020 07:22:49 +1000 (AEST), "Zoltan Somogyi"
>>  <zoltan.somogyi at runbox.com> wrote:
>>>
>>>  Build the grade_lib directory by default.
>>>
>>>  This should prevent bit rot in its code, such as that caused by the
>>>  move of the one_or_more type from list.m to one_or_more.m.
>>>
>>>  Mmakefile:
>>>      Add grade_lib to the list of directories to build, to the list of
>>>      directories in which dependencies are made, the list of directories
>>>      in which tags files are made, and the list of directories to clean.
>>>
>>>      Do not include the grade library in source distributions. In the
>>>      intended use case, the grade library modules that the compiler needs
>>>      will be present in the source distribution in the *compiler*
>>>      directory.
>>
>>  configure wants to produce grade_lib/GRADE_LIB_FLAGS from
>>  GRADE_LIB_FLAGS.in so I think the grade_lib needs to be included
>>  in the source distribution.
>
> Yes, you're right.  Fortuantely, it's small enough that building it
> really isn't going to make any difference.  (The other alternative
> would be to only build it during bootchecks, which is probably sufficent
> for ensuring that it's up-to-date.)
>
>>  After the following change, the resulting srcdist still doesn't
>>  build without a bootstrap compiler. Hopefully the problem is
>>  obvious to someone else:
>
> Not immediately :-(

I think the issue is that the top-level dep_grade_lib target is not
dependent on the .dep files for the executables in the grade_lib
directory; as such it tries to rebuild the source file mapping (which
obviously requires a Mercury compiler).

Julien.


More information about the reviews mailing list