# Copyright (C) 2001-2003
# William E. Kempf
#
# Permission to use, copy, modify, distribute and sell this software
# and its documentation for any purpose is hereby granted without fee,
# provided that the above copyright notice appear in all copies and
# that both that copyright notice and this permission notice appear
# in supporting documentation.  William E. Kempf makes no representations
# about the suitability of this software for any purpose.
# It is provided "as is" without express or implied warranty.
#
# Boost.Threads example Jamfile
#
# Additional configuration variables used:
#   1. PTW32 may be used on Win32 platforms to specify that the pthreads-win32
#      library should be used instead of "native" threads. This feature is
#      mostly used for testing and it's generally recommended you use the
#      native threading libraries instead. PTW32 should be set to be a list
#      of two strings, the first specifying the installation path of the
#      pthreads-win32 library and the second specifying which library
#      variant to link against (see the pthreads-win32 documentation).
#      Example: jam -sPTW32="c:\pthreads-win32 pthreadVCE.lib"

# Declare the location of this subproject relative to the root.
subproject libs/thread/example ;

# Include threads.jam for Boost.Threads global build information.
# This greatly simplifies the Jam code needed to configure the build
# for the various Win32 build types.
import ../build/threads ;

{
    template example
        ## sources ##
        : <template>thread_base
          <dll>../build/boost_thread
        ## requirements ##
        :
        ## default build ##
        :
    ;

    exe monitor : <template>example monitor.cpp ;
    exe starvephil : <template>example starvephil.cpp ;
    exe tennis : <template>example tennis.cpp ;
    exe condition : <template>example condition.cpp ;
    exe mutex : <template>example mutex.cpp ;
    exe once : <template>example once.cpp ;
    exe recursive_mutex : <template>example recursive_mutex.cpp ;
    exe thread : <template>example thread.cpp ;
    exe thread_group : <template>example thread_group.cpp ;
    exe tss : <template>example tss.cpp ;
    exe xtime : <template>example xtime.cpp ;
}
