--- SConstruct.orig	2013-06-02 07:41:11.000000000 -0500
+++ SConstruct	2022-06-26 16:12:56.000000000 -0500
@@ -122,7 +122,7 @@
                 flags['LINKFLAGS'].append(arg)
             else:
                 flags['CCFLAGS'].append(arg)
-        apply(env.Append, (), flags)
+        env.Append(*(), **flags)
         return static_libs
 
     if function is None:
@@ -190,20 +190,20 @@
 
   ## check for required libs ##
   if not conf.CheckLibWithHeader('png', 'png.h', 'c'):
-     print 'Did not find png library or headers, exiting!'
+     print('Did not find png library or headers, exiting!')
      Exit(1)
   if not conf.CheckLibWithHeader('z', 'zlib.h', 'c'):
-     print 'Did not find the zlib library or headers, exiting!'
+     print('Did not find the zlib library or headers, exiting!')
      Exit(1)
   if not 'USE_WIN32' in env['CPPDEFINES'] and not sys.platform.startswith('freebsd'):
      if not conf.CheckLib('dl'):
-        print 'Did not find dl library or header which is needed on some systems for lua. Exiting!'
+        print('Did not find dl library or header which is needed on some systems for lua. Exiting!')
         Exit(1)
   if not CheckLuaLib(env, conf):
-     print 'Did not find required lua library. Exiting!'
+     print('Did not find required lua library. Exiting!')
      Exit(1)
   if not CheckOpenGL(env, conf):
-     print 'Did not find required OpenGL library. Exiting!'
+     print('Did not find required OpenGL library. Exiting!')
      Exit(1)
 
   # Check for optional libraries #
@@ -232,7 +232,7 @@
     env.ParseConfig('sdl-config --libs')
     if sys.platform != "darwin" and not '-Dmain=SDL_main' in env['CCFLAGS']:
        if not conf.CheckLibWithHeader('SDL', 'SDL.h', 'c'):
-          print 'Did not find SDL library or headers, exiting!'
+          print('Did not find SDL library or headers, exiting!')
           Exit(1)
 
   env = conf.Finish()
@@ -245,14 +245,14 @@
             # Remove outdated cache file
             os.remove(cachename)
    if optionsChanged or not os.path.exists(cachename):
-      print cachename + " doesn't exist or out of date."
-      print "Generating new build config cache ..."
+      print(cachename + " doesn't exist or out of date.")
+      print("Generating new build config cache ...")
       cache = DefineOptions(cachename, {})
       AutoConfigure(env)
       cache.Save(cachename, env)
    else:
       cache = DefineOptions(cachename, {})
-      print "Using " + cachename
+      print("Using " + cachename)
       cache.Update(env)
 
 AutoConfigureIfNeeded(env, '')
@@ -285,7 +285,7 @@
 
 debug = env.Clone()
 debug.Append(CPPDEFINES = 'DEBUG')
-debug.Append(CCFLAGS = Split('-g -Wsign-compare -Wall -Werror'))
+debug.Append(CCFLAGS = Split('-g -Wsign-compare -Wall'))
 
 profile = debug.Clone()
 profile.Append(CCFLAGS = Split('-pg'))
@@ -311,7 +311,7 @@
 def DefineVariant(venv, v, vv = None):
    if vv == None:
       vv = '-' + v
-   BuildDir('build/' + v, engineSourceDir, duplicate = 0)
+   VariantDir('build/' + v, engineSourceDir, duplicate = 0)
    r = venv.Program('build/boswars' + vv, buildSourcesList('build/' + v))
    Alias(v, 'boswars' + vv)
    return r 
