--- a/SConstruct +++ b/SConstruct @@ -12,19 +12,8 @@ def get(self,name,value=None): return self.ARGUMENTS.get('%s_%s' % (self.prefix, name), self.ARGUMENTS.get(name,value)) -# endianess-checker -def checkEndian(): - import struct - array = struct.pack('cccc', '\x01', '\x02', '\x03', '\x04') - i = struct.unpack('i', array) - if i == struct.unpack('i', array): - return "big" - return "unknown" - class DXXCommon: - __endian = checkEndian() + __endian = sys.byteorder class UserSettings: def __init__(self,ARGUMENTS): # Paths for the Videocore libs/includes on the Raspberry Pi @@ -57,7 +46,7 @@ builddir_suffix = ARGUMENTS.get('builddir_suffix', None) default_builddir = builddir_prefix or '' if builddir_prefix is not None or builddir_suffix is not None: - if os.environ.has_key('CC'): + if 'CC' in os.environ: default_builddir += '%s-' % os.path.basename(os.environ['CC']) for a in ( ('debug', 'dbg'), @@ -131,7 +120,7 @@ flags = self.__pkg_config_sdl[cmd] except KeyError as e: if (program.user_settings.verbosebuild != 0): - print "%s: reading SDL settings from `%s`" % (program.PROGRAM_NAME, cmd) + print("%s: reading SDL settings from `%s`" % (program.PROGRAM_NAME, cmd)) self.__pkg_config_sdl[cmd] = env.backtick(cmd) flags = self.__pkg_config_sdl[cmd] env.MergeFlags(flags) @@ -156,31 +145,31 @@ self.env.Append(CPPDEFINES = ['NETWORK']) # Get traditional compiler environment variables for cc in ['CC', 'CXX']: - if os.environ.has_key(cc): + if cc in os.environ: self.env[cc] = os.environ[cc] for flags in ['CFLAGS', 'CXXFLAGS']: - if os.environ.has_key(flags): + if flags in os.environ: self.env[flags] += SCons.Util.CLVar(os.environ[flags]) def check_endian(self): # set endianess if (self.__endian == "big"): - print "%s: BigEndian machine detected" % self.PROGRAM_NAME + print("%s: BigEndian machine detected" % self.PROGRAM_NAME) self.asm = 0 self.env.Append(CPPDEFINES = ['WORDS_BIGENDIAN']) elif (self.__endian == "little"): - print "%s: LittleEndian machine detected" % self.PROGRAM_NAME + print("%s: LittleEndian machine detected" % self.PROGRAM_NAME) def check_platform(self): # windows or *nix? if sys.platform == 'win32': - print "%s: compiling on Windows" % self.PROGRAM_NAME + print("%s: compiling on Windows" % self.PROGRAM_NAME) platform = self.Win32PlatformSettings elif sys.platform == 'darwin': - print "%s: compiling on Mac OS X" % self.PROGRAM_NAME + print("%s: compiling on Mac OS X" % self.PROGRAM_NAME) platform = self.DarwinPlatformSettings else: - print "%s: compiling on *NIX" % self.PROGRAM_NAME + print("%s: compiling on *NIX" % self.PROGRAM_NAME) platform = self.LinuxPlatformSettings self.platform_settings = platform(self.user_settings) # Acquire environment object... @@ -194,15 +183,15 @@ # opengl or software renderer? if (self.user_settings.opengl == 1) or (self.user_settings.opengles == 1): if (self.user_settings.opengles == 1): - print "%s: building with OpenGL ES" % self.PROGRAM_NAME + print("%s: building with OpenGL ES" % self.PROGRAM_NAME) env.Append(CPPDEFINES = ['OGLES']) else: - print "%s: building with OpenGL" % self.PROGRAM_NAME + print("%s: building with OpenGL" % self.PROGRAM_NAME) env.Append(CPPDEFINES = ['OGL']) # assembler code? if (self.user_settings.asm == 1) and (self.user_settings.opengl == 0): - print "%s: including: ASSEMBLER" % self.PROGRAM_NAME + print("%s: including: ASSEMBLER" % self.PROGRAM_NAME) env.Replace(AS = 'nasm') env.Append(ASCOM = ' -f ' + str(self.platform_settings.osasmdef) + ' -d' + str(self.platform_settings.osdef) + ' -Itexmap/ ') self.common_sources += asm_sources @@ -211,12 +200,12 @@ # SDL_mixer support? if (self.user_settings.sdlmixer == 1): - print "%s: including SDL_mixer" % self.PROGRAM_NAME + print("%s: including SDL_mixer" % self.PROGRAM_NAME) env.Append(CPPDEFINES = ['USE_SDLMIXER']) # debug? if (self.user_settings.debug == 1): - print "%s: including: DEBUG" % self.PROGRAM_NAME + print("%s: including: DEBUG" % self.PROGRAM_NAME) env.Append(CPPFLAGS = ['-g']) else: env.Append(CPPDEFINES = ['NDEBUG', 'RELEASE']) @@ -244,7 +233,7 @@ # Raspberry Pi? if (self.user_settings.raspberrypi == 1): - print "using Raspberry Pi vendor libs in %s" % self.user_settings.rpi_vc_path + print("using Raspberry Pi vendor libs in %s" % self.user_settings.rpi_vc_path) env.Append(CPPDEFINES = ['RPI', 'WORDS_NEED_ALIGNMENT']) env.Append(CPPPATH = [ self.user_settings.rpi_vc_path+'/include', @@ -317,7 +306,7 @@ self.env.Append(CPPDEFINES = [('DXX_VERSION_MAJORi', str(self.VERSION_MAJOR)), ('DXX_VERSION_MINORi', str(self.VERSION_MINOR)), ('DXX_VERSION_MICROi', str(self.VERSION_MICRO))]) def banner(self): - print '\n===== ' + self.PROGRAM_NAME + self.VERSION_STRING + ' =====\n' + print('\n===== ' + self.PROGRAM_NAME + self.VERSION_STRING + ' =====\n') def process_user_settings(self): DXXCommon.process_user_settings(self) @@ -330,7 +319,7 @@ else: env.Append(FRAMEWORKS = ['OpenGL']) else: - print "%s: building with Software Renderer" % self.PROGRAM_NAME + print("%s: building with Software Renderer" % self.PROGRAM_NAME) self.common_sources += self.arch_sdl_sources # SDL_mixer support? @@ -587,10 +576,10 @@ ] DXXProgram.__init__(self) - sources_use_udp = [os.path.join(srcdir, 'main/net_udp.c')] + sources_use_udp = [os.path.join('', 'main/net_udp.c')] # SDL_mixer sound implementation - arch_sdlmixer = [os.path.join(srcdir, f) for f in [ + arch_sdlmixer = [os.path.join('', f) for f in [ 'arch/sdl/digi_mixer.c', 'arch/sdl/digi_mixer_music.c', 'arch/sdl/jukebox.c' @@ -598,21 +587,21 @@ ] # for opengl - arch_ogl_sources = [os.path.join(srcdir, f) for f in [ + arch_ogl_sources = [os.path.join('', f) for f in [ 'arch/ogl/gr.c', 'arch/ogl/ogl.c', ] ] # for non-ogl - arch_sdl_sources = [os.path.join(srcdir, f) for f in [ + arch_sdl_sources = [os.path.join('', f) for f in [ 'arch/sdl/gr.c', 'texmap/tmapflat.c' ] ] # assembler related - asm_sources = [os.path.join(srcdir, f) for f in [ + asm_sources = [os.path.join('', f) for f in [ 'texmap/tmap_ll.asm', 'texmap/tmap_flt.asm', 'texmap/tmapfade.asm',