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

# Version of this package (even if built as a child)
MAJOR = '1'
MINOR = '1'
MICRO = '1'
LIBLTC_VERSION = "%s.%s.%s" % (MAJOR, MINOR, MICRO)

# Library version (UNIX style major, minor, micro)
# major increment <=> incompatible changes
# minor increment <=> compatible changes (additions)
# micro increment <=> no interface changes
LIBLTC_LIB_VERSION = '1.1.1'

# Variables for 'waf dist'
APPNAME = 'libltc'
VERSION = LIBLTC_VERSION
I18N_PACKAGE = 'libltc'

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

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

def configure(conf):
    if conf.is_defined('USE_EXTERNAL_LIBS'):
        autowaf.check_pkg(conf, 'ltc', uselib_store='LIBLTC', atleast_version=LIBLTC_LIB_VERSION, mandatory=True)
    else:
        conf.load('compiler_c')
        autowaf.configure(conf)

def build(bld):
    if bld.is_defined('USE_EXTERNAL_LIBS'):
        return
    bld (export_includes = ['ltc'],
         name = 'libltc_includes'
         )

    bld.stlib (source = ['ltc.c', 'timecode.c', 'encoder.c', 'decoder.c'],
               cflags = [ '-fPIC' ],
               includes = ['.'],
               target = 'libltc',
               use    = 'libltc_includes'
               )

def shutdown():
    autowaf.shutdown()
