rmaprath added inline comments. ================ Comment at: include/__external_threading:26 @@ +25,3 @@ + +#if !defined(_LIBCPP_MUTEX_T) || \ + !defined(_LIBCPP_MUTEX_INITIALIZER) || \ ---------------- mclow.lists wrote: > bcraig wrote: > > So users of external pthreading (or their compiler driver) would need to > > provide a pile of -D options on the command line? Or is it expected that > > users will have their own __external_threading header that comes earlier in > > the include path? Please document your expectation. > My expectation is that system vendors who have a different threading > implementation will ship a customized version of the libc++ headers and > dylib. > > The headers will include a replacement `include/__external_threading`, and a > modified `include/__config` that contains additional `#define`s > > What this patch does is to provide a customization point to produce such > libraries. > This is correct.
With the latest revision, I (following @bcraig's comments) have made this a bit more simpler; system vendors can simply drop in the header `include/__external_threading` to override the default threading implementation. When this header is provided (and `_LIBCPP_HAS_THREAD_API_EXTERNAL` is defined - which is automatically wired into `__config` header through `__config_site.in` at build time), the built library will end up using the new threading implementation. https://reviews.llvm.org/D21968 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits