Build with -msse3 on OS X. The first Intel Macs were Core Duo/Solo, which
had SSE3. Keep -msse2 on other platforms. Not sure if there are actually any Dolphin-capable machines out there without SSE3, but.. Use -search_paths_first to give our statically linked libraries precedence over /usr/local/lib. Some work-in-progress changes to facilitate a more easily redistributable application bundle on OS X. Group compiler/preprocessor/linker flags together to make the full set more intuitively apparent. The various libraries in Externals have rather inconsistent conventions for include paths. Best to encapsulate that knowledge in foo/SConscript. Re-use utils.GenerateRevFile for all three places in the build system where we need the SVN revision number. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6030 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
fad075351c
commit
52d3137598
|
@ -15,3 +15,4 @@ if sys.platform == 'win32':
|
||||||
files += [ "stdafx.cpp" ]
|
files += [ "stdafx.cpp" ]
|
||||||
|
|
||||||
env.StaticLibrary(env['local_libs'] + "bdisasm", files)
|
env.StaticLibrary(env['local_libs'] + "bdisasm", files)
|
||||||
|
env['CPPPATH'] += ['#Externals/Bochs_disasm']
|
||||||
|
|
|
@ -2,6 +2,9 @@
|
||||||
|
|
||||||
Import('env')
|
Import('env')
|
||||||
|
|
||||||
|
if env.has_key('shared_glew') and env['shared_glew']:
|
||||||
|
Return()
|
||||||
|
|
||||||
files = [
|
files = [
|
||||||
'src/glew.c',
|
'src/glew.c',
|
||||||
'src/glewinfo.c',
|
'src/glewinfo.c',
|
||||||
|
@ -9,3 +12,4 @@ files = [
|
||||||
]
|
]
|
||||||
|
|
||||||
env.StaticLibrary(env['local_libs'] + "GLEW", files)
|
env.StaticLibrary(env['local_libs'] + "GLEW", files)
|
||||||
|
env['CPPPATH'] += ['#Externals/GLew/include']
|
||||||
|
|
|
@ -2,8 +2,12 @@
|
||||||
|
|
||||||
Import('env')
|
Import('env')
|
||||||
|
|
||||||
|
if env.has_key('shared_lzo') and env['shared_lzo']:
|
||||||
|
Return()
|
||||||
|
|
||||||
files = [
|
files = [
|
||||||
"minilzo.c",
|
"minilzo.c",
|
||||||
]
|
]
|
||||||
|
|
||||||
env.StaticLibrary(env['local_libs'] + "lzo2", files)
|
env.StaticLibrary(env['local_libs'] + "lzo2", files)
|
||||||
|
env['CPPPATH'] += ['#Externals/LZO']
|
||||||
|
|
|
@ -42,3 +42,4 @@ files = [
|
||||||
]
|
]
|
||||||
|
|
||||||
luaenv.StaticLibrary(env['local_libs'] + "lua", files)
|
luaenv.StaticLibrary(env['local_libs'] + "lua", files)
|
||||||
|
env['CPPPATH'] += ['#Externals/Lua']
|
||||||
|
|
|
@ -3,6 +3,9 @@
|
||||||
Import('env')
|
Import('env')
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
if env.has_key('shared_sdl') and env['shared_sdl']:
|
||||||
|
Return()
|
||||||
|
|
||||||
files = [
|
files = [
|
||||||
'src/SDL.c',
|
'src/SDL.c',
|
||||||
'src/SDL_error.c',
|
'src/SDL_error.c',
|
||||||
|
@ -36,3 +39,4 @@ else:
|
||||||
]
|
]
|
||||||
|
|
||||||
env.StaticLibrary(env['local_libs'] + "SDL", files)
|
env.StaticLibrary(env['local_libs'] + "SDL", files)
|
||||||
|
env['CPPPATH'] += ['#Externals/SDL', '#Externals/SDL/include']
|
||||||
|
|
|
@ -2,6 +2,9 @@
|
||||||
|
|
||||||
Import('env')
|
Import('env')
|
||||||
|
|
||||||
|
if env.has_key('shared_sfml') and env['shared_sfml']:
|
||||||
|
Return()
|
||||||
|
|
||||||
files = [
|
files = [
|
||||||
"SFML/Network/Ftp.cpp",
|
"SFML/Network/Ftp.cpp",
|
||||||
"SFML/Network/Http.cpp",
|
"SFML/Network/Http.cpp",
|
||||||
|
@ -14,3 +17,4 @@ files = [
|
||||||
]
|
]
|
||||||
|
|
||||||
env.StaticLibrary(env['local_libs'] + "sfml-network", files)
|
env.StaticLibrary(env['local_libs'] + "sfml-network", files)
|
||||||
|
env['CPPPATH'] += ['#Externals/SFML/include']
|
||||||
|
|
|
@ -2,6 +2,9 @@
|
||||||
|
|
||||||
Import('env')
|
Import('env')
|
||||||
|
|
||||||
|
if env.has_key('shared_soil') and env['shared_soil']:
|
||||||
|
Return()
|
||||||
|
|
||||||
files = [
|
files = [
|
||||||
'image_DXT.c',
|
'image_DXT.c',
|
||||||
'image_helper.c',
|
'image_helper.c',
|
||||||
|
@ -10,3 +13,4 @@ files = [
|
||||||
]
|
]
|
||||||
|
|
||||||
env.StaticLibrary(env['local_libs'] + "SOIL", files)
|
env.StaticLibrary(env['local_libs'] + "SOIL", files)
|
||||||
|
env['CPPPATH'] += ['#Externals/SOIL']
|
||||||
|
|
|
@ -3,11 +3,10 @@
|
||||||
Import('env')
|
Import('env')
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
if (sys.platform == 'linux2' and not env['HAVE_BLUEZ']) or \
|
env['HAVE_WIIUSE'] = 0
|
||||||
(not sys.platform == 'darwin' and
|
|
||||||
not sys.platform == 'linux2' and
|
if not sys.platform == 'darwin' and not sys.platform == 'win32' and \
|
||||||
not sys.platform == 'win32'):
|
not (sys.platform == 'linux2' and env['HAVE_BLUEZ']):
|
||||||
env['HAVE_WIIUSE'] = 0
|
|
||||||
Return()
|
Return()
|
||||||
|
|
||||||
env['HAVE_WIIUSE'] = 1
|
env['HAVE_WIIUSE'] = 1
|
||||||
|
@ -25,3 +24,4 @@ elif sys.platform == 'win32':
|
||||||
files += [ "io_win.c" ]
|
files += [ "io_win.c" ]
|
||||||
|
|
||||||
env.StaticLibrary(env['local_libs'] + "wiiuse", files)
|
env.StaticLibrary(env['local_libs'] + "wiiuse", files)
|
||||||
|
env['CPPPATH'] += ['#Externals/WiiUse/Src']
|
||||||
|
|
|
@ -2,6 +2,9 @@
|
||||||
|
|
||||||
Import('env')
|
Import('env')
|
||||||
|
|
||||||
|
if env.has_key('shared_zlib') and env['shared_zlib']:
|
||||||
|
Return()
|
||||||
|
|
||||||
files = [
|
files = [
|
||||||
'adler32.c',
|
'adler32.c',
|
||||||
'compress.c',
|
'compress.c',
|
||||||
|
@ -18,3 +21,4 @@ files = [
|
||||||
]
|
]
|
||||||
|
|
||||||
env.StaticLibrary(env['local_libs'] + "z", files)
|
env.StaticLibrary(env['local_libs'] + "z", files)
|
||||||
|
env['CPPPATH'] += ['#Externals/zlib']
|
||||||
|
|
322
SConstruct
322
SConstruct
|
@ -5,13 +5,15 @@ import sys
|
||||||
import platform
|
import platform
|
||||||
|
|
||||||
# Home made tests
|
# Home made tests
|
||||||
sys.path.append('SconsTests')
|
from SconsTests import utils
|
||||||
import wxconfig
|
from SconsTests import wxconfig
|
||||||
import utils
|
|
||||||
|
|
||||||
# Some features need at least SCons 1.2
|
# Some features need at least SCons 1.2
|
||||||
EnsureSConsVersion(1, 2)
|
EnsureSConsVersion(1, 2)
|
||||||
|
|
||||||
|
# Construction presets for platform
|
||||||
|
env = Environment(ENV = os.environ)
|
||||||
|
|
||||||
# Handle command line options
|
# Handle command line options
|
||||||
vars = Variables('args.cache')
|
vars = Variables('args.cache')
|
||||||
|
|
||||||
|
@ -19,43 +21,37 @@ vars.AddVariables(
|
||||||
BoolVariable('verbose', 'Set to show compilation lines', False),
|
BoolVariable('verbose', 'Set to show compilation lines', False),
|
||||||
BoolVariable('bundle', 'Set to create distribution bundle', False),
|
BoolVariable('bundle', 'Set to create distribution bundle', False),
|
||||||
BoolVariable('lint', 'Set for lint build (fail on warnings)', False),
|
BoolVariable('lint', 'Set for lint build (fail on warnings)', False),
|
||||||
BoolVariable('nowx', 'Set for building with no WX libs', False),
|
BoolVariable('nowx', 'Set for building without wxWidgets', False),
|
||||||
PathVariable('wxconfig', 'Path to wxconfig', None),
|
PathVariable('wxconfig', 'Path to wxconfig', None),
|
||||||
EnumVariable('flavor', 'Choose a build flavor', 'release',
|
EnumVariable('flavor', 'Choose a build flavor', 'release', allowed_values =
|
||||||
allowed_values = ('release','devel','debug','fastlog','prof'),
|
('release','devel','debug','fastlog','prof'), ignorecase = 2),
|
||||||
ignorecase = 2),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if not sys.platform == 'win32' and not sys.platform == 'darwin':
|
if env['PLATFORM'] == 'posix': vars.AddVariables(
|
||||||
vars.AddVariables(
|
PathVariable('destdir', 'Temporary install location (for package building)',
|
||||||
PathVariable('destdir',
|
None, PathVariable.PathAccept),
|
||||||
'Temporary install location (for package building)',
|
EnumVariable('install', 'Choose a local or global installation', 'local',
|
||||||
None, PathVariable.PathAccept),
|
allowed_values = ('local', 'global'), ignorecase = 2),
|
||||||
EnumVariable('install',
|
PathVariable('prefix', 'Installation prefix (only used for a global build)',
|
||||||
'Choose a local or global installation', 'local',
|
'/usr', PathVariable.PathAccept),
|
||||||
allowed_values = ('local', 'global'), ignorecase = 2),
|
PathVariable('userdir', 'Set the name of the user data directory in home',
|
||||||
PathVariable('prefix',
|
'.dolphin-emu', PathVariable.PathAccept),
|
||||||
'Installation prefix (only used for a global build)',
|
BoolVariable('opencl', 'Build with OpenCL', False),
|
||||||
'/usr', PathVariable.PathAccept),
|
EnumVariable('pgo', 'Profile-Guided Optimization (generate or use)', 'none',
|
||||||
PathVariable('userdir',
|
allowed_values = ('none', 'generate', 'use'), ignorecase = 2),
|
||||||
'Set the name of the user data directory in home',
|
BoolVariable('shared_glew', 'Use system shared libGLEW', True),
|
||||||
'.dolphin-emu', PathVariable.PathAccept),
|
BoolVariable('shared_lzo', 'Use system shared liblzo2', True),
|
||||||
BoolVariable('opencl', 'Build with OpenCL', False),
|
BoolVariable('shared_sdl', 'Use system shared libSDL', True),
|
||||||
EnumVariable('pgo', 'Profile-Guided Optimization (generate or use)',
|
BoolVariable('shared_sfml', 'Use system shared libsfml-network', True),
|
||||||
'none', allowed_values = ('none', 'generate', 'use'),
|
BoolVariable('shared_soil', 'Use system shared libSOIL', True),
|
||||||
ignorecase = 2),
|
BoolVariable('shared_zlib', 'Use system shared libz', True),
|
||||||
BoolVariable('shared_glew', 'Use system shared libGLEW', True),
|
PathVariable('CC', 'The C compiler', 'gcc', PathVariable.PathAccept),
|
||||||
BoolVariable('shared_lzo', 'Use system shared liblzo2', True),
|
PathVariable('CXX', 'The C++ compiler', 'g++', PathVariable.PathAccept),
|
||||||
BoolVariable('shared_sdl', 'Use system shared libSDL', True),
|
)
|
||||||
BoolVariable('shared_sfml', 'Use system shared libsfml-network', True),
|
|
||||||
BoolVariable('shared_soil', 'Use system shared libSOIL', True),
|
|
||||||
BoolVariable('shared_zlib', 'Use system shared libz', True),
|
|
||||||
('CC', 'The C compiler', 'gcc'),
|
|
||||||
('CXX', 'The C++ compiler', 'g++'),
|
|
||||||
)
|
|
||||||
|
|
||||||
env = Environment(ENV = os.environ, variables = vars)
|
# Save the given command line options
|
||||||
Export('env')
|
vars.Update(env)
|
||||||
|
vars.Save('args.cache', env)
|
||||||
|
|
||||||
# Die on unknown variables
|
# Die on unknown variables
|
||||||
unknown = vars.UnknownVariables()
|
unknown = vars.UnknownVariables()
|
||||||
|
@ -63,61 +59,6 @@ if unknown:
|
||||||
print "Unknown variables:", unknown.keys()
|
print "Unknown variables:", unknown.keys()
|
||||||
Exit(1)
|
Exit(1)
|
||||||
|
|
||||||
# Save the given command line options
|
|
||||||
vars.Save('args.cache', env)
|
|
||||||
|
|
||||||
cppDefines = [
|
|
||||||
( '_FILE_OFFSET_BITS', 64),
|
|
||||||
'_LARGEFILE_SOURCE',
|
|
||||||
'GCC_HASCLASSVISIBILITY',
|
|
||||||
]
|
|
||||||
|
|
||||||
ccFlags = [
|
|
||||||
'-Wall',
|
|
||||||
'-Wpacked',
|
|
||||||
'-Wpointer-arith',
|
|
||||||
'-Wshadow',
|
|
||||||
'-Wwrite-strings',
|
|
||||||
'-fPIC',
|
|
||||||
'-fno-exceptions',
|
|
||||||
'-fno-strict-aliasing',
|
|
||||||
'-fvisibility=hidden',
|
|
||||||
'-msse2',
|
|
||||||
]
|
|
||||||
|
|
||||||
if env['CCVERSION'] >= '4.3.0': ccFlags += [
|
|
||||||
'-Wno-array-bounds', # False positives
|
|
||||||
'-Wno-unused-result', # Too many syscalls
|
|
||||||
]
|
|
||||||
|
|
||||||
# Build flavor
|
|
||||||
if env['flavor'] == 'debug':
|
|
||||||
ccFlags.append('-ggdb')
|
|
||||||
cppDefines.append('_DEBUG') #enables LOGGING
|
|
||||||
# FIXME: this disable wx debugging how do we make it work?
|
|
||||||
cppDefines.append('NDEBUG')
|
|
||||||
elif env['flavor'] == 'devel':
|
|
||||||
ccFlags.append('-ggdb')
|
|
||||||
elif env['flavor'] == 'fastlog':
|
|
||||||
ccFlags.append('-O3')
|
|
||||||
cppDefines.append('DEBUGFAST')
|
|
||||||
elif env['flavor'] == 'prof':
|
|
||||||
ccFlags.append('-O3')
|
|
||||||
ccFlags.append('-ggdb')
|
|
||||||
elif env['flavor'] == 'release':
|
|
||||||
ccFlags.append('-O3')
|
|
||||||
ccFlags.append('-fomit-frame-pointer');
|
|
||||||
|
|
||||||
if env['flavor'] == 'debug':
|
|
||||||
extra = '-debug'
|
|
||||||
elif env['flavor'] == 'prof':
|
|
||||||
extra = '-prof'
|
|
||||||
else:
|
|
||||||
extra = ''
|
|
||||||
|
|
||||||
if env['lint']:
|
|
||||||
ccFlags.append('-Werror')
|
|
||||||
|
|
||||||
# Verbose compile
|
# Verbose compile
|
||||||
if not env['verbose']:
|
if not env['verbose']:
|
||||||
env['ARCOMSTR'] = "Archiving $TARGET"
|
env['ARCOMSTR'] = "Archiving $TARGET"
|
||||||
|
@ -132,6 +73,36 @@ if not env['verbose']:
|
||||||
env['SHLINKCOMSTR'] = "Linking $TARGET"
|
env['SHLINKCOMSTR'] = "Linking $TARGET"
|
||||||
env['TARCOMSTR'] = "Creating $TARGET"
|
env['TARCOMSTR'] = "Creating $TARGET"
|
||||||
|
|
||||||
|
if not env['flavor'] == 'debug':
|
||||||
|
env['CCFLAGS'] += ['-O3']
|
||||||
|
if env['flavor'] == 'release':
|
||||||
|
env['CCFLAGS'] += ['-fomit-frame-pointer']
|
||||||
|
elif not env['flavor'] == 'fastlog':
|
||||||
|
env['CCFLAGS'] += ['-ggdb']
|
||||||
|
env['CCFLAGS'] += ['-fno-exceptions', '-fno-strict-aliasing']
|
||||||
|
if env['CCVERSION'] >= '4.2.0':
|
||||||
|
env['CCFLAGS'] += ['-fvisibility=hidden']
|
||||||
|
env['CXXFLAGS'] += ['-fvisibility-inlines-hidden']
|
||||||
|
|
||||||
|
if env['lint']:
|
||||||
|
env['CCFLAGS'] += ['-Werror']
|
||||||
|
env['CCFLAGS'] += ['-Wall', '-Wextra']
|
||||||
|
env['CCFLAGS'] += ['-Wno-missing-field-initializers', '-Wno-unused-parameter']
|
||||||
|
env['CCFLAGS'] += ['-Wpacked', '-Wpointer-arith', '-Wshadow', '-Wwrite-strings']
|
||||||
|
if env['CCVERSION'] < '4.2.0':
|
||||||
|
env['CCFLAGS'] += ['-Wno-pragmas']
|
||||||
|
if env['CCVERSION'] >= '4.3.0':
|
||||||
|
env['CCFLAGS'] += ['-Wno-array-bounds', '-Wno-unused-result']
|
||||||
|
|
||||||
|
env['CPPDEFINES'] = []
|
||||||
|
if env['flavor'] == 'debug':
|
||||||
|
env['CPPDEFINES'] += ['_DEBUG']
|
||||||
|
elif env['flavor'] == 'fastlog':
|
||||||
|
env['CPPDEFINES'] += ['DEBUGFAST']
|
||||||
|
env['CPPPATH'] = ['#Source/PluginSpecs']
|
||||||
|
env['LIBPATH'] = []
|
||||||
|
env['LIBS'] = []
|
||||||
|
|
||||||
# Object files
|
# Object files
|
||||||
env['build_dir'] = 'Build' + os.sep + platform.system() + \
|
env['build_dir'] = 'Build' + os.sep + platform.system() + \
|
||||||
'-' + platform.machine() + '-' + env['flavor']
|
'-' + platform.machine() + '-' + env['flavor']
|
||||||
|
@ -142,71 +113,70 @@ env['local_libs'] = '#' + env['build_dir'] + os.sep + 'libs' + os.sep
|
||||||
# Default install path
|
# Default install path
|
||||||
if not env.has_key('install') or env['install'] == 'local':
|
if not env.has_key('install') or env['install'] == 'local':
|
||||||
env['prefix'] = 'Binary' + os.sep + platform.system() + \
|
env['prefix'] = 'Binary' + os.sep + platform.system() + \
|
||||||
'-' + platform.machine() + extra
|
'-' + platform.machine()
|
||||||
|
if env['flavor'] == 'debug':
|
||||||
|
env['prefix'] += '-debug'
|
||||||
|
elif env['flavor'] == 'prof':
|
||||||
|
env['prefix'] += '-prof'
|
||||||
|
|
||||||
# Configuration tests section
|
rev = utils.GenerateRevFile(env['flavor'], '.', None)
|
||||||
tests = {'CheckWXConfig' : wxconfig.CheckWXConfig,
|
|
||||||
'CheckPKGConfig' : utils.CheckPKGConfig,
|
|
||||||
'CheckPKG' : utils.CheckPKG,
|
|
||||||
'CheckSDL' : utils.CheckSDL,
|
|
||||||
'CheckPortaudio' : utils.CheckPortaudio,
|
|
||||||
}
|
|
||||||
|
|
||||||
rev = utils.GenerateRevFile(env['flavor'],
|
|
||||||
"Source/Core/Common/Src/svnrev_template.h",
|
|
||||||
"Source/Core/Common/Src/svnrev.h")
|
|
||||||
|
|
||||||
env['CCFLAGS'] = ccFlags
|
|
||||||
env['CPPDEFINES'] = cppDefines
|
|
||||||
env['CPPPATH'] = ['#Source/PluginSpecs']
|
|
||||||
env['CXXFLAGS'] = ['-fvisibility-inlines-hidden']
|
|
||||||
env['LIBPATH'] = []
|
|
||||||
env['LIBS'] = []
|
|
||||||
env['RPATH'] = []
|
|
||||||
|
|
||||||
# OS X specifics
|
# OS X specifics
|
||||||
if sys.platform == 'darwin':
|
if sys.platform == 'darwin':
|
||||||
gccflags = ['-arch', 'x86_64', '-arch', 'i386', '-mmacosx-version-min=10.5']
|
ccld = ['-arch', 'x86_64', '-arch', 'i386', '-mmacosx-version-min=10.5']
|
||||||
env['CCFLAGS'] += gccflags
|
env['CCFLAGS'] += ccld
|
||||||
env['CCFLAGS'] += ['-Wextra-tokens', '-Wnewline-eof']
|
env['CCFLAGS'] += ['-msse3']
|
||||||
env['CC'] = "gcc-4.2 -ObjC"
|
env['CC'] = "gcc-4.2 -ObjC"
|
||||||
env['CXX'] = "g++-4.2 -ObjC++"
|
env['CXX'] = "g++-4.2 -ObjC++"
|
||||||
|
#env['FRAMEWORKPATH'] += [
|
||||||
|
# '/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks',
|
||||||
|
# '/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks']
|
||||||
env['FRAMEWORKS'] += ['AppKit', 'CoreFoundation', 'CoreServices']
|
env['FRAMEWORKS'] += ['AppKit', 'CoreFoundation', 'CoreServices']
|
||||||
env['FRAMEWORKS'] += ['AudioUnit', 'CoreAudio']
|
env['FRAMEWORKS'] += ['AudioUnit', 'CoreAudio']
|
||||||
env['FRAMEWORKS'] += ['IOBluetooth', 'IOKit', 'OpenGL']
|
env['FRAMEWORKS'] += ['IOBluetooth', 'IOKit', 'OpenGL']
|
||||||
env['LIBS'] += ['iconv']
|
#env['LIBPATH'] += ['/Developer/SDKs/MacOSX10.5.sdk/usr/lib']
|
||||||
env['LINKFLAGS'] += gccflags
|
env['LIBS'] = ['gcc_s.10.5', 'iconv'] # , 'stdc++-static'] # XXX
|
||||||
env['LINKFLAGS'] += ['-Z', '-L/Developer/SDKs/MacOSX10.5.sdk/usr/lib',
|
env['LINKFLAGS'] += ccld
|
||||||
|
env['LINKFLAGS'] += ['-Wl,-search_paths_first', '-Wl,-Z']
|
||||||
|
env['LINKFLAGS'] += ['-L/Developer/SDKs/MacOSX10.5.sdk/usr/lib',
|
||||||
'-F/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks',
|
'-F/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks',
|
||||||
'-F/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks']
|
'-F/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks']
|
||||||
|
|
||||||
if platform.mac_ver()[0] < '10.6.0':
|
if platform.mac_ver()[0] < '10.6.0':
|
||||||
env['HAVE_OPENCL'] = 0
|
env['HAVE_OPENCL'] = 0
|
||||||
else:
|
else:
|
||||||
|
env['CCFLAGS'] += ['-Wextra-tokens', '-Wnewline-eof']
|
||||||
env['HAVE_OPENCL'] = 1
|
env['HAVE_OPENCL'] = 1
|
||||||
env['LINKFLAGS'] += ['-weak_framework', 'OpenCL']
|
env['FRAMEWORKSFLAGS'] = ['-weak_framework', 'OpenCL']
|
||||||
|
|
||||||
if env['nowx']:
|
if env['nowx']:
|
||||||
env['HAVE_WX'] = 0
|
env['HAVE_WX'] = 0
|
||||||
else:
|
else:
|
||||||
conf = env.Configure(custom_tests = tests)
|
wxenv = env.Clone(LIBPATH = '')
|
||||||
env['HAVE_WX'] = conf.CheckWXConfig(2.9,
|
conf = wxenv.Configure(conf_dir = None, log_file = None,
|
||||||
['aui', 'adv', 'core', 'base', 'gl'], 0)
|
custom_tests = {'CheckWXConfig' : wxconfig.CheckWXConfig})
|
||||||
|
env['HAVE_WX'] = \
|
||||||
|
conf.CheckWXConfig(2.9, 'aui adv core base gl'.split(), 0)
|
||||||
conf.Finish()
|
conf.Finish()
|
||||||
# wx-config wants us to link with the OS X QuickTime framework
|
if not env['HAVE_WX']:
|
||||||
# which is not available for x86_64 and we don't use it anyway.
|
print "wxWidgets 2.9 not found using " + env['wxconfig']
|
||||||
# Strip it out to silence some harmless linker warnings.
|
Exit(1)
|
||||||
# In the 10.5 SDK, Carbon is only partially built for x86_64.
|
wxconfig.ParseWXConfig(wxenv)
|
||||||
frameworks = env['FRAMEWORKS']
|
env['CPPDEFINES'] += ['__WXOSX_COCOA__']
|
||||||
wxconfig.ParseWXConfig(env)
|
env['CPPPATH'] = wxenv['CPPPATH']
|
||||||
if env['CPPDEFINES'].count('WXUSINGDLL'):
|
if not wxenv['CPPDEFINES'].count('WXUSINGDLL'):
|
||||||
env['FRAMEWORKS'] = frameworks
|
env['FRAMEWORKS'] = wxenv['FRAMEWORKS']
|
||||||
|
env['LIBPATH'] += wxenv['LIBPATH']
|
||||||
|
env['LIBS'] = wxenv['LIBS']
|
||||||
|
|
||||||
env['CPPPATH'] += ['#Externals']
|
env['CPPPATH'] += ['#Externals']
|
||||||
|
env['FRAMEWORKPATH'] += ['Externals/Cg']
|
||||||
env['FRAMEWORKS'] += ['Cg']
|
env['FRAMEWORKS'] += ['Cg']
|
||||||
env['LINKFLAGS'] += ['-FExternals/Cg']
|
|
||||||
env['shared_zlib'] = True
|
env['shared_zlib'] = True
|
||||||
|
|
||||||
env['data_dir'] = '#' + env['prefix'] + '/Dolphin.app/Contents/Resources'
|
env['data_dir'] = '#' + env['prefix'] + '/Dolphin.app/Contents/Resources'
|
||||||
env['plugin_dir'] = '#' + env['prefix'] + '/Dolphin.app/Contents/PlugIns'
|
env['plugin_dir'] = '#' + env['prefix'] + '/Dolphin.app/Contents/PlugIns'
|
||||||
env.Install(env['data_dir'], 'Data/Sys')
|
|
||||||
env.Install(env['data_dir'], 'Data/User')
|
|
||||||
if env['bundle']:
|
if env['bundle']:
|
||||||
app = env['prefix'] + '/Dolphin.app'
|
app = env['prefix'] + '/Dolphin.app'
|
||||||
dmg = env['prefix'] + '/Dolphin-r' + rev + '.dmg'
|
dmg = env['prefix'] + '/Dolphin-r' + rev + '.dmg'
|
||||||
|
@ -215,14 +185,24 @@ if sys.platform == 'darwin':
|
||||||
' && hdiutil internet-enable -yes ' + dmg)
|
' && hdiutil internet-enable -yes ' + dmg)
|
||||||
|
|
||||||
elif sys.platform == 'win32':
|
elif sys.platform == 'win32':
|
||||||
env['tools'] = ['mingw']
|
pass
|
||||||
|
|
||||||
else:
|
else:
|
||||||
env['CCFLAGS'] += ['-pthread']
|
env['CCFLAGS'] += ['-fPIC', '-msse2']
|
||||||
env['CXXFLAGS'] += ['-Wno-deprecated'] # XXX <hash_map>
|
env['CPPPATH'].insert(0, '#') # Make sure we pick up our own config.h
|
||||||
env['CPPPATH'].insert(0, '#')
|
if sys.platform == 'linux2':
|
||||||
|
env['CPPDEFINES'] += [('_FILE_OFFSET_BITS', 64), '_LARGEFILE_SOURCE']
|
||||||
|
env['CXXFLAGS'] += ['-Wno-deprecated'] # XXX <hash_map>
|
||||||
env['LINKFLAGS'] += ['-pthread']
|
env['LINKFLAGS'] += ['-pthread']
|
||||||
conf = env.Configure(custom_tests = tests, config_h="#config.h")
|
env['RPATH'] = []
|
||||||
|
|
||||||
|
conf = env.Configure(config_h = "#config.h", custom_tests = {
|
||||||
|
'CheckPKG' : utils.CheckPKG,
|
||||||
|
'CheckPKGConfig' : utils.CheckPKGConfig,
|
||||||
|
'CheckPortaudio' : utils.CheckPortaudio,
|
||||||
|
'CheckSDL' : utils.CheckSDL,
|
||||||
|
'CheckWXConfig' : wxconfig.CheckWXConfig,
|
||||||
|
})
|
||||||
|
|
||||||
if not conf.CheckPKGConfig('0.15.0'):
|
if not conf.CheckPKGConfig('0.15.0'):
|
||||||
print "Can't find pkg-config, some tests will fail"
|
print "Can't find pkg-config, some tests will fail"
|
||||||
|
@ -249,12 +229,11 @@ else:
|
||||||
if env['nowx']:
|
if env['nowx']:
|
||||||
env['HAVE_WX'] = 0
|
env['HAVE_WX'] = 0
|
||||||
else:
|
else:
|
||||||
env['HAVE_WX'] = conf.CheckWXConfig(2.8,
|
env['HAVE_WX'] = conf.CheckWXConfig(2.8, 'aui adv core base'.split(), 0)
|
||||||
['aui', 'adv', 'core', 'base'], 0)
|
|
||||||
conf.Define('HAVE_WX', env['HAVE_WX'])
|
conf.Define('HAVE_WX', env['HAVE_WX'])
|
||||||
wxconfig.ParseWXConfig(env)
|
wxconfig.ParseWXConfig(env)
|
||||||
if not env['HAVE_WX']:
|
if not env['HAVE_WX']:
|
||||||
print "WX libraries not found - see config.log"
|
print "wxWidgets not found - see config.log"
|
||||||
Exit(1)
|
Exit(1)
|
||||||
|
|
||||||
env['HAVE_BLUEZ'] = conf.CheckPKG('bluez')
|
env['HAVE_BLUEZ'] = conf.CheckPKG('bluez')
|
||||||
|
@ -276,7 +255,6 @@ else:
|
||||||
conf.Define('HAVE_XRANDR', env['HAVE_XRANDR'])
|
conf.Define('HAVE_XRANDR', env['HAVE_XRANDR'])
|
||||||
conf.Define('HAVE_X11', env['HAVE_X11'])
|
conf.Define('HAVE_X11', env['HAVE_X11'])
|
||||||
|
|
||||||
# Check for GTK 2.0 or newer
|
|
||||||
if env['HAVE_WX'] and not conf.CheckPKG('gtk+-2.0'):
|
if env['HAVE_WX'] and not conf.CheckPKG('gtk+-2.0'):
|
||||||
print "gtk+-2.0 developement headers not detected"
|
print "gtk+-2.0 developement headers not detected"
|
||||||
print "gtk+-2.0 is required to build the WX GUI"
|
print "gtk+-2.0 is required to build the WX GUI"
|
||||||
|
@ -302,18 +280,18 @@ else:
|
||||||
env['HAVE_OPENCL'] = 0
|
env['HAVE_OPENCL'] = 0
|
||||||
|
|
||||||
# PGO - Profile Guided Optimization
|
# PGO - Profile Guided Optimization
|
||||||
if env['pgo']=='generate':
|
if env['pgo'] == 'generate':
|
||||||
ccFlags.append('-fprofile-generate')
|
env['CCFLAGS'] += ['-fprofile-generate']
|
||||||
env['LINKFLAGS']='-fprofile-generate'
|
env['LINKFLAGS'] += ['-fprofile-generate']
|
||||||
if env['pgo']=='use':
|
if env['pgo'] == 'use':
|
||||||
ccFlags.append('-fprofile-use')
|
env['CCFLAGS'] += ['-fprofile-use']
|
||||||
env['LINKFLAGS']='-fprofile-use'
|
env['LINKFLAGS'] += ['-fprofile-use']
|
||||||
|
|
||||||
# Profiling
|
# Profiling
|
||||||
if (env['flavor'] == 'prof'):
|
if env['flavor'] == 'prof':
|
||||||
proflibs = [ '/usr/lib/oprofile', '/usr/local/lib/oprofile' ]
|
proflibs = ['/usr/lib/oprofile', '/usr/local/lib/oprofile']
|
||||||
env['LIBPATH'].append(proflibs)
|
env['LIBPATH'] += ['proflibs']
|
||||||
env['RPATH'].append(proflibs)
|
env['RPATH'] += ['proflibs']
|
||||||
if conf.CheckPKG('opagent'):
|
if conf.CheckPKG('opagent'):
|
||||||
conf.Define('USE_OPROFILE', 1)
|
conf.Define('USE_OPROFILE', 1)
|
||||||
else:
|
else:
|
||||||
|
@ -356,10 +334,6 @@ else:
|
||||||
# After all configuration tests are done
|
# After all configuration tests are done
|
||||||
conf.Finish()
|
conf.Finish()
|
||||||
|
|
||||||
# Data install
|
|
||||||
env.InstallAs(env['data_dir'] + '/sys', 'Data/Sys')
|
|
||||||
env.InstallAs(env['data_dir'] + '/user', 'Data/User')
|
|
||||||
|
|
||||||
env.Alias('install', env['prefix'])
|
env.Alias('install', env['prefix'])
|
||||||
|
|
||||||
# Local (static) libraries must be first in the search path for the build in
|
# Local (static) libraries must be first in the search path for the build in
|
||||||
|
@ -367,37 +341,20 @@ else:
|
||||||
# during autoconfiguration as they will then be detected as system libraries.
|
# during autoconfiguration as they will then be detected as system libraries.
|
||||||
env['LIBPATH'].insert(0, env['local_libs'])
|
env['LIBPATH'].insert(0, env['local_libs'])
|
||||||
|
|
||||||
dirs = []
|
dirs = [
|
||||||
|
|
||||||
if not env.has_key('shared_glew') or not env['shared_glew']:
|
|
||||||
env['CPPPATH'] += ['#Externals/GLew/include']
|
|
||||||
dirs += ['Externals/GLew']
|
|
||||||
if not env.has_key('shared_lzo') or not env['shared_lzo']:
|
|
||||||
env['CPPPATH'] += ['#Externals/LZO']
|
|
||||||
dirs += ['Externals/LZO']
|
|
||||||
if not env.has_key('shared_sdl') or not env['shared_sdl']:
|
|
||||||
env['CPPPATH'] += ['#Externals/SDL']
|
|
||||||
env['CPPPATH'] += ['#Externals/SDL/include']
|
|
||||||
dirs += ['Externals/SDL']
|
|
||||||
if not env.has_key('shared_soil') or not env['shared_soil']:
|
|
||||||
env['CPPPATH'] += ['#Externals/SOIL']
|
|
||||||
dirs += ['Externals/SOIL']
|
|
||||||
if not env.has_key('shared_sfml') or not env['shared_sfml']:
|
|
||||||
env['CPPPATH'] += ['#Externals/SFML/include']
|
|
||||||
dirs += ['Externals/SFML/src']
|
|
||||||
if not env.has_key('shared_zlib') or not env['shared_zlib']:
|
|
||||||
env['CPPPATH'] += ['#Externals/zlib']
|
|
||||||
dirs += ['Externals/zlib']
|
|
||||||
|
|
||||||
dirs += [
|
|
||||||
'Externals/Bochs_disasm',
|
'Externals/Bochs_disasm',
|
||||||
#'Externals/CLRun',
|
#'Externals/CLRun',
|
||||||
'Externals/Lua',
|
'Externals/Lua',
|
||||||
'Externals/MemcardManager',
|
'Externals/MemcardManager',
|
||||||
'Externals/WiiUse/Src',
|
'Externals/WiiUse/Src',
|
||||||
|
'Externals/GLew',
|
||||||
|
'Externals/LZO',
|
||||||
#'Externals/OpenAL',
|
#'Externals/OpenAL',
|
||||||
#'Externals/dylibbundler',
|
'Externals/SDL',
|
||||||
|
'Externals/SOIL',
|
||||||
|
'Externals/SFML/src',
|
||||||
#'Externals/wxWidgets',
|
#'Externals/wxWidgets',
|
||||||
|
'Externals/zlib',
|
||||||
'Source/Core/AudioCommon/Src',
|
'Source/Core/AudioCommon/Src',
|
||||||
'Source/Core/Common/Src',
|
'Source/Core/Common/Src',
|
||||||
'Source/Core/Core/Src',
|
'Source/Core/Core/Src',
|
||||||
|
@ -412,8 +369,8 @@ dirs += [
|
||||||
'Source/DSPTool/Src',
|
'Source/DSPTool/Src',
|
||||||
'Source/Plugins/Plugin_DSP_HLE/Src',
|
'Source/Plugins/Plugin_DSP_HLE/Src',
|
||||||
'Source/Plugins/Plugin_DSP_LLE/Src',
|
'Source/Plugins/Plugin_DSP_LLE/Src',
|
||||||
#'Source/Plugins/Plugin_VideoDX9/Src',
|
|
||||||
#'Source/Plugins/Plugin_VideoDX11/Src',
|
#'Source/Plugins/Plugin_VideoDX11/Src',
|
||||||
|
#'Source/Plugins/Plugin_VideoDX9/Src',
|
||||||
'Source/Plugins/Plugin_VideoOGL/Src',
|
'Source/Plugins/Plugin_VideoOGL/Src',
|
||||||
'Source/Plugins/Plugin_VideoSoftware/Src',
|
'Source/Plugins/Plugin_VideoSoftware/Src',
|
||||||
'Source/Plugins/Plugin_Wiimote/Src',
|
'Source/Plugins/Plugin_Wiimote/Src',
|
||||||
|
@ -421,14 +378,15 @@ dirs += [
|
||||||
'Source/UnitTests',
|
'Source/UnitTests',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# Now that platform configuration is done, propagate it to modules
|
||||||
for subdir in dirs:
|
for subdir in dirs:
|
||||||
SConscript(dirs = subdir, duplicate = 0, exports = 'env',
|
SConscript(dirs = subdir, duplicate = 0, exports = 'env',
|
||||||
variant_dir = env['build_dir'] + os.sep + subdir)
|
variant_dir = env['build_dir'] + os.sep + subdir)
|
||||||
if subdir.count('Externals') or subdir.count('Source/Core'):
|
if subdir.startswith('Source/Core'):
|
||||||
env['CPPPATH'] += ['#' + subdir]
|
env['CPPPATH'] += ['#' + subdir]
|
||||||
|
|
||||||
# Print a nice progress indication when not compiling
|
# Print a nice progress indication when not compiling
|
||||||
Progress(['-\r', '\\\r', '|\r', '/\r'], interval = 5)
|
Progress(['-\r', '\\\r', '|\r', '/\r'], interval = 5)
|
||||||
|
|
||||||
# Generate help
|
# Generate help, printing current status of options
|
||||||
Help(vars.GenerateHelpText(env))
|
Help(vars.GenerateHelpText(env))
|
||||||
|
|
|
@ -30,14 +30,14 @@ def ConfigPKG(context, name):
|
||||||
if ret:
|
if ret:
|
||||||
context.env.ParseConfig('pkg-config --cflags --libs \'%s\'' % name)
|
context.env.ParseConfig('pkg-config --cflags --libs \'%s\'' % name)
|
||||||
return int(ret)
|
return int(ret)
|
||||||
|
|
||||||
def CheckPKG(context, name):
|
def CheckPKG(context, name):
|
||||||
context.Message( 'Checking for %s... ' % name )
|
context.Message( 'Checking for %s... ' % name )
|
||||||
if platform.system().lower() == 'windows':
|
if platform.system().lower() == 'windows':
|
||||||
return 0
|
return 0
|
||||||
ret = 1
|
ret = 1
|
||||||
if not ConfigPKG(context, name.lower()):
|
if not ConfigPKG(context, name.lower()):
|
||||||
ret = CheckLib(context, name)
|
ret = CheckLib(context, name)
|
||||||
|
|
||||||
context.Result(ret)
|
context.Result(ret)
|
||||||
return int(ret)
|
return int(ret)
|
||||||
|
@ -52,20 +52,20 @@ def CheckSDL(context, version):
|
||||||
else:
|
else:
|
||||||
found_ver = os.popen('sdl-config --version').read().strip()
|
found_ver = os.popen('sdl-config --version').read().strip()
|
||||||
required = [int(n) for n in version.split(".")]
|
required = [int(n) for n in version.split(".")]
|
||||||
found = [int(n) for n in found_ver.split(".")]
|
found = [int(n) for n in found_ver.split(".")]
|
||||||
ret = (found >= required)
|
ret = (found >= required)
|
||||||
|
|
||||||
context.Result(ret)
|
context.Result(ret)
|
||||||
if ret:
|
if ret:
|
||||||
context.env.ParseConfig('sdl-config --cflags --libs')
|
context.env.ParseConfig('sdl-config --cflags --libs')
|
||||||
ret = CheckLib(context, 'SDL')
|
ret = CheckLib(context, 'SDL')
|
||||||
return int(ret)
|
return int(ret)
|
||||||
|
|
||||||
def CheckPortaudio(context, version):
|
def CheckPortaudio(context, version):
|
||||||
found = 0
|
found = 0
|
||||||
if CheckPKG(context, 'portaudio'):
|
if CheckPKG(context, 'portaudio'):
|
||||||
context.Message( 'Checking for lib portaudio version > %s... ' % version)
|
context.Message( 'Checking for lib portaudio version > %s... ' % version)
|
||||||
found = context.TryRun("""
|
found = context.TryRun("""
|
||||||
#include <portaudio.h>
|
#include <portaudio.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
|
@ -81,18 +81,22 @@ def CheckPortaudio(context, version):
|
||||||
|
|
||||||
context.Result(ret)
|
context.Result(ret)
|
||||||
return int(ret)
|
return int(ret)
|
||||||
|
|
||||||
def GenerateRevFile(flavour, template, output):
|
|
||||||
|
|
||||||
|
def GenerateRevFile(flavour, template, output):
|
||||||
try:
|
try:
|
||||||
svnrev = os.popen('svnversion .').read().strip().split(':')[0]
|
svnrev = os.popen('svnversion ' + os.path.dirname(template)).\
|
||||||
|
read().strip().split(':')[0]
|
||||||
except:
|
except:
|
||||||
svnrev = ""
|
svnrev = ''
|
||||||
|
|
||||||
revstr = svnrev + "-" + flavour
|
if flavour:
|
||||||
tmpstr = open(template, "r").read().replace("$WCMODS?$WCREV$M:$WCREV$$",revstr)
|
svnrev += '-' + flavour
|
||||||
outfile = open(output, 'w')
|
|
||||||
outfile.write(tmpstr +"\n")
|
if output:
|
||||||
outfile.close()
|
tmpstr = open(template, 'r').read().\
|
||||||
|
replace("$WCMODS?$WCREV$M:$WCREV$$", svnrev)
|
||||||
return revstr
|
outfile = open(output, 'w')
|
||||||
|
outfile.write(tmpstr + '\n')
|
||||||
|
outfile.close()
|
||||||
|
|
||||||
|
return svnrev
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
# -*- python -*-
|
# -*- python -*-
|
||||||
|
|
||||||
Import('env')
|
Import('env')
|
||||||
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
from SconsTests import utils
|
||||||
|
|
||||||
|
utils.GenerateRevFile(env['flavor'], Dir('#Source/Core/Common/Src').abspath +
|
||||||
|
os.sep + 'svnrev_template.h', 'svnrev.h')
|
||||||
|
|
||||||
files = [
|
files = [
|
||||||
"ABI.cpp",
|
"ABI.cpp",
|
||||||
|
@ -48,3 +53,4 @@ if sys.platform == 'win32':
|
||||||
files += [ "stdafx.cpp" ]
|
files += [ "stdafx.cpp" ]
|
||||||
|
|
||||||
env.StaticLibrary(env['local_libs'] + "common", files)
|
env.StaticLibrary(env['local_libs'] + "common", files)
|
||||||
|
env['CPPPATH'] += ['.']
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
Import('env')
|
Import('env')
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
from SconsTests import utils
|
||||||
|
|
||||||
files = [
|
files = [
|
||||||
'BootManager.cpp',
|
'BootManager.cpp',
|
||||||
|
@ -64,6 +65,8 @@ elif sys.platform == 'darwin' and env['HAVE_WX']:
|
||||||
'Library/Frameworks/Cg.framework',
|
'Library/Frameworks/Cg.framework',
|
||||||
'#Externals/Cg/Cg.framework/Cg')
|
'#Externals/Cg/Cg.framework/Cg')
|
||||||
|
|
||||||
|
env.Install(env['data_dir'], '#Data/Sys')
|
||||||
|
env.Install(env['data_dir'], '#Data/User')
|
||||||
env.Install(env['data_dir'],
|
env.Install(env['data_dir'],
|
||||||
'#Source/Core/DolphinWX/resources/Dolphin.icns')
|
'#Source/Core/DolphinWX/resources/Dolphin.icns')
|
||||||
|
|
||||||
|
@ -79,23 +82,26 @@ elif sys.platform == 'darwin' and env['HAVE_WX']:
|
||||||
CFBundleIdentifier = 'com.dolphin-emu.dolphin',
|
CFBundleIdentifier = 'com.dolphin-emu.dolphin',
|
||||||
CFBundlePackageType = 'APPL',
|
CFBundlePackageType = 'APPL',
|
||||||
CFBundleShortVersionString =
|
CFBundleShortVersionString =
|
||||||
os.popen('svnversion -n ' + Dir('#').abspath).read(),
|
utils.GenerateRevFile('', Dir('#None').abspath, None),
|
||||||
CFBundleVersion = '2.0',
|
CFBundleVersion = '2.0',
|
||||||
LSMinimumSystemVersion = '10.5.0',
|
LSMinimumSystemVersion = '10.5.0',
|
||||||
LSRequiresCarbon = True,
|
LSRequiresCarbon = True,
|
||||||
)))
|
)))
|
||||||
|
|
||||||
def Fixup(target, source, env):
|
def Fixup(target, source, env):
|
||||||
|
if env['CPPDEFINES'].count('WXUSINGDLL'):
|
||||||
|
pass
|
||||||
os.link(str(source[0]), str(target[0]))
|
os.link(str(source[0]), str(target[0]))
|
||||||
env.Append(BUILDERS = {'Fixup' : Builder(action = Fixup)})
|
env.Append(BUILDERS = {'Fixup' : Builder(action = Fixup)})
|
||||||
env.Depends(exeGUIdist, env['plugin_dir'])
|
env.Depends(exeGUIdist, env['plugin_dir'])
|
||||||
if env['CPPDEFINES'].count('WXUSINGDLL'):
|
env.Fixup(exeGUIdist, exeGUI)
|
||||||
env.Fixup(exeGUIdist, exeGUI)
|
|
||||||
else:
|
else:
|
||||||
files += [ 'X11Utils.cpp' ]
|
files += [ 'X11Utils.cpp' ]
|
||||||
libs += [ 'SDL' ]
|
libs += [ 'SDL' ]
|
||||||
exeGUI = env['binary_dir'] + '/dolphin-emu'
|
exeGUI = env['binary_dir'] + '/dolphin-emu'
|
||||||
exeNoGUI = env['binary_dir'] + '/dolphin-emu-nogui'
|
exeNoGUI = env['binary_dir'] + '/dolphin-emu-nogui'
|
||||||
|
env.InstallAs(env['data_dir'] + '/sys', '#Data/Sys')
|
||||||
|
env.InstallAs(env['data_dir'] + '/user', '#Data/User')
|
||||||
|
|
||||||
if env['HAVE_WX']:
|
if env['HAVE_WX']:
|
||||||
env.StaticLibrary(env['local_libs'] + 'memcard', memcardfiles)
|
env.StaticLibrary(env['local_libs'] + 'memcard', memcardfiles)
|
||||||
|
|
Loading…
Reference in New Issue