#!/usr/bin/env python
import os
import re
import shutil
import waflib.extras.autowaf as autowaf
import waflib.Options as Options, waflib.Utils as Utils

# Mandatory variables
top = '.'
out = 'build'

def options(opt):
    autowaf.set_options(opt)

def configure(conf):
    conf.load('compiler_c')
    autowaf.configure(conf)
    autowaf.check_pkg(conf, 'lv2', atleast_version='1.0.0',
                      uselib_store='LV2_1_0_0')
    autowaf.check_pkg(conf, 'cairo', uselib_store='CAIRO', atleast_version='1.12.0')

def build(bld):
    bundle = 'a-comp.lv2'
    module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
    module_ext = module_pat[module_pat.rfind('.'):]

    if bld.is_defined ('HAVE_LV2'):
        # Build RDF files
        for i in ['manifest.ttl', 'a-comp.ttl', 'a-comp#stereo.ttl', 'presets.ttl']:
            bld(features     = 'subst',
                source       = i + '.in',
                target       = '../../LV2/%s/%s' % (bundle, i),
                install_path = '${LV2DIR}/%s' % bundle,
                chmod        = Utils.O644,
                LIB_EXT      = module_ext)

        # Build plugin library
        obj = bld(features     = 'c cshlib',
                  source       = 'a-comp.c',
                  name         = 'a-comp',
                  cflags       = [ bld.env['compiler_flags_dict']['pic'],  bld.env['compiler_flags_dict']['c99'] ],
                  includes     = [ '../../ardour', '../shared' ],
                  target       = '../../LV2/%s/a-comp' % bundle,
                  install_path = '${LV2DIR}/%s' % bundle,
                  uselib       = 'CAIRO',
                  use          = 'LV2_1_0_0'
                  )
        obj.env.cshlib_PATTERN = module_pat

# vi:set ts=4 sw=4 et: