[all-commits] [llvm/llvm-project] 8b47bb: [libc++] Install modules. (#75741)

Mark de Wever via All-commits all-commits at lists.llvm.org
Sun Jan 21 03:16:34 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8b47bb657b5905d954b9041415020358802407d5
      https://github.com/llvm/llvm-project/commit/8b47bb657b5905d954b9041415020358802407d5
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-01-21 (Sun, 21 Jan 2024)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxx/cmake/caches/Generic-cxx20.cmake
    M libcxx/cmake/caches/Generic-cxx23.cmake
    M libcxx/cmake/caches/Generic-cxx26.cmake
    M libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
    M libcxx/cmake/caches/Generic-no-exceptions.cmake
    M libcxx/cmake/caches/Generic-no-experimental.cmake
    M libcxx/cmake/caches/Generic-no-filesystem.cmake
    M libcxx/cmake/caches/Generic-no-localization.cmake
    M libcxx/cmake/caches/Generic-no-random_device.cmake
    M libcxx/cmake/caches/Generic-no-threads.cmake
    M libcxx/cmake/caches/Generic-no-unicode.cmake
    M libcxx/cmake/caches/Generic-no-wide-characters.cmake
    M libcxx/docs/Modules.rst
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/modules/CMakeLists.txt
    A libcxx/modules/modules.json.in
    M libcxx/src/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Install modules. (#75741)

Installs the source files of the experimental libc++ modules. These
source files (.cppm) are used by the Clang to build the std and 
std.compat modules.

The design of this patch is based on a discussing in SG-15 on
12.12.2023. (SG-15 is the ISO C++ Tooling study group):

- The modules are installed at a location, that is not known to build 
  systems and compilers.
- Next to the library there will be a module manifest json file.
  This json file contains the information to build the module from the
  libraries sources. This information includes the location where the
  sources are installed. @ruoso supplied the specification of this json
  file.
- If possible, the compiler has an option to give the location of the
  module manifest file
  (https://github.com/llvm/llvm-project/pull/76451).

Currently there is no build system support, but it expected to be added
in the future.

Fixes: https://github.com/llvm/llvm-project/issues/73089




More information about the All-commits mailing list