#!/usr/bin/env python from waflib.extras import autowaf as autowaf from waflib import Options from waflib import TaskGen import os # Version of this package (even if built as a child) MAJOR = '0' MINOR = '0' MICRO = '0' WIDGETS_VERSION = "%s.%s.%s" % (MAJOR, MINOR, MICRO) # Library version (UNIX style major, minor, micro) # major increment <=> incompatible changes # minor increment <=> compatible changes (additions) # micro increment <=> no interface changes WIDGETS_LIB_VERSION = '0.0.0' # Variables for 'waf dist' APPNAME = 'widgets' VERSION = WIDGETS_VERSION I18N_PACKAGE = 'libwidgets' # Mandatory variables top = '.' out = 'build' widgets_sources = [ 'ardour_button.cc', 'ardour_display.cc', 'ardour_dropdown.cc', 'ardour_fader.cc', 'ardour_icon.cc', 'ardour_knob.cc', 'ardour_spacer.cc', 'ardour_spinner.cc', 'barcontroller.cc', 'binding_proxy.cc', 'eventboxext.cc', 'choice.cc', 'fastmeter.cc', 'focus_entry.cc', 'pane.cc', 'paths_dialog.cc', 'popup.cc', 'prompter.cc', 'scroomer.cc', 'searchbar.cc', 'slider_controller.cc', 'stateful_button.cc', 'tabbable.cc', 'tearoff.cc', 'tooltips.cc', 'ui_config.cc', ] def options(opt): autowaf.set_options(opt) def configure(conf): conf.load ('compiler_cxx') autowaf.configure(conf) autowaf.check_pkg(conf, 'cairomm-1.0', uselib_store='CAIROMM', atleast_version='1.8.4') def build(bld): # Library if bld.is_defined ('INTERNAL_SHARED_LIBS'): obj = bld.shlib(features = 'cxx cxxshlib', source=widgets_sources) obj.defines = [ 'LIBWIDGETS_DLL_EXPORTS=1' ] else: obj = bld.stlib(features = 'cxx cxxstlib', source=widgets_sources) obj.cxxflags = [ bld.env['compiler_flags_dict']['pic'] ] obj.cflags = [ bld.env['compiler_flags_dict']['pic'] ] obj.defines = [ ] obj.export_includes = ['.'] obj.includes = ['.'] + bld.env['INCLUDES_GLIB'] obj.uselib = 'SIGCPP CAIROMM GTKMM BOOST XML OSX' obj.use = [ 'libpbd', 'libgtkmm2ext' ] obj.name = 'libwidgets' obj.target = 'widgets' obj.vnum = WIDGETS_LIB_VERSION obj.install_path = bld.env['LIBDIR'] obj.defines += [ 'PACKAGE="' + I18N_PACKAGE + '"' ] def shutdown(): autowaf.shutdown()