def configure(conf):
  pass

def build(bld):
  bld.install_files('${HPREFIX}/concurrent', [
      'thread.h',
      'lock.h',
      'mutex.h',
      'rwmutex.h',
      'condition.h',
      'threading_model.h',
      'mvar.h',
      'chan.h',
      'pcbuf.h',
      'qsem.h',
      ])

  bld.shlib(
    source = 'thread.cpp mutex.cpp rwmutex.cpp condition.cpp internal.cpp',
    target = 'pficommon_concurrent',
    includes = '.',
    vnum = bld.env['VERSION'],
    use = 'pficommon_system PTHREAD')

  bld.program(
    features = 'gtest',
    source = 'pcbuf_test.cpp',
    target = 'pcbuf_test',
    includes = '.',
    use = 'pficommon_concurrent')

  bld.program(
    features = 'gtest',
    source = 'include_test.cpp',
    target = 'include_test',
    includes = '.')

  bld.program(
    features = 'gtest',
    source = 'instantiation_test.cpp',
    target = 'instantiation_test',
    includes = '.',
    use = 'pficommon_concurrent')
