ports/games/battletanks/files/patch-SConstruct
Po-Chuan Hsieh 678a5a1e80
games/battletanks: Fix build with scons 4.9.0+
PR:		290581
Reference:	75754213c7
Approved by:	portmgr (blanket)
2025-11-05 18:23:46 +08:00

176 lines
6.8 KiB
Plaintext

--- SConstruct.orig 2009-12-10 14:58:55 UTC
+++ SConstruct
@@ -16,7 +16,7 @@ env['BUILDERS']['Library'] = picLibBuilder
env['BUILDERS']['StaticLibrary'] = picLibBuilder
env['BUILDERS']['Library'] = picLibBuilder
-opts = Options(['options.cache'])
+opts = Variables(['options.cache'])
#opts.Add('CC', 'C compiler')
#opts.Add('CXX', 'C++ compiler')
opts.Add('CCFLAGS', 'General options that are passed to the C compiler')
@@ -30,12 +30,13 @@ if sys.platform != "win32":
if sys.platform != "win32":
opts.Add('prefix', 'prefix for **nix packaging', '')
+ opts.Add('DESTDIR', 'staging dir (also for packaging)', '')
opts.Add('lib_dir', 'resources directory (default: prefix/lib)', '')
opts.Add('plugins_dir', 'plugins directory (default: prefix/lib/btanks)', '')
opts.Add('resources_dir', 'resources directory (default: prefix/share/btanks)', '')
- opts.Add(BoolOption('gcc_visibility', 'gcc visibility', 'true'))
+ opts.Add(BoolVariable('gcc_visibility', 'gcc visibility', 'true'))
-opts.Add(EnumOption('mode', 'build mode', 'release', allowed_values=('debug','release')))
+opts.Add(EnumVariable('mode', 'build mode', 'release', allowed_values=('debug','release')))
opts.Update(env)
opts.Save('options.cache', env.Clone())
@@ -47,16 +48,18 @@ import SCons.Util
Export('debug')
import SCons.Util
-if os.environ.has_key('CC'):
+if 'CC' in os.environ:
env['CC'] = os.environ['CC']
-if os.environ.has_key('CFLAGS'):
+if 'CFLAGS' in os.environ:
env['CCFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS'])
-if os.environ.has_key('CXX'):
+if 'CXX' in os.environ:
env['CXX'] = os.environ['CXX']
-if os.environ.has_key('CXXFLAGS'):
+if 'CXXFLAGS' in os.environ:
env['CXXFLAGS'] += SCons.Util.CLVar(os.environ['CXXFLAGS'])
-if os.environ.has_key('LDFLAGS'):
+if 'LDFLAGS' in os.environ:
env['LINKFLAGS'] += SCons.Util.CLVar(os.environ['LDFLAGS'])
+if 'CPPPATH' in os.environ:
+ env['CPPPATH'] = os.environ['CPPPATH'].split()
if (sys.platform != "win32" and env['gcc_visibility']):
env.Append(CCFLAGS=['-fvisibility=hidden', '-DGCC_HASCLASSVISIBILITY'])
@@ -98,9 +101,6 @@ else:
if debug:
env.Append(CCFLAGS=['-ggdb', '-D_FORTIFY_SOURCE=2'])
env.Append(CPPFLAGS=['-ggdb', '-D_FORTIFY_SOURCE=2'])
- else:
- env.Append(CCFLAGS=['-O3'])
- env.Append(CPPFLAGS=['-O3'])
env.Append(CPPFLAGS=['-Wall', '-Wno-deprecated', '-pedantic', '-Wno-long-long', '-pipe', '-pthread'])
env.Append(CCFLAGS=['-Wall', '-Wno-deprecated', '-pedantic', '-Wno-long-long', '-pipe', '-pthread'])
@@ -119,17 +119,17 @@ else:
#print conf.env['CCFLAGS']
-if not conf.CheckLibWithHeader('expat', 'expat.h', 'c', "XML_ParserCreate(NULL);", False):
+if not conf.CheckLibWithHeader('expat', 'expat.h', 'c', None, "XML_ParserCreate(NULL);", False):
Exit(1)
-if not conf.CheckLibWithHeader('z', 'zlib.h', 'c', "zlibVersion();", False):
+if not conf.CheckLibWithHeader('z', 'zlib.h', 'c', None, "zlibVersion();", False):
Exit(1)
if sys.platform == "win32":
conf.env.Append(LINKFLAGS = ['/SUBSYSTEM:WINDOWS', '/FORCE'])
conf.env.Append(LIBS=['SDLmain'])
-if not conf.CheckLibWithHeader('SDL', 'SDL.h', 'c++', "SDL_Init(0);", False):
+if not conf.CheckLibWithHeader('SDL', 'SDL.h', 'c++', None, "SDL_Init(0);", False):
Exit(1)
@@ -140,23 +140,23 @@ Export('smpeg_lib')
smpeg_lib = 'smpeg_d'
Export('smpeg_lib')
-if not conf.CheckLibWithHeader(smpeg_lib, 'smpeg/smpeg.h', 'c++', "SMPEG_new_data(malloc(42), 42, NULL, 0);", False):
+if not conf.CheckLibWithHeader(smpeg_lib, 'smpeg/smpeg.h', 'c++', None, "SMPEG_new_data(malloc(42), 42, NULL, 0);", False):
Exit(1)
-if not conf.CheckLibWithHeader('SDL_image', 'SDL_image.h', 'c++', "IMG_Load(0);", False):
+if not conf.CheckLibWithHeader('SDL_image', 'SDL_image.h', 'c++', None, "IMG_Load(0);", False):
Exit(1)
-if not conf.CheckLibWithHeader('vorbisfile', 'vorbis/vorbisfile.h', 'c++', "ov_open(0, 0, 0, 0);", False):
+if not conf.CheckLibWithHeader('vorbisfile', 'vorbis/vorbisfile.h', 'c++', None, "ov_open(0, 0, 0, 0);", False):
Exit(1)
if sys.platform == 'win32':
- if not conf.CheckLibWithHeader('lua', 'lua.hpp', 'c++', "lua_newstate(NULL, NULL);", False):
+ if not conf.CheckLibWithHeader('lua', 'lua.hpp', 'c++', None, "lua_newstate(NULL, NULL);", False):
Exit(1)
if sys.platform != 'win32':
- have_sse = conf.CheckLibWithHeader('m', "xmmintrin.h", 'c', '_mm_set_ss(1.0f);', False)
+ have_sse = conf.CheckLibWithHeader('m', "xmmintrin.h", 'c', None, '_mm_set_ss(1.0f);', False)
else:
- have_sse = conf.CheckLibWithHeader('kernel32', "xmmintrin.h", 'c', '_mm_set_ss(1.0f);', False) # hackish lib :(
+ have_sse = conf.CheckLibWithHeader('kernel32', "xmmintrin.h", 'c', None, '_mm_set_ss(1.0f);', False) # hackish lib :(
conf.Finish()
@@ -205,7 +205,7 @@ try :
except:
info = sys.exc_info()
- print "%s %s %s" %(info[0], info[1], info[2])
+ print("%s %s %s" %(info[0], info[1], info[2]))
except :
svnversion = os.popen('svnversion -n .', 'r')
version = svnversion.readline().strip()
@@ -238,7 +238,10 @@ version = version[version.rfind(':') + 1:]
env.Append(CPPDEFINES='PLUGINS_DIR="\\"' + plugins_dir + '\\""')
version = version[version.rfind(':') + 1:]
-revision = int(version.replace('M', ''))
+try:
+ revision = int(version.replace('M', ''))
+except ValueError:
+ revision = 0
Export('version')
Export('revision')
@@ -246,31 +249,35 @@ version = '0.9.%s' %version
Export('plugins_dir')
version = '0.9.%s' %version
-print "version: %s" %version
+print("version: %s" %version)
bt_sublibs = ['mrt', 'sdlx', 'objects', 'clunk']
env.Append(CPPPATH=['#'])
if (os.path.exists('private')):
dir = 'private'
- BuildDir('#/build/' + buildmode + '/' + dir, dir, 0)
+ VariantDir('#/build/' + buildmode + '/' + dir, dir, 0)
SConscript('#/build/' + buildmode + '/' + dir + '/SConscript')
for dir in bt_sublibs:
- BuildDir('#/build/' + buildmode + '/' + dir, dir, 0)
+ VariantDir('#/build/' + buildmode + '/' + dir, dir, 0)
SConscript('#/build/' + buildmode + '/' + dir + '/SConscript')
for dir in bt_sublibs:
env.Append(LIBPATH=['#/build/' + buildmode + '/' + dir])
-env.BuildDir('#/build/' + buildmode + '/editor', 'editor', 0)
+env.VariantDir('#/build/' + buildmode + '/editor', 'editor', 0)
SConscript('#/build/' + buildmode + '/editor/SConscript')
env.Append(LIBPATH=['#/build/' + buildmode + '/engine'])
-env.BuildDir('#/build/' + buildmode + '/engine', 'engine', 0)
+env.VariantDir('#/build/' + buildmode + '/engine', 'engine', 0)
SConscript('#/build/' + buildmode + '/engine/' + 'SConscript')
if len(install_targets) > 0:
- install_targets.append(env.Command(resources_dir + '/resources.dat', '#/data', 'zip -q -0 -r $TARGET * -x \*.svn\* -x \*.wav', chdir='data'))
+ install_targets.append(
+ env.Command(env['DESTDIR'] + resources_dir + '/resources.dat',
+ '#/data',
+ 'zip -q -0 -r $TARGET * -x \*.svn\* -x \*.wav',
+ chdir='data'))
env.Alias('install', install_targets)