# (C) Copyright 2010: Tim Blechmann
# 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 testing ;

lib boost_chrono ;
lib boost_interprocess ;
lib boost_system ;
lib boost_thread ;
lib boost_unit_test_framework ;

project
    : source-location .
    : requirements
        <library>../../test/build//boost_unit_test_framework
        <library>../../atomic/build//boost_atomic
    ;


rule test_all
{
   local all_rules = ;

   for local fileb in [ glob *.cpp ]
   {
      all_rules += [ run $(fileb)
      : # additional args
      : # test-files
      : # requirements
        <toolset>acc:<linkflags>-lrt
        <toolset>acc-pa_risc:<linkflags>-lrt
        <target-os>windows,<toolset>gcc:<linkflags>"-lole32 -loleaut32 -lpsapi -ladvapi32"
        <host-os>hpux,<toolset>gcc:<linkflags>"-Wl,+as,mpas"
        <host-os>linux,<toolset>clang:<linkflags>"-latomic"
        <library>../../thread/build//boost_thread/
        <threading>multi
        <link>static
      ] ;
   }

    return $(all_rules) ;
}

test-suite lockfree : [ test_all r ] : <threading>multi ;
