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