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

# Version of this package (even if built as a child)
MAJOR = '2'
MINOR = '22'
MICRO = '7'
LIBZTKMM_VERSION = "%s.%s.%s" % (MAJOR, MINOR, MICRO)

I18N_PACKAGE = 'libztkmm'

libztkmm_sources = [
    'action.cc',
    'component.cc',
    'document.cc',
    'editabletext.cc',
    'hyperlink.cc',
    'hypertext.cc',
    'image.cc',
    'implementor.cc',
    'init.cc',
    'noopobject.cc',
    'object.cc',
    'objectaccessible.cc',
    'relation.cc',
    'relationset.cc',
    'selection.cc',
    'stateset.cc',
    'streamablecontent.cc',
    'table.cc',
    'text.cc',
    'value.cc',
    'wrap_init.cc',
]

def options(opt):
    pass

def configure(conf):
    if conf.is_defined('YTK'):
        autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.32.0', mandatory=True)
        autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0', mandatory=True)

def build(bld):
    if not bld.is_defined('YTK'):
        return

    obj = bld.shlib(features = 'cxx cxxshlib', source=libztkmm_sources)
    obj.cxxflags        = [ bld.env['compiler_flags_dict']['pic'], '-w' ]
    obj.cflags          = [ bld.env['compiler_flags_dict']['pic'], '-w' ]
    obj.export_includes = ['ztkmm']
    obj.includes        = ['ztkmm']
    obj.name            = 'libztkmm'
    obj.target          = 'ztkmm'
    obj.use             = 'libztk'
    obj.uselib          = 'GLIBMM SIGCPP'
    obj.defines         = [ '_LARGEFILE64_SOURCE', '_REENTRANT', 'G_LOG_DOMAIN="atkmm"', 'ATKMM_BUILD=1', '_FILE_OFFSET_BITS=64' ]
    obj.vnum            = LIBZTKMM_VERSION
    obj.install_path    = bld.env['LIBDIR']

