def options(ctx):
  pass

def configure(ctx):
  pass

def build(bld):
  if not bld.is_defined('JUBATUS_DISABLE_ASSERTIONS'):
    libassert = " LIBGLOG"
  else:
    libassert = ""

  bld.shlib(
    source = [
      'anomaly_base.cpp',
      'anomaly_factory.cpp',
      'light_lof.cpp',
      'lof.cpp',
      'lof_storage.cpp',
      ],
    target = 'jubatus_anomaly',
    name = 'jubatus_anomaly',
    includes = '.',
    use = 'jubatus_util jubastorage jubacommon jubatus_recommender jubatus_column_table'+libassert)

  def make_test(s):
    bld.program(
      features = 'gtest',
      source = s,
      target = s[0:s.rfind('.')],
      includes = '.',
      use = 'jubatus_util jubatus_anomaly jubacommon jubatus_recommender jubatus_mixables'+libassert)

  map(make_test, [
      'light_lof_test.cpp',
      'lof_storage_test.cpp',
      'lof_test.cpp',
      ])

  bld.install_files('${PREFIX}/include/jubatus/core/anomaly', [
      'anomaly_base.hpp',
      'anomaly_factory.hpp',
      'anomaly_type.hpp',
      ])
