4e85eae
diff -up xmms2-0.8DrO_o/src/clients/et/wscript.fixme xmms2-0.8DrO_o/src/clients/et/wscript
4e85eae
--- xmms2-0.8DrO_o/src/clients/et/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/clients/et/wscript	2020-02-28 09:49:55.142637980 -0500
4e85eae
@@ -23,9 +23,9 @@ def build(bld):
4e85eae
 
4e85eae
 
4e85eae
 def configure(conf):
4e85eae
-    if Options.platform == "win32":
4e85eae
+    if Utils.unversioned_sys_platform == "win32":
4e85eae
         conf.fatal("Not supported on Windows")
4e85eae
-    elif Options.platform == "sunos":
4e85eae
+    elif Utils.unversioned_sys_platform == "sunos":
4e85eae
         conf.check_cc(lib="resolv", uselib_store="resolv", mandatory=True)
4e85eae
     return True
4e85eae
 
4e85eae
diff -up xmms2-0.8DrO_o/src/clients/launcher/wscript.fixme xmms2-0.8DrO_o/src/clients/launcher/wscript
4e85eae
--- xmms2-0.8DrO_o/src/clients/launcher/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/clients/launcher/wscript	2020-02-28 09:49:55.142637980 -0500
4e85eae
@@ -1,4 +1,4 @@
4e85eae
-import Options
4e85eae
+from waflib import Utils
4e85eae
 
4e85eae
 def build(bld):
4e85eae
     bld(features = 'c cprogram',
4e85eae
@@ -14,7 +14,7 @@ def build(bld):
4e85eae
         )
4e85eae
 
4e85eae
 def configure(conf):
4e85eae
-    if Options.platform == 'win32':
4e85eae
+    if Utils.unversioned_sys_platform == 'win32':
4e85eae
         conf.fatal("Not supported on Windows")
4e85eae
 
4e85eae
 def options(opt):
4e85eae
diff -up xmms2-0.8DrO_o/src/clients/lib/perl/wscript.fixme xmms2-0.8DrO_o/src/clients/lib/perl/wscript
4e85eae
--- xmms2-0.8DrO_o/src/clients/lib/perl/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/clients/lib/perl/wscript	2020-02-28 09:49:55.143637956 -0500
4e85eae
@@ -37,11 +37,11 @@ def build(bld):
4e85eae
 
4e85eae
 
4e85eae
 def configure(conf):
4e85eae
-    conf.check_tool('perl')
4e85eae
+    conf.load('perl')
4e85eae
     conf.check_perl_version((5,7,3))
4e85eae
     conf.check_perl_ext_devel()
4e85eae
     conf.load('podselect', tooldir='waftools')
4e85eae
-    conf.check_tool('podselect')
4e85eae
+    conf.load('podselect')
4e85eae
 
4e85eae
     if not os.path.commonprefix([conf.env.ARCHDIR_PERL, conf.env.PREFIX]).startswith(conf.env.PREFIX):
4e85eae
         Logs.warn("Default perl libdir is not under PREFIX. specify the path "
4e85eae
@@ -54,4 +54,4 @@ def configure(conf):
4e85eae
 
4e85eae
 
4e85eae
 def options(opt):
4e85eae
-    opt.tool_options('perl')
4e85eae
+    opt.load('perl')
4e85eae
diff -up xmms2-0.8DrO_o/src/clients/lib/python/wscript.fixme xmms2-0.8DrO_o/src/clients/lib/python/wscript
4e85eae
--- xmms2-0.8DrO_o/src/clients/lib/python/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/clients/lib/python/wscript	2020-02-28 09:49:55.143637956 -0500
4e85eae
@@ -79,7 +79,7 @@ def build(bld):
4e85eae
     # TODO: Distribute .pxd files
4e85eae
 
4e85eae
 def configure(conf):
4e85eae
-    conf.check_tool('python')
4e85eae
+    conf.load('python')
4e85eae
     if not conf.env.PYTHON:
4e85eae
         conf.fatal("python not found")
4e85eae
 
4e85eae
@@ -112,7 +112,7 @@ def configure(conf):
4e85eae
                   "files, you should consider reconfiguring with --no-cython")
4e85eae
 
4e85eae
 def options(opt):
4e85eae
-    opt.tool_options('cython', tooldir = os.path.abspath('waftools'))
4e85eae
+    opt.load('cython', tooldir = os.path.abspath('waftools'))
4e85eae
     opt.add_option('--no-cython', action="store_true",
4e85eae
             dest="no_cython", default=False,
4e85eae
             help="Use precompiled cython files even if cython is installed on "
4e85eae
diff -up xmms2-0.8DrO_o/src/clients/lib/ruby/wscript.fixme xmms2-0.8DrO_o/src/clients/lib/ruby/wscript
4e85eae
--- xmms2-0.8DrO_o/src/clients/lib/ruby/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/clients/lib/ruby/wscript	2020-02-28 09:49:55.143637956 -0500
4e85eae
@@ -48,11 +48,11 @@ def build(bld):
4e85eae
             )
4e85eae
 
4e85eae
 def configure(conf):
4e85eae
-    conf.check_tool("ruby")
4e85eae
+    conf.load("ruby")
4e85eae
     conf.check_ruby_version((1,8,0))
