# -*- python -*-
def options(opt):
  pass

def configure(conf):
  pass

def build(bld):
  bld.shlib(
    source = [
      'nearest_neighbor_base.cpp',
      'nearest_neighbor_factory.cpp',
      'bit_vector_nearest_neighbor_base.cpp',
      'bit_vector_ranking.cpp',
      'minhash.cpp',
      'lsh.cpp',
      'lsh_function.cpp',
      'euclid_lsh.cpp'
    ],
    target = 'jubatus_nearest_neighbor',
    name = 'jubatus_nearest_neighbor',
    use = 'jubatus_util jubastorage jubatus_column_table jubatus_mixables')

  bld.program(
    target = 'nearest_neighbor_base_test',
    features = 'gtest',
    source = [
      'nearest_neighbor_base_test.cpp',
      'bit_vector_nearest_neighbor_base_test.cpp',
      'nearest_neighbor_test.cpp',
    ],
    use = 'jubatus_nearest_neighbor jubatus_column_table')

  bld.install_files('${PREFIX}/include/jubatus/core/nearest_neighbor/', [
      'bit_vector_nearest_neighbor_base.hpp',
      'bit_vector_ranking.hpp',
      'euclid_lsh.hpp',
      'exception.hpp',
      'lsh.hpp',
      'lsh_function.hpp',
      'minhash.hpp',
      'nearest_neighbor.hpp',
      'nearest_neighbor_base.hpp',
      'nearest_neighbor_factory.hpp',
      ])
