Maybe I do not understand enough about how compilation units work so this might be a dumb question, but why cant rbuild automatically split projects up into compilation units automatically?
rbuild is supposed to insulate projects from the details of the underlying build system, and it could decide how many compilation units it would use for any given project based on how many lines of code are involved, or just the file sizes for that matter. Of course, if some projects have duplicate code in such a way that compilation units can't be used, then thats a problem. But I would imagine that those would be easily fixed.
If all files for all modules can be built as one compilation unit, then yes, rbuild can just do this automatically. Either make the module one big compilation unit or split it based on available memory. However, it leaves no room for exceptions.
Casper