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

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

I18N_PACKAGE = 'libydkmm'

libydkmm_sources = [
    'bitmap.cc',
    'color.cc',
    'colormap.cc',
    'cursor.cc',
    'device.cc',
    'display.cc',
    'displaymanager.cc',
    'dragcontext.cc',
    'drawable.cc',
    'event.cc',
    'gc.cc',
    'general.cc',
    'image.cc',
    'pixbuf.cc',
    'pixbufanimation.cc',
    'pixbufanimationiter.cc',
    'pixbufformat.cc',
    'pixbufloader.cc',
    'pixmap.cc',
    'rectangle.cc',
    'region.cc',
    'rgb.cc',
    'rgbcmap.cc',
    'screen.cc',
    'types.cc',
    'visual.cc',
    'window.cc',
    'wrap_init.cc',
]

def options(opt):
    pass

def configure(conf):
    if conf.is_defined('YTK'):
        autowaf.check_pkg(conf, 'giomm-2.4', uselib_store='GIOMM', atleast_version='2.2', mandatory=True)
        autowaf.check_pkg(conf, 'cairomm-1.0', uselib_store='CAIROMM', atleast_version='1.8.4', mandatory=True)
        autowaf.check_pkg(conf, 'pangomm-1.4', uselib_store='PANGOMM', atleast_version='1.4', mandatory=True)
        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=libydkmm_sources)
    obj.cxxflags        = [ bld.env['compiler_flags_dict']['pic'] ]
    obj.cflags          = [ bld.env['compiler_flags_dict']['pic'] ]
    obj.export_includes = ['ydkmm']
    obj.includes        = ['.', 'ydkmm']
    obj.name            = 'libydkmm'
    obj.target          = 'ydkmm'
    obj.use             = 'libztkmm libytk'
    obj.uselib          = 'GLIBMM GIOMM SIGCPP CAIROMM PANGOMM'
    obj.defines         = [ '_LARGEFILE64_SOURCE', '_REENTRANT', 'G_LOG_DOMAIN="gdkmm"', 'GDKMM_BUILD=1', '_FILE_OFFSET_BITS=64' ]
    obj.vnum            = LIBYDKMM_VERSION
    obj.install_path    = bld.env['LIBDIR']

