doc: Document minimum versions for Xcode CLT and MSVC #35270

pull maflcko wants to merge 1 commits into bitcoin:master from maflcko:2605-doc-xcode changing 4 files +10 −15
  1. maflcko commented at 9:40 AM on May 12, 2026: member

    The minimum required Xcode command-line tools version was not documented, which can lead to confusion.

    So document it in doc/dependencies.md (along with adding a note one msvc there as well). This also allows to slim down the error message in the configure C++ feature check by referring to doc/dependencies.md#compiler.

  2. DrahtBot added the label Docs on May 12, 2026
  3. DrahtBot commented at 9:40 AM on May 12, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/35270.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK polespinasa, l0rinc

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  4. fanquake commented at 9:41 AM on May 12, 2026: member

    Not sure. Xcode is not required at all, so it seems confusing to document it as a requirement. How about documenting the minimum required command line tools version instead? (or the relevant Apple Clang version).

  5. in doc/dependencies.md:15 in fab8693387
      11 | @@ -12,6 +12,9 @@ Bitcoin Core requires one of the following compilers.
      12 |  | --- | --- |
      13 |  | [Clang](https://clang.llvm.org) | [17.0](https://github.com/bitcoin/bitcoin/pull/33555) |
      14 |  | [GCC](https://gcc.gnu.org) | [12.1](https://github.com/bitcoin/bitcoin/pull/33842) |
      15 | +| [Xcode](https://developer.apple.com/xcode/) | [16.2](https://github.com/bitcoin/bitcoin/pull/33932) |
    


    maflcko commented at 10:16 AM on May 12, 2026:
    | [Xcode CLT](https://developer.apple.com/documentation/xcode/installing-the-command-line-tools) | [16.2](https://github.com/bitcoin/bitcoin/pull/33932) |
    

    Sure, happy to clarify CLT. Does this diff lgty?


    fanquake commented at 10:36 AM on May 12, 2026:

    Sure, just want to avoid confusing anyone into thinking they need to download the (many GB) Xcode blob, when the Command Line Tools are sufficient.

  6. maflcko force-pushed on May 12, 2026
  7. DrahtBot added the label CI failed on May 12, 2026
  8. maflcko renamed this:
    doc: Document minimum Xcode version
    doc: Document minimum Xcode CLT version
    on May 12, 2026
  9. polespinasa commented at 2:38 PM on May 12, 2026: member

    I don't have xcode so did not check 16.2 is the min version for Xcode, but changes look fine to me and seems useful.

    ACK fad1d0fd31a540ea04bc74aadf35d3090877d925

    Thanks for addressing the nits from the other PR :)

  10. maflcko commented at 3:05 PM on May 12, 2026: member

    I don't have xcode so did not check 16.2 is the min version for Xcode

    IIRC someone tested CLT 15 in #35134 (comment). Happy to test other versions, if someone wants me to.

  11. DrahtBot removed the label CI failed on May 12, 2026
  12. in cmake/module/CheckCXXFeatures.cmake:37 in fad1d0fd31
      32 | @@ -33,10 +33,8 @@ function(check_cxx_features)
      33 |        "Compiler lacks Class Template Argument Deduction (CTAD) for aggregates.\n"
      34 |        "This C++ feature is required for src/util/overloaded.h.\n"
      35 |        "You are probably using an old compiler version\n"
      36 | -      "The recommended compiler versions can be checked in:\n"
      37 | -      "  - GCC -> ${MIN_GCC_DOCS}\n"
      38 | -      "  - Clang -> ${MIN_CLANG_DOCS}\n"
      39 | -      "  - MSVC -> ${MIN_MSVC_DOCS}\n"
      40 | +      "The recommended compiler versions can be checked in\n"
      41 | +      "doc/dependencies.md#compile.\n"
    


    l0rinc commented at 1:38 PM on May 13, 2026:
          "doc/dependencies.md#compiler.\n"
    

    maflcko commented at 5:05 PM on May 13, 2026:

    thx, done

  13. in doc/dependencies.md:15 in fad1d0fd31
      11 | @@ -12,6 +12,9 @@ Bitcoin Core requires one of the following compilers.
      12 |  | --- | --- |
      13 |  | [Clang](https://clang.llvm.org) | [17.0](https://github.com/bitcoin/bitcoin/pull/33555) |
      14 |  | [GCC](https://gcc.gnu.org) | [12.1](https://github.com/bitcoin/bitcoin/pull/33842) |
      15 | +| [Xcode CLT](https://developer.apple.com/documentation/xcode/installing-the-command-line-tools) | [16.2](https://github.com/bitcoin/bitcoin/pull/33932) |
    


    l0rinc commented at 1:39 PM on May 13, 2026:

    shouldn't we mention Windows as well if we're adding OS specific requirements?

    | [MSVC](build-windows-msvc.md#visual-studio) | [Visual Studio 2026 version 18.3](build-windows-msvc.md#visual-studio) |
    

    maflcko commented at 5:06 PM on May 13, 2026:

    sure, pushed something like this

  14. maflcko renamed this:
    doc: Document minimum Xcode CLT version
    doc: Document minimum versions for Xcode CLT and MSVC
    on May 13, 2026
  15. DrahtBot renamed this:
    doc: Document minimum versions for Xcode CLT and MSVC
    doc: Document minimum versions for Xcode CLT and MSVC
    on May 13, 2026
  16. maflcko force-pushed on May 13, 2026
  17. in doc/dependencies.md:11 in fab43b03d4


    polespinasa commented at 5:16 PM on May 13, 2026:

    I don't really care, but maybe compiler makes more sense than dependency as a column tittle?


    maflcko commented at 5:54 PM on May 13, 2026:

    sure changed to (compiler) Toolchain

  18. polespinasa approved
  19. polespinasa commented at 5:17 PM on May 13, 2026: member

    re-ACK fab43b03d4fdac9f29c7f8e3f8392b4f7249882c

  20. doc: Document minimum versions for Xcode CLT and MSVC fa3d7ce11c
  21. maflcko force-pushed on May 13, 2026
  22. DrahtBot added the label CI failed on May 13, 2026
  23. polespinasa commented at 5:56 PM on May 13, 2026: member

    reACK fa3d7ce11c68573fe2e10c400f12a0193fcf2a80

  24. DrahtBot removed the label CI failed on May 13, 2026
  25. in doc/dependencies.md:9 in fa3d7ce11c
       7 | @@ -8,10 +8,12 @@ them using [depends](/depends/README.md).
       8 |  
       9 |  Bitcoin Core requires one of the following compilers.
    


    l0rinc commented at 9:50 PM on May 13, 2026:

    nit: this still states compiler


    maflcko commented at 6:31 AM on May 14, 2026:

    I think "compiler", "toolchain", "compiler toolchain" are used as rough synonyms here. Most correct would maybe be "C++ compiler toolchain", because the stdlib is required, but I think I'll leave as-is for now.

  26. l0rinc commented at 9:50 PM on May 13, 2026: contributor

    ACK fa3d7ce11c68573fe2e10c400f12a0193fcf2a80

  27. l0rinc approved
  28. in doc/dependencies.md:15 in fa3d7ce11c
       7 | @@ -8,10 +8,12 @@ them using [depends](/depends/README.md).
       8 |  
       9 |  Bitcoin Core requires one of the following compilers.
      10 |  
      11 | -| Dependency | Minimum required |
      12 | +| Toolchain | Minimum required |
      13 |  | --- | --- |
      14 |  | [Clang](https://clang.llvm.org) | [17.0](https://github.com/bitcoin/bitcoin/pull/33555) |
      15 |  | [GCC](https://gcc.gnu.org) | [12.1](https://github.com/bitcoin/bitcoin/pull/33842) |
      16 | +| [Xcode CLT](/doc/build-osx.md) | [16.2](https://github.com/bitcoin/bitcoin/pull/33932) |
    


    hebasto commented at 11:06 AM on May 14, 2026:

    From #33932#issue-3657706959:

    This specific change from Xcode 16.0 to 16.2 does not change any behavior of the Bitcoin Core CI, because there are no C++-related changes in those point releases.

    If that's the case, shouldn't 16.0 be specified as the minimum required version instead?


    maflcko commented at 12:07 PM on May 14, 2026:

    Correct, but I don't see any downside if some users get some unrelated bugfixes in a point release. Also, it is easier to have a single consistent number in this repo to take care of.


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-19 06:51 UTC