message: depends: Add justifications for macOS clang flags
diff: @@ -6,8 +6,28 @@ LD64_VERSION=530
  OSX_SDK=$(SDK_PATH)/Xcode-$(XCODE_VERSION)-$(XCODE_BUILD_ID)-extracted-SDK-with-libcxx-headers
  -# When cross-compiling for Darwin using Clang, -mlinker-version must be passed to
  -# ensure that modern linker features are enabled.
  +# Flag explanations:
  +#
  +# -mlinker-version
  +#
  +# Ensures that modern linker features are enabled. See here for more
  +# details: https://github.com/bitcoin/bitcoin/pull/19407.
  +#
  +# -B$(build_prefix)/bin
  +#
  +# Explicitly point to our binaries (e.g. cctools) so that they are
  +# ensured to be found and preferred over other possibilities.
  +#
  +# -nostdinc++ -isystem $(OSX_SDK)/usr/include/c++/v1
  +#
  +# Forces clang to use the libc++ headers from our SDK and completely
  +# forget about the libc++ headers from the standard directories
  +#
  +# TODO: Once we start requiring a clang version that has the
  +# -stdlib++-isystem<directory> flag first introduced here:
  +# https://reviews.llvm.org/D64089, we should use that instead. Read the
  +# differential summary there for more details.
  +#
  darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) -B$(build_prefix)/bin
  darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -stdlib=libc++ -mlinker-version=$(LD64_VERSION) -B$(build_prefix)/bin -nostdinc++ -isystem $(OSX_SDK)/usr/include/c++/v1
  