Robin Gareus
ad51c7c2ba
This is intended mainly for GNU/Linux distros who will remove GTK2 support in the near future.
214 lines
5.2 KiB
Python
214 lines
5.2 KiB
Python
#!/usr/bin/env python
|
|
from waflib.extras import autowaf as autowaf
|
|
|
|
# Version of this package (even if built as a child)
|
|
MAJOR = '2'
|
|
MINOR = '24'
|
|
MICRO = '5'
|
|
LIBYTKMM_VERSION = "%s.%s.%s" % (MAJOR, MINOR, MICRO)
|
|
|
|
I18N_PACKAGE = 'libytkmm'
|
|
|
|
libytkmm_sources = [
|
|
'aboutdialog.cc',
|
|
'accelgroup.cc',
|
|
'accelkey.cc',
|
|
'accellabel.cc',
|
|
'accelmap.cc',
|
|
'action.cc',
|
|
'actiongroup.cc',
|
|
'activatable.cc',
|
|
'adjustment.cc',
|
|
'alignment.cc',
|
|
'arrow.cc',
|
|
'aspectframe.cc',
|
|
'assistant.cc',
|
|
'bin.cc',
|
|
'box.cc',
|
|
'builder.cc',
|
|
'button.cc',
|
|
'buttonbox.cc',
|
|
'celleditable.cc',
|
|
'celllayout.cc',
|
|
'cellrenderer.cc',
|
|
'cellrenderer_generation.cc',
|
|
'cellrendereraccel.cc',
|
|
'cellrenderercombo.cc',
|
|
'cellrendererpixbuf.cc',
|
|
'cellrendererprogress.cc',
|
|
'cellrendererspin.cc',
|
|
'cellrendererspinner.cc',
|
|
'cellrenderertext.cc',
|
|
'cellrenderertoggle.cc',
|
|
'cellview.cc',
|
|
'checkbutton.cc',
|
|
'checkmenuitem.cc',
|
|
'clipboard.cc',
|
|
'colorbutton.cc',
|
|
'colorselection.cc',
|
|
'combobox.cc',
|
|
'comboboxentry.cc',
|
|
'comboboxentrytext.cc',
|
|
'comboboxtext.cc',
|
|
'container.cc',
|
|
'dialog.cc',
|
|
'drawingarea.cc',
|
|
'editable.cc',
|
|
'entry.cc',
|
|
'entrybuffer.cc',
|
|
'entrycompletion.cc',
|
|
'enums.cc',
|
|
'eventbox.cc',
|
|
'expander.cc',
|
|
'filechooser.cc',
|
|
'filechooserbutton.cc',
|
|
'filechooserdialog.cc',
|
|
'filechooserwidget.cc',
|
|
'filefilter.cc',
|
|
'fixed.cc',
|
|
'fontbutton.cc',
|
|
'fontselection.cc',
|
|
'frame.cc',
|
|
'handlebox.cc',
|
|
'iconfactory.cc',
|
|
'iconinfo.cc',
|
|
'iconset.cc',
|
|
'iconsource.cc',
|
|
'icontheme.cc',
|
|
'iconview.cc',
|
|
'image.cc',
|
|
'imagemenuitem.cc',
|
|
'infobar.cc',
|
|
'invisible.cc',
|
|
'item.cc',
|
|
'label.cc',
|
|
'layout.cc',
|
|
'linkbutton.cc',
|
|
'liststore.cc',
|
|
'listviewtext.cc',
|
|
'main.cc',
|
|
'menu.cc',
|
|
'menu_elems.cc',
|
|
'menubar.cc',
|
|
'menuitem.cc',
|
|
'menushell.cc',
|
|
'menutoolbutton.cc',
|
|
'messagedialog.cc',
|
|
'misc.cc',
|
|
'notebook.cc',
|
|
'object.cc',
|
|
'offscreenwindow.cc',
|
|
'optionmenu.cc',
|
|
'orientable.cc',
|
|
'paned.cc',
|
|
'plug.cc',
|
|
'progressbar.cc',
|
|
'radioaction.cc',
|
|
'radiobutton.cc',
|
|
'radiobuttongroup.cc',
|
|
'radiomenuitem.cc',
|
|
'radiotoolbutton.cc',
|
|
'range.cc',
|
|
'rc.cc',
|
|
'recentaction.cc',
|
|
'recentchooser.cc',
|
|
'recentchooserdialog.cc',
|
|
'recentchoosermenu.cc',
|
|
'recentchooserwidget.cc',
|
|
'recentfilter.cc',
|
|
'recentinfo.cc',
|
|
'recentmanager.cc',
|
|
'ruler.cc',
|
|
'scale.cc',
|
|
'scalebutton.cc',
|
|
'scrollbar.cc',
|
|
'scrolledwindow.cc',
|
|
'selectiondata.cc',
|
|
'selectiondata_private.cc',
|
|
'separator.cc',
|
|
'separatormenuitem.cc',
|
|
'separatortoolitem.cc',
|
|
'settings.cc',
|
|
'sizegroup.cc',
|
|
'socket.cc',
|
|
'spinbutton.cc',
|
|
'spinner.cc',
|
|
'statusbar.cc',
|
|
'stock.cc',
|
|
'stockid.cc',
|
|
'stockitem.cc',
|
|
'style.cc',
|
|
'table.cc',
|
|
'targetentry.cc',
|
|
'targetlist.cc',
|
|
'tearoffmenuitem.cc',
|
|
'textattributes.cc',
|
|
'textbuffer.cc',
|
|
'textchildanchor.cc',
|
|
'textiter.cc',
|
|
'textmark.cc',
|
|
'texttag.cc',
|
|
'texttagtable.cc',
|
|
'textview.cc',
|
|
'toggleaction.cc',
|
|
'togglebutton.cc',
|
|
'toggletoolbutton.cc',
|
|
'toolbar.cc',
|
|
'toolbutton.cc',
|
|
'toolitem.cc',
|
|
'toolitemgroup.cc',
|
|
'toolpalette.cc',
|
|
'toolshell.cc',
|
|
'tooltip.cc',
|
|
'tooltips.cc',
|
|
'treedragdest.cc',
|
|
'treedragsource.cc',
|
|
'treeiter.cc',
|
|
'treemodel.cc',
|
|
'treemodelcolumn.cc',
|
|
'treemodelfilter.cc',
|
|
'treemodelsort.cc',
|
|
'treepath.cc',
|
|
'treerowreference.cc',
|
|
'treeselection.cc',
|
|
'treesortable.cc',
|
|
'treestore.cc',
|
|
'treeview.cc',
|
|
'treeview_private.cc',
|
|
'treeviewcolumn.cc',
|
|
'uimanager.cc',
|
|
'viewport.cc',
|
|
'widget.cc',
|
|
'window.cc',
|
|
'wrap_init.cc',
|
|
]
|
|
|
|
def options(opt):
|
|
pass
|
|
|
|
def configure(conf):
|
|
if conf.is_defined('YTK'):
|
|
autowaf.check_pkg(conf, 'giomm-2.4', uselib_store='GIOMM', atleast_version='2.2', mandatory=True)
|
|
autowaf.check_pkg(conf, 'cairomm-1.0', uselib_store='CAIROMM', atleast_version='1.8.4', mandatory=True)
|
|
autowaf.check_pkg(conf, 'pangomm-1.4', uselib_store='PANGOMM', atleast_version='1.4', mandatory=True)
|
|
autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.32.0', mandatory=True)
|
|
autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0', mandatory=True)
|
|
|
|
def build(bld):
|
|
if not bld.is_defined('YTK'):
|
|
return
|
|
|
|
obj = bld.shlib(features = 'cxx cxxshlib', source=libytkmm_sources)
|
|
obj.cxxflags = [ bld.env['compiler_flags_dict']['pic'], '-w' ]
|
|
obj.cflags = [ bld.env['compiler_flags_dict']['pic'], '-w' ]
|
|
obj.export_includes = ['ytkmm']
|
|
obj.includes = ['.', 'ytkmm']
|
|
obj.name = 'libytkmm'
|
|
obj.target = 'ytkmm'
|
|
obj.use = ['libztk', 'libytk', 'libztkmm', 'libydkmm' ]
|
|
obj.uselib = 'GLIBMM GIOMM SIGCPP CAIROMM PANGOMM'
|
|
obj.defines = [ '_LARGEFILE64_SOURCE', '_REENTRANT', 'G_LOG_DOMAIN="gtkmm"', 'GTKMM_BUILD=1', '_FILE_OFFSET_BITS=64' ]
|
|
obj.vnum = LIBYTKMM_VERSION
|
|
obj.install_path = bld.env['LIBDIR']
|
|
|