diff --git a/SConstruct b/SConstruct index de90b3fd17..f1fcdd0ea6 100644 --- a/SConstruct +++ b/SConstruct @@ -18,69 +18,69 @@ description="A wii/gamecube emulator" license="GPL v2" warnings = [ - 'all', - 'write-strings', - 'shadow', - 'pointer-arith', - 'packed', - 'no-conversion', - ] + 'all', + 'write-strings', + 'shadow', + 'pointer-arith', + 'packed', + 'no-conversion', + ] compileFlags = [ - '-fno-exceptions', - '-fno-strict-aliasing', - '-msse2', - '-fvisibility=hidden', - #'-fomit-frame-pointer' - ] + '-fno-exceptions', + '-fno-strict-aliasing', + '-msse2', + '-fvisibility=hidden', + #'-fomit-frame-pointer' + ] cppDefines = [ - ( '_FILE_OFFSET_BITS', 64), - '_LARGEFILE_SOURCE', - 'GCC_HASCLASSVISIBILITY', - ] + ( '_FILE_OFFSET_BITS', 64), + '_LARGEFILE_SOURCE', + 'GCC_HASCLASSVISIBILITY', + ] if sys.platform == 'darwin': - compileFlags += [ '-I/opt/local/include' ] + compileFlags += [ '-I/opt/local/include' ] include_paths = [ - '../../../Core/Common/Src', - '../../../Core/DiscIO/Src', - '../../../PluginSpecs', - '../../../', - '../../../Core/Core/Src', - '../../../Core/DebuggerWX/Src', - '../../../../Externals/Bochs_disasm', - '../../../../Externals/LZO', - '../../../Core/VideoCommon/Src', - ] + '../../../Core/Common/Src', + '../../../Core/DiscIO/Src', + '../../../PluginSpecs', + '../../../', + '../../../Core/Core/Src', + '../../../Core/DebuggerWX/Src', + '../../../../Externals/Bochs_disasm', + '../../../../Externals/LZO', + '../../../Core/VideoCommon/Src', + ] dirs = [ - 'Source/Core/Common/Src', - 'Externals/Bochs_disasm', - 'Externals/LZO', - 'Source/Core/Core/Src', - 'Source/Core/DiscIO/Src', - 'Source/Core/VideoCommon/Src', - 'Source/Plugins/Plugin_VideoOGL/Src', - 'Source/Plugins/Plugin_DSP_HLE/Src', -# 'Source/Plugins/Plugin_DSP_LLE/Src', - 'Source/Plugins/Plugin_DSP_NULL/Src', - 'Source/Plugins/Plugin_PadSimple/Src', - 'Source/Plugins/Plugin_nJoy_SDL/Src', - 'Source/Plugins/Plugin_Wiimote_Test/Src', - 'Source/Core/DolphinWX/Src', - ] - + 'Source/Core/Common/Src', + 'Externals/Bochs_disasm', + 'Externals/LZO', + 'Source/Core/Core/Src', + 'Source/Core/DiscIO/Src', + 'Source/Core/VideoCommon/Src', + 'Source/Plugins/Plugin_VideoOGL/Src', + 'Source/Plugins/Plugin_DSP_HLE/Src', + 'Source/Plugins/Plugin_DSP_LLE/Src', + 'Source/Plugins/Plugin_DSP_NULL/Src', + 'Source/Plugins/Plugin_PadSimple/Src', + 'Source/Plugins/Plugin_nJoy_SDL/Src', + 'Source/Plugins/Plugin_Wiimote_Test/Src', + 'Source/Core/DolphinWX/Src', + ] + builders = {} if sys.platform == 'darwin': - from plistlib import writePlist - def createPlist(target, source, env): - properties = {} - for srcNode in source: - properties.update(srcNode.value) - for dstNode in target: - writePlist(properties, str(dstNode)) + from plistlib import writePlist + def createPlist(target, source, env): + properties = {} + for srcNode in source: + properties.update(srcNode.value) + for dstNode in target: + writePlist(properties, str(dstNode)) builders['Plist'] = Builder(action = createPlist) lib_paths = include_paths @@ -88,66 +88,65 @@ lib_paths = include_paths # handle command line options vars = Variables('args.cache') vars.AddVariables( - BoolVariable('verbose', 'Set for compilation line', False), - BoolVariable('debug', 'Set for debug build', False), - BoolVariable('lint', 'Set for lint build (extra warnings)', False), - BoolVariable('nowx', 'Set For Building with no WX libs (WIP)', False), - EnumVariable('flavor', 'Choose a build flavor', 'release', - allowed_values = ('release', 'devel', 'debug'), - ignorecase = 2 - ) - ) + BoolVariable('verbose', 'Set for compilation line', False), + BoolVariable('debug', 'Set for debug build', False), + BoolVariable('lint', 'Set for lint build (extra warnings)', False), + BoolVariable('nowx', 'Set For Building with no WX libs (WIP)', False), + EnumVariable('flavor', 'Choose a build flavor', 'release', + allowed_values = ('release', 'devel', 'debug'), + ignorecase = 2 + ) + ) env = Environment( - CC = 'gcc', - CXX = 'g++', - CPPPATH = include_paths, - LIBPATH = lib_paths, - variables = vars, - ENV = { - 'PATH' : os.environ['PATH'], - 'HOME' : os.environ['HOME'] - }, - BUILDERS = builders, - DESCRIPTION = description, - SUMMARY = description, - LICENSE = license, - NAME = name, - VERSION = version, - ) + CC = 'gcc', + CXX = 'g++', + CPPPATH = include_paths, + LIBPATH = lib_paths, + variables = vars, + ENV = { + 'PATH' : os.environ['PATH'], + 'HOME' : os.environ['HOME'] + }, + BUILDERS = builders, + DESCRIPTION = description, + SUMMARY = description, + LICENSE = license, + NAME = name, + VERSION = version, + ) # save the given command line options vars.Save('args.cache', env) # verbose compile if not env['verbose']: - env['CCCOMSTR'] = "Compiling $TARGET" - env['CXXCOMSTR'] = "Compiling $TARGET" - env['ARCOMSTR'] = "Archiving $TARGET" - env['LINKCOMSTR'] = "Linking $TARGET" - env['ASCOMSTR'] = "Assembling $TARGET" - env['ASPPCOMSTR'] = "Assembling $TARGET" - env['SHCCCOMSTR'] = "Compiling shared $TARGET" - env['SHCXXCOMSTR'] = "Compiling shared $TARGET" - env['SHLINKCOMSTR'] = "Linking shared $TARGET" - env['RANLIBCOMSTR'] = "Indexing $TARGET" + env['CCCOMSTR'] = "Compiling $TARGET" + env['CXXCOMSTR'] = "Compiling $TARGET" + env['ARCOMSTR'] = "Archiving $TARGET" + env['LINKCOMSTR'] = "Linking $TARGET" + env['ASCOMSTR'] = "Assembling $TARGET" + env['ASPPCOMSTR'] = "Assembling $TARGET" + env['SHCCCOMSTR'] = "Compiling shared $TARGET" + env['SHCXXCOMSTR'] = "Compiling shared $TARGET" + env['SHLINKCOMSTR'] = "Linking shared $TARGET" + env['RANLIBCOMSTR'] = "Indexing $TARGET" # build falvuor flavour = ARGUMENTS.get('flavor') if (flavour == 'debug'): - compileFlags.append('-g') - cppDefines.append('LOGGING') + compileFlags.append('-g') + cppDefines.append('LOGGING') elif (flavour == 'devel'): - compileFlags.append('-g') + compileFlags.append('-g') else: - compileFlags.append('-O3') - + compileFlags.append('-O3') # more warnings if env['lint']: - warnings.append('error') - warnings.append('unreachable-code') - warnings.append('float-equal') + warnings.append('error') + warnings.append('unreachable-code') + warnings.append('float-equal') # add the warnings to the compile flags compileFlags += [ '-W' + warning for warning in warnings ] @@ -166,31 +165,31 @@ tests = {'CheckWXConfig' : wxconfig.CheckWXConfig, conf = env.Configure(custom_tests = tests) if not conf.CheckPKGConfig('0.15.0'): - Exit(1) + Exit(1) if not conf.CheckSDL('1.0.0'): - Exit(1) + Exit(1) if not conf.CheckPKG('ao'): - Exit(1) + Exit(1) # handling wx flags CCFLAGS should be created before if not env['nowx']: - if not conf.CheckWXConfig( - '2.8', ['gl', 'adv', 'core', 'base'], env['debug'] - ): - print 'gui build requires wxwidgets >= 2.8' - Exit(1) + if not conf.CheckWXConfig( + '2.8', ['gl', 'adv', 'core', 'base'], env['debug'] + ): + print 'gui build requires wxwidgets >= 2.8' + Exit(1) if not env['nowx']: - dirs += ['Source/Core/DebuggerWX/Src',] + dirs += ['Source/Core/DebuggerWX/Src',] # After all configuration tests are done env = conf.Finish() #wx windows flags if not env['nowx']: - wxconfig.ParseWXConfig(env) - compileFlags += ['-DUSE_WX',] + wxconfig.ParseWXConfig(env) + compileFlags += ['-DUSE_WX',] #get sdl stuff env.ParseConfig('sdl-config --cflags --libs') @@ -203,20 +202,22 @@ env.AddMethod(utils.filterWarnings) Export('env') +utils.GenerateRevFile(env['flavor'], "Source/Core/Common/Src/svnrev_template.h", + "Source/Core/Common/Src/svnrev.h") # print a nice progress indication when not compiling Progress(['-\r', '\\\r', '|\r', '/\r'], interval = 5) # die on unknown variables unknown = vars.UnknownVariables() if unknown: - print "Unknown variables:", unknown.keys() - Exit(1) + print "Unknown variables:", unknown.keys() + Exit(1) # generate help Help(vars.GenerateHelpText(env)) for subdir in dirs: - SConscript( - subdir + os.sep + 'SConscript', - duplicate = 0 - ) + SConscript( + subdir + os.sep + 'SConscript', + duplicate = 0 + ) diff --git a/SconsTests/utils.py b/SconsTests/utils.py index e00f018326..1deeff5f4c 100644 --- a/SconsTests/utils.py +++ b/SconsTests/utils.py @@ -2,36 +2,53 @@ import os # methods that should be added to env def filterWarnings(self, flags): - return ' '.join( - flag - for flag in flags - if not flag.startswith('-W') - ) + return ' '.join( + flag + for flag in flags + if not flag.startswith('-W') + ) # taken from scons wiki def CheckPKGConfig(context, version): - context.Message( 'Checking for pkg-config version > %s... ' % version) - ret = context.TryAction('pkg-config --atleast-pkgconfig-version=%s' % version)[0] - context.Result( ret ) - return ret - + context.Message( 'Checking for pkg-config version > %s... ' % version) + ret = context.TryAction('pkg-config --atleast-pkgconfig-version=%s' % version)[0] + context.Result( ret ) + return ret + def CheckPKG(context, name): - context.Message( 'Checking for %s... ' % name ) - ret = context.TryAction('pkg-config --exists \'%s\'' % name)[0] - context.Result( ret ) - return ret + context.Message( 'Checking for %s... ' % name ) + ret = context.TryAction('pkg-config --exists \'%s\'' % name)[0] + context.Result( ret ) + return ret def CheckSDL(context, version): - context.Message( 'Checking for sdl lib version > %s... ' % version) - sdl_config = context.env.WhereIs('sdl-config') - if sdl_config == None: - ret = 0 - else: - found_ver = os.popen('sdl-config --version').read().strip() - required = [int(n) for n in version.split(".")] - found = [int(n) for n in found_ver.split(".")] - ret = (found >= required) - + context.Message( 'Checking for sdl lib version > %s... ' % version) + sdl_config = context.env.WhereIs('sdl-config') + if sdl_config == None: + ret = 0 + else: + found_ver = os.popen('sdl-config --version').read().strip() + required = [int(n) for n in version.split(".")] + found = [int(n) for n in found_ver.split(".")] + ret = (found >= required) + context.Result( ret ) return ret + +def GenerateRevFile(flavour, template, output): + + try: + svnrev = os.popen('svnversion .').read().strip().split(':')[0] + except: + svnrev = "" + + revstr = svnrev + "-" + flavour + tmpstr = open(template, "r").read().replace("$WCREV$",revstr) + template.close() + + outfile = open(output, 'w') + outfile.write(tmpstr +"\n") + outfile.close() + + return diff --git a/Source/Plugins/Plugin_VideoOGL/Src/GLInit.cpp b/Source/Plugins/Plugin_VideoOGL/Src/GLInit.cpp index 9c48b57d1f..b5444dce7d 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/GLInit.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/GLInit.cpp @@ -17,8 +17,9 @@ #include "Globals.h" #include "IniFile.h" -#if defined(_WIN32) #include "svnrev.h" + +#if defined(_WIN32) #include "OS/Win32.h" #endif #include "GLInit.h" @@ -101,16 +102,13 @@ BOOL Callback_PeekMessages() void UpdateFPSDisplay(const char *text) { -#if defined(_WIN32) - char temp[512]; - sprintf(temp, "SVN R%i: GL: %s", SVN_REV, text); - SetWindowText(EmuWindow::GetWnd(), temp); - OpenGL_SetWindowText(temp); -#else char temp[512]; - sprintf(temp, "SVN %s: GL: %s", "Linux", text); //TODO: Set to svn rev // - OpenGL_SetWindowText(temp); + sprintf(temp, "SVN R%s: GL: %s", SVN_REV_STR, text); +#if defined(_WIN32) + SetWindowText(EmuWindow::GetWnd(), temp); #endif + OpenGL_SetWindowText(temp); + }