YTK is no longer optional

Since the addition of the touch-API, Ardour is no longer compatible
with upstream gtk2.
This commit is contained in:
Robin Gareus 2025-02-01 11:57:35 +01:00
parent fdfdde093d
commit 1e28ee9cc9
No known key found for this signature in database
GPG key ID: A090BCE02CF57F04
9 changed files with 46 additions and 84 deletions

View file

@ -8,16 +8,13 @@ def options(ctx):
pass
def configure(conf):
if not conf.is_defined('YTK'):
return
autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.28', mandatory=True)
autowaf.check_pkg(conf, 'lv2', uselib_store='LV2_1_16_0', atleast_version='1.16.0', mandatory=False)
if conf.env['build_target'] != 'mingw' and sys.platform != 'darwin': # Linux
autowaf.check_pkg(conf, 'x11', uselib_store='X11', system=True, mandatory=True)
def build(bld):
if not bld.is_defined('YTK') or not bld.is_defined('HAVE_LV2_1_16_0'):
if not bld.is_defined('HAVE_LV2_1_16_0'):
return
module_dir = bld.env['LIBDIR']

View file

@ -33,16 +33,12 @@ def options(opt):
pass
def configure(conf):
if conf.is_defined('YTK'):
autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.28', mandatory=True)
autowaf.check_pkg(conf, 'gio-2.0', uselib_store='GIO', atleast_version='2.2', mandatory=True)
autowaf.check_pkg(conf, 'gobject-2.0', uselib_store='GOBJECT', mandatory=True)
autowaf.check_pkg(conf, 'libpng', uselib_store='LIBPNG', mandatory=True)
autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.28', mandatory=True)
autowaf.check_pkg(conf, 'gio-2.0', uselib_store='GIO', atleast_version='2.2', mandatory=True)
autowaf.check_pkg(conf, 'gobject-2.0', uselib_store='GOBJECT', mandatory=True)
autowaf.check_pkg(conf, 'libpng', uselib_store='LIBPNG', mandatory=True)
def build(bld):
if not bld.is_defined('YTK'):
return
obj = bld.shlib(features = 'c cshlib', source=libydkpixbuf_sources)
obj.cflags = [ bld.env['compiler_flags_dict']['pic'] ]
obj.export_includes = ['ydk-pixbuf']

View file

@ -150,26 +150,22 @@ def options(opt):
pass
def configure(conf):
if conf.is_defined('YTK'):
autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.28', mandatory=True)
autowaf.check_pkg(conf, 'pango', uselib_store='PANGO', atleast_version='1.20', mandatory=True)
autowaf.check_pkg(conf, 'cairo', uselib_store='CAIRO', atleast_version='1.12', mandatory=True)
autowaf.check_pkg(conf, 'pangocairo', uselib_store='PANGOCAIRO', mandatory=True)
if conf.env['build_target'] == 'mingw':
autowaf.check_pkg(conf, 'gio-windows-2.0', uselib_store='GIO-WINDOWS', mandatory=True)
elif sys.platform != 'darwin':
autowaf.check_pkg(conf, 'gio-unix-2.0', uselib_store='GIO-UNIX', mandatory=True)
autowaf.check_pkg(conf, 'xrandr', uselib_store='RANDR', mandatory=False, atleast_version='1.2.99')
autowaf.check_pkg(conf, 'xrandr', uselib_store='RANDR15', mandatory=False, atleast_version='1.5.0')
conf.check_cc(header_name='X11/extensions/Xinerama.h',
lib='Xinerama', uselib_store="XINERAMA", define_name='HAVE_XFREE_XINERAMA',
execute = False, mandatory=False)
autowaf.check_pkg(conf, 'xi', uselib_store='XINPUT2', mandatory=False, atleast_version='1.7.10')
autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.28', mandatory=True)
autowaf.check_pkg(conf, 'pango', uselib_store='PANGO', atleast_version='1.20', mandatory=True)
autowaf.check_pkg(conf, 'cairo', uselib_store='CAIRO', atleast_version='1.12', mandatory=True)
autowaf.check_pkg(conf, 'pangocairo', uselib_store='PANGOCAIRO', mandatory=True)
if conf.env['build_target'] == 'mingw':
autowaf.check_pkg(conf, 'gio-windows-2.0', uselib_store='GIO-WINDOWS', mandatory=True)
elif sys.platform != 'darwin':
autowaf.check_pkg(conf, 'gio-unix-2.0', uselib_store='GIO-UNIX', mandatory=True)
autowaf.check_pkg(conf, 'xrandr', uselib_store='RANDR', mandatory=False, atleast_version='1.2.99')
autowaf.check_pkg(conf, 'xrandr', uselib_store='RANDR15', mandatory=False, atleast_version='1.5.0')
conf.check_cc(header_name='X11/extensions/Xinerama.h',
lib='Xinerama', uselib_store="XINERAMA", define_name='HAVE_XFREE_XINERAMA',
execute = False, mandatory=False)
autowaf.check_pkg(conf, 'xi', uselib_store='XINPUT2', mandatory=False, atleast_version='1.7.10')
def build(bld):
if not bld.is_defined('YTK'):
return
obj = bld.shlib(features = 'c cshlib')
obj.cflags = [ bld.env['compiler_flags_dict']['pic'], '-w' ]
obj.export_includes = ['ydk']

View file

@ -44,17 +44,13 @@ 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)
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=libydkmm_sources)
obj.cxxflags = [ bld.env['compiler_flags_dict']['pic'] ]
obj.cflags = [ bld.env['compiler_flags_dict']['pic'] ]

View file

