# -*- python -*-
import os.path

subdirs = [
  'lang',
  'concurrent',
  'system',
  'data',
  'math',
  'text',
  ]

def options(opt):
  pass

def configure(conf):
  conf.env.HPREFIX = os.path.join(conf.env.PREFIX, 'include/jubatus/util')
  conf.env.stash()
  try:
    for x in [y.split('=') for y in conf.env.DEFINES]:
      conf.env.define_key.remove(x[0])

    conf.recurse(subdirs)
    conf.write_config_header('util-config.h', guard = 'JUBATUS_UTIL_PFI_CONFIG_H_')
    cfg_files = conf.env['cfg_files']
  finally:
    conf.env.revert()
  conf.env['cfg_files'] = cfg_files

def build(bld):
  b = bld.shlib(
    source = 'empty.cpp',
    target = 'jubatus_util',
    vnum = bld.env['ABI_VERSION'],
    use = [
      'core_headers',
      'jubatus_util_concurrent',
      'jubatus_util_data',
      'jubatus_util_lang',
      'jubatus_util_math',
      'jubatus_util_system',
      'jubatus_util_text',
      ])
  bld.install_files('${HPREFIX}/', ['util-config.h'])

  bld.recurse(subdirs)
