A module is what one mstring run produces — by default name.hh and name.cpp. Its properties come from module directives, which are not sticky like the artefact settings: the last one in the file wins, wherever it stands.
| Directive | Sets |
|---|---|
| $MODULE | the file names and shape (header + source, source only, header only) |
| $NAMESPACE | the namespace of everything generated |
| $INCLUDE, $USING | includes and using-declarations of the header |
| $IMPORT | other message files that join the module |
| $EXPORT | a visibility macro for shared libraries |
| $LANGUAGE | the default language of texts (this one is sticky) |

