# copyright John Maddock 2003
# Use, modification and distribution are subject to 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)

project
    : requirements 
     # threading tests require thread support turned on:
     <threading>multi
   ;
   
local test-requirements = <library>../../test/build//boost_test_exec_monitor  ;
