[M3devel] Fw: [M3commit] [modula3/cm3] 0d5954: reduce-target-variation

Jay K jayk123 at hotmail.com
Tue Jul 4 09:08:44 CEST 2017


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).


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.


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.


Paths like Compiler.ThisFIle, if they have any slashes, should probably just always be forward.

This might break some workflows around copy/paste them into file.open dialogs on Windows though.

Much of Windows supports forward slashes, and much does not.


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.


The "target" in reduce-target-variation isn't clearly the right name for this.

Maybe just reduce-variation or reduce-noise or more-reproducible.


This is a step toward a distribution form that isn't target-specific.

One run of the C backend could generate something redistributable to all or many targets.


 - Jay


________________________________
From: M3commit <m3commit-bounces at elegosoft.com> on behalf of GitHub <noreply at github.com>
Sent: Tuesday, July 4, 2017 6:21 AM
To: m3commit at elegosoft.com
Subject: [M3commit] [modula3/cm3] 0d5954: reduce-target-variation

  Branch: refs/heads/reduce-target-variation
  Home:   https://github.com/modula3/cm3
[https://avatars3.githubusercontent.com/u/7759860?v=3&s=400]<https://github.com/modula3/cm3>

GitHub - modula3/cm3: Critical Mass Modula-3<https://github.com/modula3/cm3>
github.com
cm3 - Critical Mass Modula-3 ... Clone with HTTPS Use Git or checkout with SVN using the web URL.



  Commit: 0d59546d11641afe3772b73f226c2e90b960d7fc
      https://github.com/modula3/cm3/commit/0d59546d11641afe3772b73f226c2e90b960d7fc
[https://avatars0.githubusercontent.com/u/1635728?v=3&s=200]<https://github.com/modula3/cm3/commit/0d59546d11641afe3772b73f226c2e90b960d7fc>

reduce-target-variation · modula3/cm3 at 0d59546<https://github.com/modula3/cm3/commit/0d59546d11641afe3772b73f226c2e90b960d7fc>
github.com
cm3 - Critical Mass Modula-3



  Author: jaykrell <jay.krell at cornell.edu>
  Date:   2017-07-03 (Mon, 03 Jul 2017)

  Changed paths:
    M m3-sys/cm3/src/Main.m3
    M m3-sys/cm3/src/Makefile.m3
    M m3-sys/cminstall/src/config-no-install/cm3cfg.common
    M m3-sys/m3back/src/M3C.m3
    M m3-sys/m3cc/gcc-4.7/gcc/dbxout.c
    M m3-sys/m3cc/gcc-4.7/gcc/dwarf2out.c
    M m3-sys/m3cc/gcc-4.7/gcc/toplev.c
    M m3-sys/m3cc/gcc-4.7/gcc/toplev.h
    M m3-sys/m3cc/gcc/gcc/m3cg/lang.opt
    M m3-sys/m3cc/gcc/gcc/m3cg/parse.c
    M m3-sys/m3front/src/misc/Coverage.m3
    M m3-sys/m3front/src/misc/Host.i3
    M m3-sys/m3front/src/misc/Host.m3
    M m3-sys/m3front/src/misc/M3Header.m3
    M m3-sys/m3front/src/misc/Scanner.m3
    M m3-sys/m3front/src/values/Module.m3
    M m3-sys/m3middle/src/Target.i3
    M scripts/python/pylib.py

  Log Message:
  -----------
  reduce-target-variation


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20170704/590b4a7f/attachment.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ATT00001.txt
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20170704/590b4a7f/attachment.txt>


More information about the M3devel mailing list