The way the d directory is currently built, some .d sources depends on flags (e.g. XML, Python, or MySQL). However, if scc1 supported #ifdefs in D syntax, then we could put the list in a file and build everything in it, knowing that the compiler would skip the content if a flag is not set.
The way to do that is this: make a shell script called c/scc. It would run cpp on the file first and then run c/scc1. The code of scc1 would be modified to pay attention to the lines left behind cpp : a line such as # 11 "foo.d" 2 would tell it that the next line (check that) is line 11 from the file "foo.d". We need that information for giving proper line numbers in error messages, and we don't want to be off even by 1.
The way the d directory is currently built, some .d sources depends on flags (e.g. XML, Python, or MySQL). However, if scc1 supported #ifdefs in D syntax, then we could put the list in a file and build everything in it, knowing that the compiler would skip the content if a flag is not set.
Originally posted by @DanGrayson in https://github.com/Macaulay2/M2/pull/1190