<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>I'd really like an *option* to make builds far more "deterministic" and "consistent" and "repeatable" from machine to machine, maybe similar-target to similar-target (OpenBSD/x86==Linux/x86==NetBSD/x86==Solaris/x86).</p>
<p><br>
</p>
<p>That is: I want the default to have full paths all over the place, but an option to reduce paths to something the same across all machines.</p>
<p><br>
</p>
<p>I want the C backend to by default have a bunch of line numbers to aid debugging, but an option (same option) to omit them.</p>
<p><br>
</p>
<p>Paths like Compiler.ThisFIle, if they have any slashes, should probably just always be forward.</p>
<p>This might break some workflows around copy/paste them into file.open dialogs on Windows though.</p>
<p>Much of Windows supports forward slashes, and much does not.</p>
<p><br>
</p>
<p>Maybe "-very-deterministic". Yes this is half joke -- deterministic is thought to be a boolean, and everything should be deterministic, but the definition of deterministic is actually unclear.</p>
<p><br>
</p>
<p>The "target" in reduce-target-variation isn't clearly the right name for this.</p>
<p>Maybe just reduce-variation or reduce-noise or more-reproducible.</p>
<p><br>
</p>
<p>This is a step toward a distribution form that isn't target-specific.</p>
<p>One run of the C backend could generate something redistributable to all or many targets.</p>
<p><br>
</p>
<p> - Jay</p>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> M3commit <m3commit-bounces@elegosoft.com> on behalf of GitHub <noreply@github.com><br>
<b>Sent:</b> Tuesday, July 4, 2017 6:21 AM<br>
<b>To:</b> m3commit@elegosoft.com<br>
<b>Subject:</b> [M3commit] [modula3/cm3] 0d5954: reduce-target-variation</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">  Branch: refs/heads/reduce-target-variation<br>
  Home:   <a href="https://github.com/modula3/cm3" id="LPlnk799022" previewremoved="true">
https://github.com/modula3/cm3</a>
<div id="LPBorder_GT_14991518075970.9306079719112805" style="margin-bottom: 20px; overflow: auto; width: 100%; text-indent: 0px;">
<table id="LPContainer_14991518075940.7863308997312073" role="presentation" cellspacing="0" style="width: 90%; background-color: rgb(255, 255, 255); position: relative; overflow: auto; padding-top: 20px; padding-bottom: 20px; margin-top: 20px; border-top: 1px dotted rgb(200, 200, 200); border-bottom: 1px dotted rgb(200, 200, 200);">
<tbody>
<tr valign="top" style="border-spacing: 0px;">
<td id="ImageCell_14991518075950.7937217708829865" colspan="1" style="width: 250px; position: relative; display: table-cell; padding-right: 20px;">
<div id="LPImageContainer_14991518075950.05729096615720586" style="background-color: rgb(255, 255, 255); height: 120px; position: relative; margin: auto; display: table; width: 120px;">
<a id="LPImageAnchor_14991518075950.5389024289462108" href="https://github.com/modula3/cm3" target="_blank" style="display: table-cell; text-align: center;"><img id="LPThumbnailImageID_14991518075950.542968161976662" width="120" height="120" style="display: inline-block; max-width: 250px; max-height: 250px; height: 120px; width: 120px; border-width: 0px; vertical-align: bottom;" src="https://avatars3.githubusercontent.com/u/7759860?v=3&s=400"></a></div>
</td>
<td id="TextCell_14991518075960.9308647934311662" colspan="2" style="vertical-align: top; position: relative; padding: 0px; display: table-cell;">
<div id="LPRemovePreviewContainer_14991518075960.0659427559070831"></div>
<div id="LPTitle_14991518075960.05568634135410755" style="top: 0px; color: rgb(0, 120, 215); font-weight: normal; font-size: 21px; font-family: wf_segoe-ui_light, "Segoe UI Light", "Segoe WP Light", "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; line-height: 21px;">
<a id="LPUrlAnchor_14991518075960.9666854116944004" href="https://github.com/modula3/cm3" target="_blank" style="text-decoration: none;">GitHub - modula3/cm3: Critical Mass Modula-3</a></div>
<div id="LPMetadata_14991518075960.3008347326753016" style="margin: 10px 0px 16px; color: rgb(102, 102, 102); font-weight: normal; font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; font-size: 14px; line-height: 14px;">
github.com</div>
<div id="LPDescription_14991518075970.7764393616601473" style="display: block; color: rgb(102, 102, 102); font-weight: normal; font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; font-size: 14px; line-height: 20px; max-height: 100px; overflow: hidden;">
cm3 - Critical Mass Modula-3 ... Clone with HTTPS Use Git or checkout with SVN using the web URL.</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<br>
  Commit: 0d59546d11641afe3772b73f226c2e90b960d7fc<br>
      <a href="https://github.com/modula3/cm3/commit/0d59546d11641afe3772b73f226c2e90b960d7fc" id="LPlnk773518" previewremoved="true">
