# -*- python -*-

from waflib import Options

def options(opt):
  opt.add_option('--enable-mecab',
                 action='store_true',
                 default=False,
                 help='build mecab feature plugin')

def configure(conf):
  if Options.options.enable_mecab:
    conf.check_cxx(header_name = 'mecab.h')
    conf.check_cxx(lib = 'mecab',
                   fragment='''
#include <mecab.h>
int main() {
  MeCab::Model* (*p)(const char*) = MeCab::createModel;
  &MeCab::Model::createTagger;
  &MeCab::Model::createLattice;
}
''',
                   define_name = 'HAVE_MECAB',
                   errmsg = 'mecab 0.99 or later is required (remove "--enable-mecab" option if not necessary)')

def make_test(bld, use, src):
  bld.program(
    features = 'gtest',
    source = src,
    target = src[0:src.rindex('.')],
    use = use,
    )

def build(bld):
  if 'HAVE_MECAB' in bld.env.define_key:
    bld.shlib(
      source = 'mecab_splitter.cpp',
      target = 'mecab_splitter',
      install_path = bld.env['JUBATUS_PLUGIN_DIR'],
      use = 'MECAB JUBATUS_CORE server_headers',
      vnum = bld.env['ABI_VERSION'],
      )
    make_test(bld, 'JUBATUS_CORE mecab_splitter', 'mecab_splitter_test.cpp')
