import os
import Params
import Common

def build(bld):
    obj = bld.create_obj('cc', 'plugin')
    obj.target = 'xmmsapi'
    obj.includes = '../../../include ../../../includepriv'
    obj.source = ['xmmsapi.pyx']
    obj.uselib_local = 'xmmsclient'
    obj.uselib = 'python'
    obj.env["plugin_SUFFIX"] = '.so'
    obj.env["plugin_PREFIX"] = ''
    obj.install_in = "LIBDIR_python"

    Common.install_files('LIBDIR_python', '', 'xmmsclient/__init__.py')
    Common.install_files('LIBDIR_python', '', 'xmmsclient/sync.py')
    Common.install_files('LIBDIR_python', '', 'xmmsclient/propdict.py')
    Common.install_files('LIBDIR_python', '', 'xmmsclient/consts.py')
    Common.install_files('LIBDIR_python', '', 'xmmsclient/collections.py')
    Common.install_files('LIBDIR_python', '', 'xmmsclient/glib.py')
    Common.install_files('LIBDIR_python', '', 'xmmsclient/qt3.py')

def configure(conf):
    try:
        import distutils
        import distutils.sysconfig
    except:
        return False
    h = conf.create_header_configurator()
    h.name = 'Python.h'
    h.uselib = 'python'
    h.path = [distutils.sysconfig.get_python_inc(plat_specific=True)]
    if not h.run():
        return False

    if Params.g_options.pythonarchdir:
        archdir = Params.g_options.pythonarchdir
    else:
        archdir = distutils.sysconfig.get_python_lib(plat_specific=True)
    conf.env["LIBDIR_python"] = os.path.join(archdir, "xmmsclient")
    conf.env["CCFLAGS_python"] += ["-Wno-unused-function", "-Wno-unused-label", "-Wno-unused-variable", "-Wno-parentheses"]

    return conf.check_tool('pyrexc', tooldir=os.path.abspath('waftools'))

def set_options(opt):
    opt.add_option('--with-python-archdir', type='string', dest='pythonarchdir')
