#! /usr/bin/env python
# encoding: utf-8

def configure(conf):
    pass

def build(bld):
    sources = [
        'gx_jconv_settings.cpp',
        'gx_main_interface.cpp',
        'gx_interface_builder.cpp',
        'gx_globals.cpp',
        'gx_child_process.cpp',
        'gx_engine.cpp',
        'gx_engine_midi.cpp',
        'gx_convolver.cpp',
        'gx_pitch_tracker.cpp',
        'gx_resampler.cpp',
        'gx_engine_audio.cpp',
        'gx_portmap.cpp',
        'gx_paramtable.cpp',
        'gx_cairo_callbacks.cpp',
        'gx_gui_helpers.cpp',
        'gx_threads.cpp',
        'gx_jack.cpp',
        'gx_preset.cpp',
        'gx_system.cpp',
        'gx_ui.cpp',
        'gx_main.cpp',
        ]

    builder_files = [
        'midi.glade',
        'ports.glade',
        'iredit.glade',
        ]
    incl = ['.','..','headers','../libgxwmm','../libgxw'] # need ".." for config.h
    if not bld.env['INTERN_ZITA_CONVOLVER']:
        sources.append('zita-convolver/zita-convolver.cc')
        incl.append('zita-convolver'); 
    if not bld.env['ZITA_RESAMPLER']:
        sources.append('zita-resampler/zita-resampler.cc')
        incl.append('zita-resampler')
        lib = []
    else:
        lib = ['zita-resampler']
    if bld.env["GX_LIB_SHARED"]:
        lib.extend(['gxwmm','gxw'])
        libpath = [bld.path.find_dir("../libgxw/gxw").bldpath(bld.env),
                   bld.path.find_dir("../libgxwmm/gxwmm").bldpath(bld.env)]
        uselib_local = []
    else:
        libpath = []
        uselib_local = ['gxwmm','gxw']
    bld(features = 'cxx cprogram',
        includes = incl,
        cxxflags= bld.env['CXXFLAGS'],
        source = sources,
        lib = lib,
        uselib = ['JACK', 'SNDFILE', 'GTHREAD', 'GMODULE_EXPORT',
                  'GTK2', 'GTKMM', 'GIOMM', 'ZITA_CONVOLVER', 'FFTW3'],
        uselib_local = uselib_local,
        libpath = libpath,
        target = bld.env['BIN_NAME'],
        chmod = 0755,
        install_path = bld.env['BINDIR'],
        )
    bld.install_files(bld.env['GX_BUILDER_DIR'], builder_files, chmod=0644)