https://github.com/modula3/cm3/commit/0d59546d11641afe3772b73f226c2e90b960d7fc</a>
<div id="LPBorder_GT_14991518087860.07555462147950442" style="margin-bottom: 20px; overflow: auto; width: 100%; text-indent: 0px;">
<table id="LPContainer_14991518087830.8658276107601748" role="presentation" cellspacing="0" style="width: 90%; background-color: rgb(255, 255, 255); position: relative; overflow: auto; padding-top: 20px; padding-bottom: 20px; margin-top: 20px; border-top: 1px dotted rgb(200, 200, 200); border-bottom: 1px dotted rgb(200, 200, 200);">
<tbody>
<tr valign="top" style="border-spacing: 0px;">
<td id="ImageCell_14991518087840.9207055576075343" colspan="1" style="width: 250px; position: relative; display: table-cell; padding-right: 20px;">
<div id="LPImageContainer_14991518087840.1205865224906677" style="background-color: rgb(255, 255, 255); height: 250px; position: relative; margin: auto; display: table; width: 250px;">
<a id="LPImageAnchor_14991518087840.03784932604731406" href="https://github.com/modula3/cm3/commit/0d59546d11641afe3772b73f226c2e90b960d7fc" target="_blank" style="display: table-cell; text-align: center;"><img id="LPThumbnailImageID_14991518087840.051224323555863815" width="250" height="250" style="display: inline-block; max-width: 250px; max-height: 250px; height: 250px; width: 250px; border-width: 0px; vertical-align: bottom;" src="https://avatars0.githubusercontent.com/u/1635728?v=3&s=200"></a></div>
</td>
<td id="TextCell_14991518087840.5318834174541982" colspan="2" style="vertical-align: top; position: relative; padding: 0px; display: table-cell;">
<div id="LPRemovePreviewContainer_14991518087850.970290483156008"></div>
<div id="LPTitle_14991518087850.8276490607465805" style="top: 0px; color: rgb(0, 120, 215); font-weight: normal; font-size: 21px; font-family: wf_segoe-ui_light, "Segoe UI Light", "Segoe WP Light", "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; line-height: 21px;">
<a id="LPUrlAnchor_14991518087850.4779788977020183" href="https://github.com/modula3/cm3/commit/0d59546d11641afe3772b73f226c2e90b960d7fc" target="_blank" style="text-decoration: none;">reduce-target-variation · modula3/cm3@0d59546</a></div>
<div id="LPMetadata_14991518087850.2258682723310279" style="margin: 10px 0px 16px; color: rgb(102, 102, 102); font-weight: normal; font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; font-size: 14px; line-height: 14px;">
github.com</div>
<div id="LPDescription_14991518087860.668465443791882" style="display: block; color: rgb(102, 102, 102); font-weight: normal; font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; font-size: 14px; line-height: 20px; max-height: 100px; overflow: hidden;">
cm3 - Critical Mass Modula-3</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<br>
  Author: jaykrell <jay.krell@cornell.edu><br>
  Date:   2017-07-03 (Mon, 03 Jul 2017)<br>
<br>
  Changed paths:<br>
    M m3-sys/cm3/src/Main.m3<br>
    M m3-sys/cm3/src/Makefile.m3<br>
    M m3-sys/cminstall/src/config-no-install/cm3cfg.common<br>
    M m3-sys/m3back/src/M3C.m3<br>
    M m3-sys/m3cc/gcc-4.7/gcc/dbxout.c<br>
    M m3-sys/m3cc/gcc-4.7/gcc/dwarf2out.c<br>
    M m3-sys/m3cc/gcc-4.7/gcc/toplev.c<br>
    M m3-sys/m3cc/gcc-4.7/gcc/toplev.h<br>
    M m3-sys/m3cc/gcc/gcc/m3cg/lang.opt<br>
    M m3-sys/m3cc/gcc/gcc/m3cg/parse.c<br>
    M m3-sys/m3front/src/misc/Coverage.m3<br>
    M m3-sys/m3front/src/misc/Host.i3<br>
    M m3-sys/m3front/src/misc/Host.m3<br>
    M m3-sys/m3front/src/misc/M3Header.m3<br>
    M m3-sys/m3front/src/misc/Scanner.m3<br>
    M m3-sys/m3front/src/values/Module.m3<br>
    M m3-sys/m3middle/src/Target.i3<br>
    M scripts/python/pylib.py<br>
<br>
  Log Message:<br>
  -----------<br>
  reduce-target-variation<br>
<br>
<br>
</div>
</span></font></div>
</div>
</body>
</html>