The patch is based on D144994.
D151030 added the module definitions for the module std.
This patch wires in the module and enables the basic testing.
Some notable features are missing:
- There is no test that libc++ can be fully imported as a module.
- This lacks the parts for the std.compat module.
- The module is not shipped with libc++.
Implements parts of
- P2465R3 Standard Library Modules std and std.compat
For future compatiblity maybe this should be LIBCXX_ENABLE_STD_MODULES (with S) or LIBCXX_ENABLE_MODULES instead? At the moment only std is supported, but when std.compat is added later the current flag name could be misleading.
Or should there be different flags for std and std.compat? IMO they should both be covered by the same flag.