[libcxx-commits] [libcxx] [RFC][libc++] Install modules. (PR #75741)

Mark de Wever via libcxx-commits libcxx-commits at lists.llvm.org
Mon Dec 18 09:13:48 PST 2023


mordante wrote:

>From https://github.com/mordante/llvm-project/commit/b23193d15a4ab44dccb542cb3c949e39774c90ec#commitcomment-135229396

> > The experimental standard library modules can now be installed. By default, they are not installed. This can be enabled by configuring CMake with `-DLIBCXX_INSTALL_MODULES=ON`. The installation directory can be configured with the CMake option `-DLIBCXX_INSTALL_MODULE_DIR<path>`. The default location is `modules/c++/v1` in the same prefix as the `include` directory.
> 
> Hm, so they will be disabled by default, which means that downstream package maintainers (Debian, Fedora, etc) will most likely leave them disabled. Is there a reason why they cannot be enabled by default? Merely installing a few extra files is unlikely to break anything existing.

As replied above. In general libc++ disables experimental features by default.
 
> Also, the default installation directory will be `/usr/modules/...` which will clearly cause friction for downstream, will most likely require input from FHS and, as was mentioned in SG15 discussions, will likely be rejected by FHS (understandably). Is there any reason why it cannot be something less contentious by default, say, `/usr/include/modules/...` or `/usr/include/c++/v1/modules/`?

This is the location we discussed in SG15 and the FHS issue was mentioned. Since this is an RFC I like to get some feedback on this location. 



https://github.com/llvm/llvm-project/pull/75741


More information about the libcxx-commits mailing list