#!/usr/bin/env python
from waflib.extras import autowaf as autowaf

sources = [
    'AtomReader.cpp',
    'AtomWriter.cpp',
    'Builder.cpp',
    'ClashAvoider.cpp',
    'Configuration.cpp',
    'Forge.cpp',
    'LV2Features.cpp',
    'ResourceImpl.cpp',
    'Store.cpp',
    'URIMap.cpp',
    'URIs.cpp',
    'World.cpp',
    'runtime_paths.cpp',
]

def build(bld):
    obj = bld(features        = 'cxx cxxshlib',
              source          = sources,
              export_includes = ['../..'],
              includes        = ['../..'],
              name            = 'libingen_shared',
              target          = 'ingen_shared',
              vnum            = '0.0.0',
              install_path    = '${LIBDIR}',
              lib             = ['dl'])
    autowaf.use_lib(bld, obj, 'GLIBMM LV2 LILV RAUL SORD LV2_MIDI')

    if bld.env['BUILD_TESTS']:
        obj = bld(features        = 'cxx cxxshlib',
                  source          = sources,
                  export_includes = ['../..'],
                  includes        = ['../..'],
                  name            = 'libingen_shared_profiled',
                  target          = 'ingen_shared_profiled',
                  install_path    = '',
                  lib             = ['dl'] + bld.env['INGEN_TEST_LIBS'],
                  cxxflags        = bld.env['INGEN_TEST_CXXFLAGS'])
        autowaf.use_lib(bld, obj, 'GLIBMM LV2 LILV RAUL SORD LV2_MIDI')