So, all the shell-portability talk on TUHS reminds me of something I believe I saw back in
the 90s, and then failed to find a few years ago when I went looking.
But my Google-fu is not great, so maybe I just didn't look in the right place.
I was trying to port Frotz to TOPS-20, because I wanted to run the Infocom games on
TOPS-20 on an emulated PDP-10. (The only further causality to the chain was a warning in
the Frotz sources that it assumed 8-bit bytes and if you wanted to try to port it to a
36-bit environment, good luck; this is the difference between "stuff I do fo
fun" and "stuff that needs a business justification".) I had a K&R C
compiler available, but the sources were all ANSI C.
I had remembered that deprotoize had been part of an early GCC, and I did manage to find
deprotoize sources, buried, I think, in some dusty piece of the Apple toolchain. But I
also have a vague memory that GCC at some point probably in the mid-to-late 1990s came
with something that was halfway between autoconf and Perl's bootstrapper. I *think*
it was a bunch of shell scripts that could put together a minimal C subset compiler, which
then could be used to build the rest of GCC. I'm pretty sure it was released as a
reaction to the unbundling of C compilers when Unix vendors realized that was a thing they
could do.
I could not find that thing at all.
Did I hallucinate it? It seems like it would have been an immensely useful tool at the
time.
I ended up writing my own very half-assed deprotoizer and symbol mangler (only the first
six characters of the function name were significant, because that's how the TOPS-20
linker works, and I don't know that I could have gotten past that even with an ANSI
compiler without having to do significant toolchain work) which got me over the hump, but
I have remained curious whether there really was that nifty GCC bootstrapper or whether I
made that up.
Adam