/usr/share/boost-build/src/tools/features
Edit: /usr/share/boost-build/src/tools/features/threadapi-feature.jam (1162B)
# Copyright 2017 Alexander Karzhenkov
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
import property-set ;
import feature : feature ;
import toolset ;
import features/os-feature ;
#| tag::doc[]
[[bbv2.builtin.features.threadapi]]`threadapi`::
*Allowed values:* `pthread`, `win32`.
+
Selects threading implementation. The default is `win32` if `
` is
`windows` and `pthread` otherwise.
|# # end::doc[]
feature threadapi : pthread win32 : symmetric propagated ;
toolset.add-defaults windows:win32 ;
rule get-default ( property-set )
{
local api = pthread ;
if [ $(property-set).get ] = windows { api = win32 ; }
return $(api) ;
}
# Obsolete rule that didn't quite work. Remove this
# after all references to it have been cleaned up.
rule detect ( properties * )
{
# local ps = [ property-set.create $(properties) ] ;
# local api = [ $(ps).get ] ;
# if ! $(api) { api = [ get-default $(ps) ] ; }
# return $(api) threadapi:target-os ;
}