X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fgtkmm2ext%2Fwscript;h=494ec8b225a60aef5e2908fda499f2f0c863e5d0;hb=c98fcb62fb7daf5f52098dfe5ad4e68e71ddfe70;hp=2a5532b9ac1aaeb9a64cb35835ca7065f68fc69a;hpb=76f242cb804bd3c612ae5abfd0d3d078c0317dd0;p=ardour.git diff --git a/libs/gtkmm2ext/wscript b/libs/gtkmm2ext/wscript index 2a5532b9ac..494ec8b225 100644 --- a/libs/gtkmm2ext/wscript +++ b/libs/gtkmm2ext/wscript @@ -1,5 +1,6 @@ #!/usr/bin/env python -import autowaf +from waflib.extras import autowaf as autowaf +from waflib import Options import os # Version of this package (even if built as a child) @@ -17,63 +18,119 @@ GTKMM2EXT_LIB_VERSION = '0.8.3' # Variables for 'waf dist' APPNAME = 'gtkmm2ext' VERSION = GTKMM2EXT_VERSION +I18N_PACKAGE = 'gtkmm2ext3' + +gtkmm2ext_sources = [ + 'actions.cc', + 'application.cc', + 'auto_spin.cc', + 'barcontroller.cc', + 'binding_proxy.cc', + 'bindable_button.cc', + 'bindings.cc', + 'cairocell.cc', + 'cairo_packer.cc', + 'cairo_widget.cc', + 'cell_renderer_color_selector.cc', + 'cell_renderer_pixbuf_multi.cc', + 'cell_renderer_pixbuf_toggle.cc', + 'choice.cc', + 'click_box.cc', + 'debug.cc', + 'dndtreeview.cc', + 'fastmeter.cc', + 'focus_entry.cc', + 'grouped_buttons.cc', + 'gtk_ui.cc', + 'gtkapplication.c', + 'idle_adjustment.cc', + 'keyboard.cc', + 'motionfeedback.cc', + 'persistent_tooltip.cc', + 'prolooks_helpers.c', + 'pixfader.cc', + 'pixscroller.cc', + 'popup.cc', + 'prompter.cc', + 'scroomer.cc', + 'selector.cc', + 'slider_controller.cc', + 'stateful_button.cc', + 'tearoff.cc', + 'textviewer.cc', + 'treeutils.cc', + 'utils.cc', + 'version.cc', + 'visibility_tracker.cc', + 'window_title.cc' +] # Mandatory variables -srcdir = '.' -blddir = 'build' +top = '.' +out = 'build' path_prefix = 'libs/gtkmm2ext/' -def set_options(opt): - autowaf.set_options(opt) +def options(opt): + autowaf.set_options(opt) def configure(conf): - autowaf.build_version_files(path_prefix+'gtkmm2ext/version.h', path_prefix+'version.cc', - 'libgtkmm2ext', MAJOR, MINOR, MICRO) - autowaf.configure(conf) - autowaf.check_tool(conf, 'compiler_cxx') - autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM', atleast_version='2.8') + conf.load('compiler_cxx') + autowaf.build_version_files(path_prefix+'gtkmm2ext/version.h', path_prefix+'version.cc', + 'libgtkmm2ext', MAJOR, MINOR, MICRO) + autowaf.configure(conf) + autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM', atleast_version='2.8') + autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK', atleast_version='2.12.1') + def build(bld): - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' - auto_spin.cc - barcontroller.cc - binding_proxy.cc - choice.cc - click_box.cc - dndtreeview.cc - fastmeter.cc - focus_entry.cc - grouped_buttons.cc - gtk_ui.cc - idle_adjustment.cc - pixfader.cc - pixscroller.cc - popup.cc - prompter.cc - scroomer.cc - selector.cc - slider_controller.cc - stateful_button.cc - tearoff.cc - textviewer.cc - utils.cc - version.cc - window_title.cc - ''' - obj.export_incdirs = ['.'] - obj.includes = ['.'] - obj.name = 'libgtkmm2ext' - obj.target = 'gtkmm2ext' - obj.uselib = 'GTKMM' - obj.uselib_local = 'libpbd' - obj.vnum = GTKMM2EXT_LIB_VERSION - obj.install_path = '' - obj.cxxflags = '-DPACKAGE=\\\"libgtkmm2ext\\\"' - obj.cxxflags += ' -DLOCALEDIR=\\\"' + os.path.join( - os.path.normpath(bld.env['DATADIRNAME']), 'locale') + '\\\"' + if bld.is_defined ('INTERNAL_SHARED_LIBS'): + obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=gtkmm2ext_sources) + else: + obj = bld.stlib(features = 'c cxx cstlib cxxstlib', source=gtkmm2ext_sources) + obj.cxxflags = [ '-fPIC' ] -def shutdown(): - autowaf.shutdown() + obj.export_includes = ['.'] + obj.includes = ['.'] + obj.name = 'libgtkmm2ext' + obj.target = 'gtkmm2ext' + obj.uselib = 'GTKMM GTK GTKOSX OSX GDK' + obj.use = [ 'libpbd' ] + obj.vnum = GTKMM2EXT_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + obj.defines = [ + 'PACKAGE="' + I18N_PACKAGE + '"', + 'LOCALEDIR="' + os.path.join( + os.path.normpath(bld.env['DATADIR']), 'locale') + '"'] + if bld.is_defined('GTKOSX'): + obj.source += ['gtkapplication_quartz.mm'] + else: + obj.source += ['gtkapplication_x11.c'] + + # i18n + if bld.is_defined('ENABLE_NLS'): + mo_files = bld.path.ant_glob('po/*.mo') + for mo in mo_files: + lang = os.path.basename(mo.srcpath()).replace('.mo', '') + bld.install_as(os.path.join(bld.env['PREFIX'], 'share', 'locale', + lang, 'LC_MESSAGES', I18N_PACKAGE + '.mo'), + mo) + +def i18n(bld): + autowaf.build_i18n(bld, top, 'libs/gtkmm2ext', I18N_PACKAGE, gtkmm2ext_sources, + 'Paul Davis') +def i18n_pot(bld): + autowaf.build_i18n_pot(bld, top, 'libs/gtkmm2ext', I18N_PACKAGE, gtkmm2ext_sources, + 'Paul Davis') + +def i18n_po(bld): + autowaf.build_i18n_po(bld, top, 'libs/gtkmm2ext', I18N_PACKAGE, gtkmm2ext_sources, + 'Paul Davis') + +def i18n_mo(bld): + autowaf.build_i18n_mo(bld, top, 'libs/gtkmm2ext', I18N_PACKAGE, gtkmm2ext_sources, + 'Paul Davis') + +def shutdown(): + autowaf.shutdown()