4e85eae
     conf.check_ruby_ext_devel()
4e85eae
 
4e85eae
-    conf.check_cc(function_name="rb_protect_inspect", header_name="ruby.h",
4e85eae
+    conf.check_cc(header_name="ruby.h",
4e85eae
             uselib="RUBYEXT", mandatory=False)
4e85eae
 
4e85eae
     prefix = os.path.commonprefix([conf.env.ARCHDIR_RUBY, conf.env.PREFIX])
4e85eae
@@ -70,4 +70,4 @@ def configure(conf):
4e85eae
     return True
4e85eae
 
4e85eae
 def options(opt):
4e85eae
-    opt.tool_options('ruby', tdir=os.path.abspath('waftools'))
4e85eae
+    opt.load('ruby', tdir=os.path.abspath('waftools'))
4e85eae
diff -up xmms2-0.8DrO_o/src/clients/lib/xmmsclient++/wscript.fixme xmms2-0.8DrO_o/src/clients/lib/xmmsclient++/wscript
4e85eae
--- xmms2-0.8DrO_o/src/clients/lib/xmmsclient++/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/clients/lib/xmmsclient++/wscript	2020-02-28 09:49:55.143637956 -0500
4e85eae
@@ -40,4 +40,4 @@ def configure(conf):
4e85eae
     return True
4e85eae
 
4e85eae
 def options(opt):
4e85eae
-    opt.tool_options('boost')
4e85eae
+    opt.load('boost')
4e85eae
diff -up xmms2-0.8DrO_o/src/clients/lib/xmmsclient/wscript.fixme xmms2-0.8DrO_o/src/clients/lib/xmmsclient/wscript
4e85eae
--- xmms2-0.8DrO_o/src/clients/lib/xmmsclient/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/clients/lib/xmmsclient/wscript	2020-02-28 09:49:55.143637956 -0500
4e85eae
@@ -39,8 +39,7 @@ def build(bld):
4e85eae
 def configure(conf):
4e85eae
     conf.env.XMMS_PKGCONF_FILES.append(("xmms2-client", "-lxmmsclient"))
4e85eae
 
4e85eae
-    conf.check_cc(function_name="semtimedop",
4e85eae
-            header_name=["sys/types.h", "sys/ipc.h", "sys/sem.h"],
4e85eae
+    conf.check_cc(header_name=["sys/types.h", "sys/ipc.h", "sys/sem.h"],
4e85eae
             defines=["_GNU_SOURCE=1"], mandatory=False)
4e85eae
     if not conf.env.HAVE_SEMTIMEDOP:
4e85eae
         Logs.warn("Compiling visualization without shm support!")
4e85eae
diff -up xmms2-0.8DrO_o/src/clients/medialib-updater/wscript.fixme xmms2-0.8DrO_o/src/clients/medialib-updater/wscript
4e85eae
--- xmms2-0.8DrO_o/src/clients/medialib-updater/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/clients/medialib-updater/wscript	2020-02-28 09:49:55.143637956 -0500
4e85eae
@@ -24,8 +24,7 @@ def configure(conf):
4e85eae
     conf.check_cfg(package="gthread-2.0", uselib_store='gthread2',
4e85eae
             args="--cflags --libs")
4e85eae
 
4e85eae
-    conf.check_cc(function_name="g_file_query_file_type",
4e85eae
-            header_name="gio/gio.h", uselib="gio2", mandatory=False)
4e85eae
+    conf.check_cc(header_name="gio/gio.h", uselib="gio2", mandatory=False)
4e85eae
 
4e85eae
 
4e85eae
 def options(opt):
4e85eae
diff -up xmms2-0.8DrO_o/src/clients/nycli/wscript.fixme xmms2-0.8DrO_o/src/clients/nycli/wscript
4e85eae
--- xmms2-0.8DrO_o/src/clients/nycli/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/clients/nycli/wscript	2020-02-28 09:49:55.143637956 -0500
4e85eae
@@ -1,4 +1,4 @@
4e85eae
-from waflib import Options, Errors
4e85eae
+from waflib import Utils, Errors
4e85eae
 
4e85eae
 source = """
4e85eae
 main.c
4e85eae
@@ -37,7 +37,7 @@ def build(bld):
4e85eae
 
4e85eae
 
4e85eae
 def configure(conf):
4e85eae
-    if Options.platform == 'win32':
4e85eae
+    if Utils.unversioned_sys_platform == 'win32':
4e85eae
         conf.env.CLI_COMPAT_IMPL = 'win32'
4e85eae
     else:
4e85eae
         conf.env.CLI_COMPAT_IMPL = 'unix'
4e85eae
@@ -49,8 +49,7 @@ def configure(conf):
4e85eae
     # first try just linking against libreadline
4e85eae
     try:
4e85eae
         conf.check_cc(lib="readline", header_name=rl_headers,
4e85eae
-                function_name='rl_filename_dequoting_function',
4e85eae
-                uselib_store="readline", uselib="glib2")
4e85eae
+                      uselib_store="readline", uselib="glib2")
4e85eae
     except Errors.ConfigurationError:
4e85eae
         pass
4e85eae
     else:
4e85eae
diff -up xmms2-0.8DrO_o/src/clients/vistest/wscript.fixme xmms2-0.8DrO_o/src/clients/vistest/wscript
4e85eae
--- xmms2-0.8DrO_o/src/clients/vistest/wscript.fixme	2020-02-28 09:49:55.137638098 -0500
4e85eae
+++ xmms2-0.8DrO_o/src/clients/vistest/wscript	2020-02-28 09:49:55.144637932 -0500
4e85eae
@@ -1,4 +1,4 @@
4e85eae
-import Options
4e85eae
+from waflib import Utils
4e85eae
 
4e85eae
 def build(bld):
4e85eae
     t = bld(features = 'c cprogram',
4e85eae
@@ -46,7 +46,7 @@ def build(bld):
4e85eae
             t.install_path = None
4e85eae
 
4e85eae
 def configure(conf):
4e85eae
-    if Options.platform == "win32":
4e85eae
+    if Utils.unversioned_sys_platform == "win32":
4e85eae
         conf.fatal("visualisation clients not supported on windows")
4e85eae
 
4e85eae
     conf.env.INSTALL_VIS_REFERENCE_CLIENTS = conf.options.with_vis_clients
4e85eae
diff -up xmms2-0.8DrO_o/src/includepriv/wscript.fixme xmms2-0.8DrO_o/src/includepriv/wscript
4e85eae
--- xmms2-0.8DrO_o/src/includepriv/wscript.fixme	2020-02-28 09:50:50.912314901 -0500
4e85eae
+++ xmms2-0.8DrO_o/src/includepriv/wscript	2020-02-28 09:51:04.246998545 -0500
4e85eae
@@ -3,5 +3,5 @@ def configure(conf):
4e85eae
 def options(conf):
4e85eae
     pass
4e85eae
 def build(bld):
4e85eae
-    bld.add_subdirs("xmmspriv")
4e85eae
-    bld.add_subdirs("xmmsclientpriv")
4e85eae
+    bld.recurse("xmmspriv")
4e85eae
+    bld.recurse("xmmsclientpriv")
4e85eae
diff -up xmms2-0.8DrO_o/src/include/wscript.fixme xmms2-0.8DrO_o/src/include/wscript
4e85eae
--- xmms2-0.8DrO_o/src/include/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/include/wscript	2020-02-28 09:49:55.144637932 -0500
4e85eae
@@ -17,7 +17,7 @@ def build(bld):
4e85eae
         #bld.install_files(os.path.join(bld.env.INCLUDEDIR, 'xmms2', p), " ".join(f))
4e85eae
 
4e85eae
 def configure(conf):
4e85eae
-    conf.sub_config("xmms")
4e85eae
+    conf.recurse("xmms")
4e85eae
 
4e85eae
     return True
4e85eae
 
4e85eae
diff -up xmms2-0.8DrO_o/src/include/xmms/wscript.fixme xmms2-0.8DrO_o/src/include/xmms/wscript
4e85eae
--- xmms2-0.8DrO_o/src/include/xmms/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/include/xmms/wscript	2020-02-28 09:49:55.144637932 -0500
4e85eae
@@ -1,5 +1,5 @@
4e85eae
 import os, sys
4e85eae
-from waflib import Options, Logs
4e85eae
+from waflib import Options, Logs, Utils
4e85eae
 
4e85eae
 def build(bld):
4e85eae
     pass
4e85eae
@@ -20,7 +20,7 @@ def configure(conf):
4e85eae
         else:
4e85eae
             conf.fatal('The "%s" output plugin could not be found.' % (preferred))
4e85eae
 
4e85eae
-    if Options.platform == 'darwin':
4e85eae
+    if Utils.unversioned_sys_platform == 'darwin':
4e85eae
         uconf = 'Library/xmms2'
4e85eae
         ucache = 'Library/xmms2/logs'
4e85eae
     else:
4e85eae
@@ -28,7 +28,7 @@ def configure(conf):
4e85eae
         ucache = '.cache/xmms2'
4e85eae
 
4e85eae
     sharedir = os.path.join(conf.env.DATADIR, 'xmms2')
4e85eae
-    if Options.platform == 'win32':
4e85eae
+    if Utils.unversioned_sys_platform == 'win32':
4e85eae
         # The plugin path in Windows should be relative, not absolute
4e85eae
         conf.env.PLUGINDIR = 'Plugins/'
4e85eae
     else:
4e85eae
diff -up xmms2-0.8DrO_o/src/lib/xmmsutils/wscript.fixme xmms2-0.8DrO_o/src/lib/xmmsutils/wscript
4e85eae
--- xmms2-0.8DrO_o/src/lib/xmmsutils/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/lib/xmmsutils/wscript	2020-02-28 09:49:55.144637932 -0500
4e85eae
@@ -4,7 +4,7 @@
4e85eae
 # Copyright (C) 2006-2011 XMMS2 Team
4e85eae
 #
4e85eae
 
4e85eae
-from waflib import Options, Logs, Errors
4e85eae
+from waflib import Options, Logs, Errors, Utils
4e85eae
 
4e85eae
 def build(bld):
4e85eae
     source = """
4e85eae
@@ -26,14 +26,14 @@ def build(bld):
4e85eae
 
4e85eae
 
4e85eae
 def configure(conf):
4e85eae
-    if Options.platform == 'win32':
4e85eae
+    if Utils.unversioned_sys_platform == 'win32':
4e85eae
         conf.env.util_impl = 'win32'
4e85eae
     else:
4e85eae
         conf.env.util_impl = 'unix'
4e85eae
         try:
4e85eae
-            conf.check_cc(function_name="nanosleep", header_name="time.h")
4e85eae
+            conf.check_cc(header_name="time.h")
4e85eae
         except Errors.ConfigurationError:
4e85eae
-            conf.check_cc(function_name="nanosleep", header_name="time.h",
4e85eae
+            conf.check_cc(header_name="time.h",
4e85eae
                     lib="rt", uselib_store="rt")
4e85eae
     return True
4e85eae
 
4e85eae
diff -up xmms2-0.8DrO_o/src/lib/xmmsvisualization/wscript.fixme xmms2-0.8DrO_o/src/lib/xmmsvisualization/wscript
4e85eae
--- xmms2-0.8DrO_o/src/lib/xmmsvisualization/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/lib/xmmsvisualization/wscript	2020-02-28 09:49:55.144637932 -0500
4e85eae
@@ -21,7 +21,7 @@ def build(bld):
4e85eae
 
4e85eae
 def configure(conf):
4e85eae
     # Check for the modf function in the math lib
4e85eae
-    conf.check_cc(function_name="modf", header_name="math.h",
4e85eae
+    conf.check_cc(header_name="math.h",
4e85eae
             lib="m", uselib_store="math")
4e85eae
     return True
4e85eae
 
4e85eae
diff -up xmms2-0.8DrO_o/src/plugins/cdda/wscript.fixme xmms2-0.8DrO_o/src/plugins/cdda/wscript
4e85eae
--- xmms2-0.8DrO_o/src/plugins/cdda/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/plugins/cdda/wscript	2020-02-28 09:49:55.145637908 -0500
4e85eae
@@ -1,11 +1,11 @@
4e85eae
 from waftools.plugin import plugin
4e85eae
 
4e85eae
-import Options
4e85eae
+from waflib import Utils
4e85eae
 
4e85eae
 def plugin_configure(conf):
4e85eae
     conf.check_cfg(package="libcdio_cdda", args="--cflags --libs", uselib_store="cdda")
4e85eae
     conf.check_cfg(package="libdiscid", args="--cflags --libs", uselib_store="discid")
4e85eae
-    if Options.platform == "win32":
4e85eae
+    if Utils.unversioned_sys_platform == "win32":
4e85eae
         conf.check_cc(lib="winmm", uselib_store="winmm", args="--cflags --libs")
4e85eae
 
4e85eae
 configure, build = plugin("cdda", configure=plugin_configure,
4e85eae
diff -up xmms2-0.8DrO_o/src/plugins/curl/wscript.fixme xmms2-0.8DrO_o/src/plugins/curl/wscript
4e85eae
--- xmms2-0.8DrO_o/src/plugins/curl/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/plugins/curl/wscript	2020-02-28 09:49:55.145637908 -0500
4e85eae
@@ -16,8 +16,7 @@ def plugin_configure(conf):
4e85eae
     # This is a function this plugin uses and that was added to curl in
4e85eae
     # version 7.12.0. We cannot check for the curl version as curl-config
4e85eae
     # did not support version tests before version 7.15.0
4e85eae
-    conf.check_cc(function_name="curl_multi_strerror",
4e85eae
-            header_name="curl/curl.h", uselib="curl")
4e85eae
+    conf.check_cc(header_name="curl/curl.h", uselib="curl")
4e85eae
 
4e85eae
 configure, build = plugin('curl', configure=plugin_configure,
4e85eae
                           source=source, libs=["socket", "curl"])
4e85eae
diff -up xmms2-0.8DrO_o/src/plugins/daap/wscript.fixme xmms2-0.8DrO_o/src/plugins/daap/wscript
4e85eae
--- xmms2-0.8DrO_o/src/plugins/daap/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/plugins/daap/wscript	2020-02-28 09:49:55.146637885 -0500
4e85eae
@@ -1,4 +1,4 @@
4e85eae
-import Options
4e85eae
+from waflib 	import Options
4e85eae
 from waftools.plugin import plugin
4e85eae
 
4e85eae
 source = """
4e85eae
diff -up xmms2-0.8DrO_o/src/plugins/file/wscript.fixme xmms2-0.8DrO_o/src/plugins/file/wscript
4e85eae
--- xmms2-0.8DrO_o/src/plugins/file/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/plugins/file/wscript	2020-02-28 09:49:55.146637885 -0500
4e85eae
@@ -7,9 +7,9 @@ def plugin_build(bld, obj):
4e85eae
         obj.source.append('browse/gdir.c')
4e85eae
 
4e85eae
 def plugin_configure(conf):
4e85eae
-    conf.check_cc(function_name='fstatat', header_name=['fcntl.h','sys/stat.h'],
4e85eae
+    conf.check_cc(header_name=['fcntl.h','sys/stat.h'],
4e85eae
             defines=['_ATFILE_SOURCE=1'])
4e85eae
-    conf.check_cc(function_name='dirfd', header_name=['dirent.h','sys/types.h'])
4e85eae
+    conf.check_cc(header_name=['dirent.h','sys/types.h'])
4e85eae
 
4e85eae
 configure, build = plugin("file",
4e85eae
         configure=plugin_configure, build=plugin_build,
4e85eae
diff -up xmms2-0.8DrO_o/src/xmms/wscript.fixme xmms2-0.8DrO_o/src/xmms/wscript
4e85eae
--- xmms2-0.8DrO_o/src/xmms/wscript.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/src/xmms/wscript	2020-02-28 09:49:55.147637861 -0500
4e85eae
@@ -5,7 +5,7 @@
4e85eae
 #
4e85eae
 
4e85eae
 import os
4e85eae
-from waflib import Options, Logs, Errors
4e85eae
+from waflib import Options, Logs, Errors, Utils
4e85eae
 
4e85eae
 source = """
4e85eae
     config.c
4e85eae
@@ -127,7 +127,7 @@ int main() {
4e85eae
 
4e85eae
 def get_statfs_impl(conf):
4e85eae
     # Detect the type of stat call used
4e85eae
-    if Options.platform == 'win32':
4e85eae
+    if Utils.unversioned_sys_platform == 'win32':
4e85eae
         return 'dummy'
4e85eae
     else:
4e85eae
         try:
4e85eae
@@ -147,7 +147,7 @@ def get_statfs_impl(conf):
4e85eae
                 else:
4e85eae
                     return 'bsd'
4e85eae
         else:
4e85eae
-            if Options.platform == 'sunos':
4e85eae
+            if Utils.unversioned_sys_platform == 'sunos':
4e85eae
                 return 'solaris'
4e85eae
             else:
4e85eae
                 return 'linux'
4e85eae
@@ -155,7 +155,7 @@ def get_statfs_impl(conf):
4e85eae
 # Get the implementation variant for the localtime_r function.
4e85eae
 def get_localtime_impl(conf):
4e85eae
     try:
4e85eae
-        conf.check_cc(function_name='localtime_r', header_name='time.h')
4e85eae
+        conf.check_cc(header_name='time.h')
4e85eae
     except Errors.ConfigurationError:
4e85eae
         return 'dummy'
4e85eae
     else:
4e85eae
@@ -174,7 +174,7 @@ def get_thread_name_impl(conf):
4e85eae
 
4e85eae
 # Get the implementation variant for signals, symlinks and uid check.
4e85eae
 def get_compat_impl(conf):
4e85eae
-    if Options.platform == 'win32':
4e85eae
+    if Utils.unversioned_sys_platform == 'win32':
4e85eae
         return 'dummy'
4e85eae
     else:
4e85eae
         return 'unix'
4e85eae
@@ -183,8 +183,7 @@ def get_visualization_impl(conf):
4e85eae
     if conf.options.without_unixshmserver:
4e85eae
         return 'dummy'
4e85eae
 
4e85eae
-    conf.check_cc(function_name='semctl',
4e85eae
-                  header_name=['sys/types.h','sys/ipc.h','sys/sem.h'],
4e85eae
+    conf.check_cc(header_name=['sys/types.h','sys/ipc.h','sys/sem.h'],
4e85eae
                   mandatory=False)
4e85eae
     try:
4e85eae
         conf.check_cc(fragment=semun_fragment, uselib_store="semun",
4e85eae
@@ -198,7 +197,7 @@ def get_visualization_impl(conf):
4e85eae
     return 'dummy'
4e85eae
 
4e85eae
 def configure(conf):
4e85eae
-    conf.check_tool('python-generator', tooldir=os.path.abspath('waftools'))
4e85eae
+    conf.load('python-generator', tooldir=os.path.abspath('waftools'))
4e85eae
 
4e85eae
     conf.check_cfg(package='gmodule-2.0', atleast_version='2.6.0',
4e85eae
             uselib_store='gmodule2', args='--cflags --libs')
4e85eae
@@ -208,7 +207,7 @@ def configure(conf):
4e85eae
             uselib_store='sqlite3', args='--cflags --libs')
4e85eae
 
4e85eae
     # Check for the sin function in the math lib
4e85eae
-    conf.check_cc(lib='m', function_name='sin', header_name='math.h',
4e85eae
+    conf.check_cc(lib='m', header_name='math.h',
4e85eae
                   uselib_store="math")
4e85eae
 
4e85eae
     conf.env.compat_impl = get_compat_impl(conf)
4e85eae
@@ -221,11 +220,11 @@ def configure(conf):
4e85eae
         Logs.warn("Compiling visualization without shm support")
4e85eae
 
4e85eae
     # Add Darwin stuff
4e85eae
-    if Options.platform == 'darwin':
4e85eae
+    if Utils.unversioned_sys_platform == 'darwin':
4e85eae
         conf.env.append_value('LINKFLAGS', ['-framework', 'CoreFoundation'])
4e85eae
         conf.env.append_value('DEFINES', 'USE_BUNDLES')
4e85eae
 
4e85eae
-    conf.env.xmms_shared_library = (Options.platform == 'win32')
4e85eae
+    conf.env.xmms_shared_library = (Utils.unversioned_sys_platform == 'win32')
4e85eae
 
4e85eae
     conf.env.XMMS_PKGCONF_FILES.append(('xmms2-plugin', ''))
4e85eae
 
4e85eae
diff -up xmms2-0.8DrO_o/waftools/cython_extra.py.fixme xmms2-0.8DrO_o/waftools/cython_extra.py
4e85eae
--- xmms2-0.8DrO_o/waftools/cython_extra.py.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/waftools/cython_extra.py	2020-02-28 09:49:55.147637861 -0500
4e85eae
@@ -3,37 +3,9 @@
4e85eae
 
4e85eae
 import re
4e85eae
 from waflib import Configure
4e85eae
-from subprocess import Popen, STDOUT, PIPE
4e85eae
+import subprocess
4e85eae
 
4e85eae
-# Borrowed from Python 2.7, subprocess.py
4e85eae
-class CalledProcessError(Exception):
4e85eae
-    """This exception is raised when a process run by check_call() or
4e85eae
-    check_output() returns a non-zero exit status.
4e85eae
-    The exit status will be stored in the returncode attribute;
4e85eae
-    check_output() will also store the output in the output attribute.
4e85eae
-    """
4e85eae
-    def __init__(self, returncode, cmd, output=None):
4e85eae
-        self.returncode = returncode
4e85eae
-        self.cmd = cmd
4e85eae
-        self.output = output
4e85eae
-    def __str__(self):
4e85eae
-        return "Command '%s' returned non-zero exit status %d" % (self.cmd, self.returncode)
4e85eae
-
4e85eae
-# Borrowed from Python 2.7, subprocess.py
4e85eae
-def check_output(*popenargs, **kwargs):
4e85eae
-    if 'stdout' in kwargs:
4e85eae
-        raise ValueError('stdout argument not allowed, it will be overridden.')
4e85eae
-    process = Popen(stdout=PIPE, *popenargs, **kwargs)
4e85eae
-    output, unused_err = process.communicate()
4e85eae
-    retcode = process.poll()
4e85eae
-    if retcode:
4e85eae
-        cmd = kwargs.get("args")
4e85eae
-        if cmd is None:
4e85eae
-            cmd = popenargs[0]
4e85eae
-        raise CalledProcessError(retcode, cmd, output=output)
4e85eae
-    return output
4e85eae
-
4e85eae
-cython_ver_re = re.compile('Cython version ([0-9.]+)')
4e85eae
+cython_ver_re = re.compile(b'Cython version ([0-9.]+)')
4e85eae
 def check_cython_version(self, version=None, minver=None, maxver=None):
4e85eae
 	log_s = []
4e85eae
 	if version:
4e85eae
@@ -53,15 +25,15 @@ def check_cython_version(self, version=N
4e85eae
 		minver = tuple(map(int, minver))
4e85eae
 	if maxver:
4e85eae
 		maxver = tuple(map(int, maxver))
4e85eae
-	
4e85eae
-	# Trick to be compatible python 2.x and 3.x
4e85eae
-	try:
4e85eae
-		u = unicode
4e85eae
-	except NameError:
4e85eae
-		u = str
4e85eae
 
4e85eae
-	cmd = [self.env.CYTHON, '-V']
4e85eae
-	o = u(check_output(cmd, stderr=STDOUT), 'UTF-8').strip()
4e85eae
+	if isinstance(self.env.CYTHON, list):
4e85eae
+		cmdbin = " "
4e85eae
+		cmdbin = cmdbin.join(self.env.CYTHON)
4e85eae
+	else:
4e85eae
+		cmdbin = self.env.CYTHON
4e85eae
+
4e85eae
+	cmd = [cmdbin, '-V']
4e85eae
+	o = subprocess.check_output(cmd, stderr=subprocess.STDOUT).strip()
4e85eae
 	m = cython_ver_re.match(o)
4e85eae
 	self.start_msg('Checking for cython version')
4e85eae
 	if not m:
4e85eae
@@ -69,11 +41,11 @@ def check_cython_version(self, version=N
4e85eae
 		self.fatal("No version found")
4e85eae
 	else:
4e85eae
 		v = m.group(1)
4e85eae
-		ver = tuple(map(int, v.split('.')))
4e85eae
+		ver = tuple(map(int, v.split(b'.')))
4e85eae
 		check = (not minver or minver <= ver) and (not maxver or maxver >= ver)
4e85eae
 		self.to_log('  cython %s\n  -> %r\n' % (" ".join(log_s), v))
4e85eae
 		if check:
4e85eae
-			self.end_msg(v)
4e85eae
+			self.end_msg(v.decode("utf-8"))
4e85eae
 			self.env.CYTHON_VERSION = ver
4e85eae
 		else:
4e85eae
 			self.end_msg('wrong version %s' % v, 'YELLOW')
4e85eae
diff -up xmms2-0.8DrO_o/waftools/man.py.fixme xmms2-0.8DrO_o/waftools/man.py
4e85eae
--- xmms2-0.8DrO_o/waftools/man.py.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/waftools/man.py	2020-02-28 09:49:55.147637861 -0500
4e85eae
@@ -2,7 +2,7 @@ from waflib import Task, Errors, Utils
4e85eae
 import os
4e85eae
 import gzip
4e85eae
 
4e85eae
-from TaskGen import feature,before_method
4e85eae
+from waflib.TaskGen import feature,before_method
4e85eae
 
4e85eae
 def gzip_func(task):
4e85eae
     infile = task.inputs[0].abspath()
4e85eae
diff -up xmms2-0.8DrO_o/waftools/python-generator.py.fixme xmms2-0.8DrO_o/waftools/python-generator.py
4e85eae
--- xmms2-0.8DrO_o/waftools/python-generator.py.fixme	2011-10-20 15:26:08.000000000 -0400
4e85eae
+++ xmms2-0.8DrO_o/waftools/python-generator.py	2020-02-28 09:49:55.147637861 -0500
4e85eae
@@ -1,6 +1,5 @@
4e85eae
-import Task
4e85eae
-import TaskGen
4e85eae
-from TaskGen import extension
4e85eae
+from waflib import TaskGen
4e85eae
+from waflib.TaskGen import extension
4e85eae
 import sys
4e85eae
 
4e85eae
 TaskGen.declare_chain(
4e85eae
diff -up xmms2-0.8DrO_o/waftools/tool.py.fixme xmms2-0.8DrO_o/waftools/tool.py
4e85eae
--- xmms2-0.8DrO_o/waftools/tool.py.fixme	2020-02-28 09:49:55.130638264 -0500
4e85eae
+++ xmms2-0.8DrO_o/waftools/tool.py	2020-02-28 09:49:55.147637861 -0500
4e85eae
@@ -1,4 +1,4 @@
4e85eae
-import Utils
4e85eae
+from waflib import Utils
4e85eae
 import os
4e85eae
 
4e85eae
 def add_install_flag(bld, obj):
4e85eae
diff -up xmms2-0.8DrO_o/wscript.fixme xmms2-0.8DrO_o/wscript
4e85eae
--- xmms2-0.8DrO_o/wscript.fixme	2020-02-28 09:49:55.141638004 -0500
4e85eae
+++ xmms2-0.8DrO_o/wscript	2020-02-28 09:50:32.736746099 -0500
4e85eae
@@ -113,9 +113,9 @@ def build(bld):
4e85eae
         bld.fatal("You need to run waf configure")
4e85eae
         raise SystemExit()
4e85eae
 
4e85eae
-    bld.add_subdirs(subdirs)
4e85eae
-    bld.add_subdirs(plugindirs)
4e85eae
-    bld.add_subdirs(optionaldirs)
4e85eae
+    bld.recurse(subdirs)
4e85eae
+    bld.recurse(plugindirs)
4e85eae
+    bld.recurse(optionaldirs)
4e85eae
 
4e85eae
     for name, lib in bld.env.XMMS_PKGCONF_FILES:
4e85eae
         bld(features = 'subst',
4e85eae
@@ -170,7 +170,7 @@ def _configure_optionals(conf):
4e85eae
     for o in selected_optionals:
4e85eae
         x = [x for x in optional_subdirs if os.path.basename(x) == o][0]
4e85eae
         try:
4e85eae
-            conf.sub_config(x)
4e85eae
+            conf.recurse(x)
4e85eae
             conf.env.append_value('XMMS_OPTIONAL_BUILD', x)
4e85eae
             succeeded_optionals.add(o)
4e85eae
         except Errors.ConfigurationError:
4e85eae
@@ -220,7 +220,7 @@ def _configure_plugins(conf):
4e85eae
 
4e85eae
     for plugin in selected_plugins:
4e85eae
         try:
4e85eae
-            conf.sub_config("src/plugins/%s" % plugin)
4e85eae
+            conf.recurse("src/plugins/%s" % plugin)
4e85eae
             if (not conf.env.XMMS_PLUGINS_ENABLED or
4e85eae
                     (len(conf.env.XMMS_PLUGINS_ENABLED) > 0 and
4e85eae
                         conf.env.XMMS_PLUGINS_ENABLED[-1] != plugin)):
4e85eae
@@ -277,14 +277,14 @@ def configure(conf):
4e85eae
         conf.env.BUILD_XMMS2D = True
4e85eae
         subdirs.insert(0, "src/xmms")
4e85eae
 
4e85eae
-    conf.check_tool('gnu_dirs')
4e85eae
-    conf.check_tool('man', tooldir=os.path.abspath('waftools'))
4e85eae
-    conf.check_tool('misc')
4e85eae
-    conf.check_tool('gcc')
4e85eae
-    conf.check_tool('g++')
4e85eae
+    conf.load('gnu_dirs')
4e85eae
+    conf.load('man', tooldir=os.path.abspath('waftools'))
4e85eae
+    ## conf.load('misc')
4e85eae
+    conf.load('gcc')
4e85eae
+    conf.load('g++')
4e85eae
 
4e85eae
-    if conf.options.target_platform:
4e85eae
-        Options.platform = conf.options.target_platform
4e85eae
+    ## if conf.options.target_platform:
4e85eae
+        ## Options.platform = conf.options.target_platform
4e85eae
 
4e85eae
     nam,changed = gittools.get_info()
4e85eae
     conf.msg("git commit id", nam)
4e85eae
@@ -340,7 +340,7 @@ def configure(conf):
4e85eae
             conf.env.prepend_value('LIBPATH', os.path.join(d, 'lib'))
4e85eae
             conf.env.prepend_value('CPPPATH', os.path.join(d, 'include'))
4e85eae
 
4e85eae
-    if Options.platform != 'win32':
4e85eae
+    if Utils.unversioned_sys_platform != 'win32':
4e85eae
         conf.env.append_unique('CFLAGS_cstlib', ['-fPIC', '-DPIC'])
4e85eae
         conf.env.append_unique('CPPFLAGS_cxxshlib', ['-fPIC', '-DPIC'])
4e85eae
     else:
4e85eae
@@ -356,14 +356,14 @@ def configure(conf):
4e85eae
         conf.env.cshlib_PATTERN = 'lib%s.dll'
4e85eae
         conf.env.cprogram_PATTERN = '%s.exe'
4e85eae
 
4e85eae
-    if Options.platform == 'darwin':
4e85eae
+    if Utils.unversioned_sys_platform == 'darwin':
4e85eae
         conf.env.append_value('LINKFLAGS', '-multiply_defined_suppress')
4e85eae
         conf.env.explicit_install_name = True
4e85eae
     else:
4e85eae
         conf.env.explicit_install_name = False
4e85eae
 
4e85eae
-    if Options.platform == 'sunos':
4e85eae
-        conf.check_cc(function_name='socket', lib='socket', header_name='sys/socket.h', uselib_store='socket')
4e85eae
+    if Utils.unversioned_sys_platform == 'sunos':
4e85eae
+        conf.check_cc(lib='socket', header_name='sys/socket.h', uselib_store='socket')
4e85eae
         if not conf.env.HAVE_SOCKET:
4e85eae
             conf.fatal("xmms2 requires libsocket on Solaris.")
4e85eae
             raise SystemExit(1)
4e85eae
@@ -371,7 +371,7 @@ def configure(conf):
4e85eae
         conf.env.append_unique('CFLAGS', '-D_REENTRANT')
4e85eae
         conf.env.append_unique('CFLAGS', '-std=gnu99')
4e85eae
         conf.env.socket_impl = 'socket'
4e85eae
-    elif Options.platform == 'win32':
4e85eae
+    elif Utils.unversioned_sys_platform == 'win32':
4e85eae
         if conf.options.winver:
4e85eae
             major, minor = [int(x) for x in Options.options.winver.split('.')]
4e85eae
         else:
4e85eae
@@ -413,9 +413,9 @@ int main() { return 0; }
4e85eae
         conf.env.socket_impl = 'posix'
4e85eae
 
4e85eae
     conf.env.xmms_icon = False
4e85eae
-    if Options.platform == 'win32':
4e85eae
+    if Utils.unversioned_sys_platform == 'win32':
4e85eae
         try:
4e85eae
-            conf.check_tool('winres')
4e85eae
+            conf.load('winres')
4e85eae
         except Errors.ConfigurationError:
4e85eae
             pass
4e85eae
         else:
4e85eae
@@ -425,7 +425,7 @@ int main() { return 0; }
4e85eae
     # TaskGen.mac_bundle option seems to be no longer silently ignored
4e85eae
     # if gcc -bundle option is not available.
4e85eae
     # TODO: Add --no-mac-bundle in options ?
4e85eae
-    conf.env.mac_bundle_enabled = Options.platform == 'darwin'
4e85eae
+    conf.env.mac_bundle_enabled = Utils.unversioned_sys_platform == 'darwin'
4e85eae
 
4e85eae
     conf.check_cfg(package='glib-2.0', atleat_version='2.8.0',
4e85eae
             uselib_store='glib2', args='--cflags --libs')
4e85eae
@@ -439,7 +439,7 @@ int main() { return 0; }
4e85eae
     newest = get_newest(subdirs, plugindirs, optionaldirs)
4e85eae
     conf.env.NEWEST_WSCRIPT_SUBDIR = newest
4e85eae
 
4e85eae
-    [conf.sub_config(s) for s in subdirs]
4e85eae
+    [conf.recurse(s) for s in subdirs]
4e85eae
     conf.write_config_header('xmms_configuration.h')
4e85eae
 
4e85eae
     output_plugins = [name for x, name in conf.env.XMMS_OUTPUT_PLUGINS if x > 0]
4e85eae
@@ -464,8 +464,8 @@ def _list_cb(option, opt, value, parser)
4e85eae
     setattr(parser.values, option.dest, vals)
4e85eae
 
4e85eae
 def options(opt):
4e85eae
-    opt.tool_options('gnu_dirs')
4e85eae
-    opt.tool_options('gcc')
4e85eae
+    opt.load('gnu_dirs')
4e85eae
+    opt.load('gcc')
4e85eae
 
4e85eae
     opt.add_option('--with-custom-version', type='string',
4e85eae
                    dest='customversion', help="Override git commit hash version")
4e85eae
@@ -503,9 +503,9 @@ def options(opt):
4e85eae
     opt.add_option('--without-ldconfig', action='store_false',
4e85eae
                    dest='ldconfig', help="Don't run ldconfig after install")
4e85eae
 
4e85eae
-    opt.sub_options("src/xmms")
4e85eae
+    opt.recurse("src/xmms")
4e85eae
     for o in optional_subdirs + subdirs:
4e85eae
-        opt.sub_options(o)
4e85eae
+        opt.recurse(o)
4e85eae
 
4e85eae
 def shutdown(ctx):
4e85eae
     if ctx.cmd != 'install':