<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'> Right. I hit the same problem at some point and wasn't satisfied either. I fixed it, or almost fixed it. <br> Building it in a list of other stuff is correct, not a false hit, part of the solution.  <br><br><br>  upgrade.sh and ugprade.py both handle this, almost.  <br><br><br> upgrade.sh:  <br> https://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/scripts/upgrade.sh?rev=1.37;content-type=text%2Fplain  <br> if [ "x${GCC_BACKEND}" = xyes ]; then  <br>   # Continue with the backend, if needed. Deliberately don't ship it! <br>   # "$root/m3-sys/m3cggen/${TARGET}/m3cggen" > "$root/m3-sys/m3cc/gcc/gcc/m3cg/m3cg.h"  <br>   "$root/scripts/do-pkg.sh" "$@" "build" m3cc || exit 1 <br> fi<br><br><br>  upgrade.py: <br>  https://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/scripts/python/upgrade.py?rev=1.39;content-type=text%2Fplain <br><br> a = Root + "/m3-sys/m3cggen/" + Target + "/m3cggen > " + Root + "/m3-sys/m3cc/gcc/gcc/m3cg/m3cg.h" <br> print(a)  <br> # os.system(a)   <br> FilterPackages([ "m3cc" ]) and DoPackage(argv_BuildShip, [ "m3cc" ])  <br><br><br>  Those two lines should be uncommented.  <br>  Or, more likely, they should redirect elsewhere and do a "move if change". <br>    In the python case, "elsewhere" should be read the pipe into a variable in memory. <br>    It isn't supposed to change if there are no local edits, but streamlining it is very good to have.<br>       Maybe that is why I left it commented out. <br>    Only approx. 3 of us have changed this probably in 10 years.<br>    Tony probably doesn't use any of the scripts. I do and almost fixed it. You are #3. <br>  <br><br><br>  Can you make it so or shall I?  <br>  m3cggen is "standalone" for this reason, or should be. <br><br><br>  > gcc/gcc/m3cg.<br>  > What is the complete set of source files that, like this, are not where one would <br>  > expect them to be?  Is it everything in the m3cg subdirectory?  Just parse.c?<br><br><br>  The list is whatever the source does.  <br>  The alternative would be to have several almost identical copies and disconnected history. <br>  It is a little confusing, but the alternative isn't great either. <br><br><br>   For parse.c, and related, look in m3-sys/src/m3makefile. <br>   For example, we also sometimes have to make links for gmp/mpfr/mpc.   <br><br><br> - Jay<br><br><br><br><div>> Date: Tue, 5 Nov 2013 11:47:13 -0600<br>> From: rodney_bates@lcwb.coop<br>> To: m3devel@elegosoft.com<br>> Subject: [M3devel] How to run m3cggen?<br>> <br>> I need to rebuild m3cc after changes to m3middle/src/M3CG_Binary.i3 and m3cggen/src/Main.<br>> I can see that at a minimum, I have to recompile m3cggen first, then run it and place<br>> its output appropriately, before compiling m3cc.  m3cggen comes after m3cc in pkginfo.txt,<br>> so the do-cm3-*.sh scripts can't work here.<br>> <br>> A massive recursive grep of everything for "m3cggen" doesn't appear to turn up anything in<br>> a script, makefile, or m3makefile, other than disconnected building of m3cggen itself.<br>> However, there is so much false output here, that it's a needle in a haystack.<br>> <br>> So is there any script, makefile, etc. that takes care of this, or is it all manual?<br>> Are there any other generated source files or similar steps that also need to be redone<br>> that I can't easily find?<br>> <br>> m3cg.h (The result of this process) is a CVS file, which at least hints that this is<br>> just being done manually.<br>> <br>> Slightly related, I found out the hard way that the parse.c in the gcc version you are<br>> compiling is actually, sometimes, overlaid during building, by the one in gcc/gcc/m3cg.<br>> What is the complete set of source files that, like this, are not where one would<br>> expect them to be?  Is it everything in the m3cg subdirectory?  Just parse.c?<br>> Some other subset?<br></div>                                        </div></body>
</html>