@ -258,20 +258,16 @@ def options(opt):
pass
def configure(conf):
if conf.is_defined('YTK'):
autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.28', mandatory=True)
autowaf.check_pkg(conf, 'pango', uselib_store='PANGO', atleast_version='1.20', mandatory=True)
autowaf.check_pkg(conf, 'cairo', uselib_store='CAIRO', atleast_version='1.12', mandatory=True)
autowaf.check_pkg(conf, 'pangocairo', uselib_store='PANGOCAIRO', mandatory=True)
autowaf.check_pkg(conf, 'gmodule-2.0', uselib_store='GMODULE', mandatory=True)
if conf.env['build_target'] != 'mingw' and sys.platform != 'darwin': # Linux
autowaf.check_pkg(conf, 'x11', uselib_store='X11', system=True, mandatory=True)
autowaf.check_pkg(conf, 'xext', uselib_store='XEXT', system=True, mandatory=True)
autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.28', mandatory=True)
autowaf.check_pkg(conf, 'pango', uselib_store='PANGO', atleast_version='1.20', mandatory=True)
autowaf.check_pkg(conf, 'cairo', uselib_store='CAIRO', atleast_version='1.12', mandatory=True)
autowaf.check_pkg(conf, 'pangocairo', uselib_store='PANGOCAIRO', mandatory=True)
autowaf.check_pkg(conf, 'gmodule-2.0', uselib_store='GMODULE', mandatory=True)
if conf.env['build_target'] != 'mingw' and sys.platform != 'darwin': # Linux
autowaf.check_pkg(conf, 'x11', uselib_store='X11', system=True, mandatory=True)
autowaf.check_pkg(conf, 'xext', uselib_store='XEXT', system=True, mandatory=True)
def build(bld):
if not bld.is_defined('YTK'):
return
obj = bld.shlib(features = 'c cshlib')
obj.cflags = [ bld.env['compiler_flags_dict']['pic'], '-w' ]
obj.export_includes = ['ytk']

View file

@ -187,17 +187,13 @@ 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)
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' ]

View file

@ -50,14 +50,10 @@ def options(opt):
pass
def configure(conf):
if conf.is_defined('YTK'):
autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.28', mandatory=True)
autowaf.check_pkg(conf, 'gobject-2.0', uselib_store='GOBJECT', mandatory=True)
autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.28', mandatory=True)
autowaf.check_pkg(conf, 'gobject-2.0', uselib_store='GOBJECT', mandatory=True)
def build(bld):
if not bld.is_defined('YTK'):
return
obj = bld.shlib(features = 'c cshlib', source = libztk_sources)
obj.cflags = [ bld.env['compiler_flags_dict']['pic'] ]
obj.export_includes = ['ztk']

View file

@ -37,14 +37,10 @@ def options(opt):
pass
def configure(conf):
if conf.is_defined('YTK'):
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)
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=libztkmm_sources)
obj.cxxflags = [ bld.env['compiler_flags_dict']['pic'], '-w' ]
obj.cflags = [ bld.env['compiler_flags_dict']['pic'], '-w' ]

17
wscript
View file

@ -914,8 +914,6 @@ def options(opt):
help='Disable threaded waveview rendering')
opt.add_option('--no-futex-semaphore', action='store_true', default=False, dest='no_futex_semaphore',
help='Disable use of futex for semaphores (Linux only)')
opt.add_option('--no-ytk', action='store_true', default=False, dest='no_ytk',
help='Use system-wide GTK instead of Ardour YTK')
opt.add_option(
'--qm-dsp-include', type='string', action='store',
dest='qm_dsp_include', default='/usr/include/qm-dsp',
@ -1100,12 +1098,6 @@ def configure(conf):
if Options.options.internal_shared_libs:
conf.define('INTERNAL_SHARED_LIBS', 1)
if not Options.options.no_ytk:
conf.define('YTK', 1)
conf.define('HAVE_SUIL', 1)
else:
autowaf.check_pkg(conf, 'suil-0', uselib_store='SUIL', atleast_version='0.6.0', mandatory=False)
if Options.options.use_external_libs:
conf.define('USE_EXTERNAL_LIBS', 1)
conf.env.append_value(
@ -1278,6 +1270,11 @@ int main () { __int128 x = 0; return 0; }
conf.env.append_value('CXXFLAGS', "-DCOMPILER_INT128_SUPPORT")
conf.env.append_value('CFLAGS', "-DCOMPILER_INT128_SUPPORT")
# always use localized gtk2
conf.define('YTK', 1)
conf.define('HAVE_SUIL', 1)
# Tell everyone that this is a waf build
conf.env.append_value('CFLAGS', '-DWAF_BUILD')
@ -1483,7 +1480,6 @@ const char* const ardour_config_info = "\\n\\
write_config_text('Install prefix', conf.env['PREFIX'])
write_config_text('Strict compiler flags', conf.env['STRICT'])
write_config_text('Internal Shared Libraries', conf.is_defined('INTERNAL_SHARED_LIBS'))
write_config_text('Use YTK instead of GTK', conf.is_defined('YTK'))
write_config_text('Use External Libraries', conf.is_defined('USE_EXTERNAL_LIBS'))
write_config_text('Library exports hidden', conf.is_defined('EXPORT_VISIBILITY_HIDDEN'))
write_config_text('Free/Demo copy', conf.is_defined('FREEBIE'))
@ -1578,9 +1574,6 @@ def build(bld):
bld.path.find_dir ('libs/ardour/ardour')
bld.path.find_dir ('libs/pbd/pbd')
#if bld.is_defined('YTK'):
# bld.path.find_dir ('libs/tk/ztkmm')
# set up target directories
lwrcase_dirname = 'ardour' + bld.env['MAJOR']