import os
import Params
from waftools import tool

def build(bld):
    obj = bld.create_obj('cpp', 'shlib')
    obj.target = 'xmmsclient++'
    obj.includes = '../../../include ../../../includepriv'
    obj.source = """ bindata.cpp
                  client.cpp
                  collection.cpp
                  coll.cpp
                  config.cpp
                  dict.cpp
                  exceptions.cpp
                  list.cpp
                  listener.cpp
                  mainloop.cpp
                  medialib.cpp
                  playback.cpp
                  playlist.cpp
                  signal.cpp
                  stats.cpp
                  xform.cpp""".split()
    obj.uselib_local = 'xmmsclient'
    obj.uselib = 'boosth boostl socket'
    obj.vnum = '1.0.0'
    tool.add_install_flag(obj)

def configure(conf):
    if not conf.env["HAVE_CXX"]:
        return False
    h = conf.create_header_configurator()
    h.name = 'boost/signal.hpp'
    h.uselib = 'boosth'

    l = conf.create_library_configurator()
    l.name = 'boost_signals'
    l.uselib = 'boostl'

    if Params.g_options.boostprefix:
        h.path = [os.path.join(Params.g_options.boostprefix, "include")]
        l.path = [os.path.join(Params.g_options.boostprefix, "lib")]

    ret = (h.run() and l.run())
    if ret:
        conf.env.append_value('XMMS_PKGCONF_FILES', ('xmms2-client-cpp', '-lxmmsclient -lxmmsclient++'))

    return ret

def set_options(opt):
    opt.add_option('--with-boost', type="string", dest="boostprefix")
