[m-rev.] for review: build grade_lib by default
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.
>>> 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*
>> 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).
More information about the reviews