1# Boost Interprocess Library Example Jamfile 2 3# (C) Copyright Ion Gaztanaga 2006-2012. 4# Use, modification and distribution are subject to the 5# Boost Software License, Version 1.0. (See accompanying file 6# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7 8# Adapted from John Maddock's TR1 Jamfile.v2 9# Copyright John Maddock 2005. 10# Use, modification and distribution are subject to the 11# Boost Software License, Version 1.0. (See accompanying file 12# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 13 14# this rule enumerates through all the sources and invokes 15# the run rule for each source, the result is a list of all 16# the run rules, which we can pass on to the test_suite rule: 17 18rule test_all 19{ 20 local all_rules = ; 21 22 for local fileb in [ glob comp*.cpp ] 23 { 24 all_rules += [ link $(fileb) 25 : # additional args 26 <toolset>acc:<linkflags>-lrt 27 <toolset>acc-pa_risc:<linkflags>-lrt 28 <toolset>gcc,<target-os>windows:<linkflags>"-lole32 -loleaut32 -lpsapi -ladvapi32" 29 <host-os>hpux,<toolset>gcc:<linkflags>"-Wl,+as,mpas" 30 <host-os>windows,<toolset>clang:<linkflags>"-lole32 -loleaut32 -lpsapi -ladvapi32" 31 <host-os>linux:<linkflags>"-lrt" 32 : # test-files 33 : # requirements 34 ] ; 35 } 36 37 for local fileb in [ glob doc_*.cpp ] 38 { 39 all_rules += [ run $(fileb) 40 : # additional args 41 : # test-files 42 : # requirements 43 <toolset>acc:<linkflags>-lrt 44 <toolset>acc-pa_risc:<linkflags>-lrt 45 <toolset>gcc-mingw:<linkflags>"-lole32 -loleaut32 -lpsapi -ladvapi32" 46 <host-os>hpux,<toolset>gcc:<linkflags>"-Wl,+as,mpas" 47 <host-os>windows,<toolset>clang:<linkflags>"-lole32 -loleaut32 -lpsapi -ladvapi32" 48 <host-os>linux:<linkflags>"-lrt" 49 ] ; 50 } 51 52 return $(all_rules) ; 53} 54 55test-suite interprocess_example : [ test_all r ] : <threading>multi ; 56