Building LuaTeX using Microsoft Visual Studio… Why?

Having successfully built Knuthian TeX from WEB source code (using Visual Studio), and a couple of other TeX engines, I finally feel sufficiently “brave” (or perhaps masochistic…) to attempt “the big one”: LuaTeX. You may well ask “What’s the point when you have MinGW/MSYS to build LuaTeX on Windows for you, and so easily?” Good question! Anyone who has looked at the C code produced by the Web2C process will understand that it’s practically impossible to single-step through it with a debugger and understand what’s going on: it’s machine-generated C code for compilers, not humans! Having built CXTeX (which dates from 2004), it’s a joy to step through CXTeX’s clean C code in an attempt to understand the innards of TeX in more detail. However, CXTeX is nearly 10 years old so it would be nice to have a modern TeX-based engine to explore, hence building LuaTeX, with its CWEB-based C code base. Well, some 6 hours in I’ve managed to build about half the components as Windows .lib files – including Cairo, Kpathsea, FontForge, Poppler and a few others. I can’t say it’s been easy but it’s an interesting challenge to occupy the evenings over the next few days. No doubt I’m in for some interesting challenges as I try to assemble the parts into a working LuaTeX executable. Can’t wait to have LuaTeX running in Visual Studio’s debugging IDE!