#! /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_mono_rack_builder.cpp',
        'gx_stereo_rack_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_cabinet_data.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,
        obj_ext  = '_2.o',
        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_NAME1'],
        chmod = 0755,
        install_path = bld.env['BINDIR'],
        )
    bld.install_files(bld.env['GX_BUILDER_DIR1'], builder_files, chmod=0644)
