Yeah, this is what I going to do: flat hierarchy, like one 'src' directory and one 'extra' directory in the project root, globally unique package names, passing -Isrc and -Iextra to the compiler, and ... module declaration directives.I was trying to avoid them, but maybe it's not possible.
TBH I'm not sure what module directives do now that you mention them.