[M3commit] [modula3/cm3] 4dc58c: My scripts foist current config on old tools.
Jay Krell
jay.krell at cornell.edu
Tue Jun 2 08:08:42 CEST 2015
Branch: refs/heads/master
Home: https://github.com/modula3/cm3
Commit: 4dc58c66f698d556ebc99d0dae186d647d36b79d
https://github.com/modula3/cm3/commit/4dc58c66f698d556ebc99d0dae186d647d36b79d
Author: Jay Krell <jay.krell at cornell.edu>
Date: 2015-06-01 (Mon, 01 Jun 2015)
Changed paths:
M m3-sys/cminstall/src/config-no-install/NT.common
M m3-sys/cminstall/src/config-no-install/Unix.common
Log Message:
-----------
My scripts foist current config on old tools.
At least make-dist.py does.
This may be surprising, but it has been effective
at working around problems in older tools when bootstrapping.
Historically _m3main.c was K&R C and not valid C++.
Now it is vali ANSI C and C++ but not K&R (todo: all three?).
Recently, in 5.8.6, I switched all targets to make main in C,
whereas it often previously was not.
When going right from an older toolset (5.8.6) to make-dist.py
and skipping upgrade.py, we fail, on Darwin, because it compiles
all C with g++ and _m3main.c is not valid C++.
Workaround this:
if compiling C fails, and it is _m3main.c, try again with gcc's -xc
switch or Visual C++'s -TC switch.
Sun CC and clang could use attention potentially here.
upgrade.py remains an acceptable workaround.
As might be just accepting existing bootstrap config files..
Another option would be really separate C and C++ notions.
More information about the M3commit
mailing list