dolphin/SConstruct

109 lines
2.3 KiB
Python
Raw Normal View History

import os
import sys
# TODO: What is the current Dolphin version?
dolphin_version = '1.04'
Export('dolphin_version')
warnings = [
'all',
'write-strings',
#'float-equal',
'shadow',
'pointer-arith',
'packed',
'no-conversion',
# 'error',
#'unreachable-code',
]
compileFlags = [
'-fno-exceptions',
'-fno-strict-aliasing',
'-msse2',
'-D_FILE_OFFSET_BITS=64',
'-D_LARGEFILE_SOURCE',
'-DGCC_HASCLASSVISIBILITY',
'-fvisibility=hidden',
]
#compileFlags += [ '-fomit-frame-pointer' ]
if sys.platform == 'darwin':
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',
]
dirs = [
"Source/Core/Common/Src",
"Externals/Bochs_disasm",
"Externals/LZO",
"Source/Core/Core/Src",
"Source/Core/DiscIO/Src",
"Source/Core/DebuggerWX/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_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))
builders['Plist'] = Builder(action = createPlist)
lib_paths = include_paths
debug = ARGUMENTS.get('debug', 0)
if int(debug):
compileFlags.append('-g')
compileFlags.append('-DLOGGING')
else:
compileFlags.append('-O3')
lint = ARGUMENTS.get('lint', 0)
if int(lint):
warnings.append('error')
compileFlags += [ '-W' + warning for warning in warnings ]
env = Environment(
CC = "gcc",
CXX = "g++",
CCFLAGS = ' '.join(compileFlags),
CXXFLAGS = ' '.join(compileFlags + [ '-fvisibility-inlines-hidden' ]),
CPPPATH = include_paths,
LIBPATH = lib_paths,
ENV = {
'PATH' : os.environ['PATH'],
'HOME' : os.environ['HOME']
},
BUILDERS = builders,
)
Export('env')
for subdir in dirs:
SConscript(
subdir + os.sep + 'SConscript',
duplicate = 0
)