Soren Jorvang faf586e8f1 Because we only ever call Pos_ReadDirect (and through that, DataRead<T>)
from JIT generated code, the compiler may not get the heads-up to properly
prepare for run-time instantiation of those template functions.

Explicitly instantiating Pos_ReadDirect gets around that issue.

Also force DataRead* inline as gcc didn't always do that itself when the
DataRead functions in turn were called from (other) template functions.

I am far from a C++ language lawyer, so I cannot speak learnedly about the
correctness of this solution, but it works.

Dolphin.app built on OS X 10.6 now actually works on 10.5 as well.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5901 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-18 05:31:51 +00:00

97 lines
2.2 KiB
Python

# -*- python -*-
Import('env')
import os
import sys
wxenv = env.Clone()
files = [
'BootManager.cpp',
]
libs = [
'core', 'lzo2', 'discio', 'bdisasm',
'inputcommon', 'common', 'lua', 'z', 'sfml-network',
]
if wxenv['HAVE_WX']:
memcardfiles = [
'MemcardManager.cpp',
'MemoryCards/GCMemcard.cpp',
'WxUtils.cpp',
]
files += memcardfiles
files += [
'AboutDolphin.cpp',
'ARCodeAddEdit.cpp',
'ConfigMain.cpp',
'Frame.cpp',
'FrameAui.cpp',
'FrameTools.cpp',
'LuaWindow.cpp',
'LogWindow.cpp',
'GameListCtrl.cpp',
'HotkeyDlg.cpp',
'ISOFile.cpp',
'ISOProperties.cpp',
'PatchAddEdit.cpp',
'CheatsWindow.cpp',
'MemoryCards/WiiSaveCrypted.cpp',
'NetPlay.cpp',
'NetPlayClient.cpp',
'NetPlayServer.cpp',
'NetWindow.cpp',
]
libs = [ 'debwx', 'debugger_ui_util', 'inputuicommon'] + libs
else:
files+= [
'cmdline.c',
]
if sys.platform == 'win32':
files += [ "stdafx.cpp" ]
elif sys.platform == 'darwin' and not wxenv['HAVE_WX']:
files += [ 'cocoaApp.m' ]
exeNoGUI = env['binary_dir'] + 'DolphinNoGUI'
elif sys.platform == 'darwin' and wxenv['HAVE_WX']:
exeGUI = env['binary_dir'] + 'Dolphin.app/Contents/MacOS/Dolphin'
wxenv.Install(env['binary_dir'] + 'Dolphin.app/Contents/' +
'Library/Frameworks/Cg.framework',
'#Externals/Cg/Cg.framework/Cg')
wxenv.Install(env['binary_dir'] + 'Dolphin.app/Contents/Resources/',
'#Source/Core/DolphinWX/resources/Dolphin.icns')
wxenv.Plist(
env['binary_dir'] + 'Dolphin.app/Contents/Info.plist',
Value(dict(
CFBundleExecutable = 'Dolphin',
CFBundleIconFile = 'Dolphin.icns',
CFBundleIdentifier = 'com.dolphin-emu.dolphin',
CFBundlePackageType = 'APPL',
CFBundleShortVersionString =
os.popen('svnversion -n ' + Dir('#').abspath).read(),
CFBundleVersion = '2.0',
LSMinimumSystemVersion = '10.5.0',
LSRequiresCarbon = True,
))
)
else:
files += [ 'X11Utils.cpp' ]
exeGUI = env['binary_dir'] + 'dolphin-emu'
exeNoGUI = env['binary_dir'] + 'dolphin-emu-nogui'
wxenv.Append(
LIBS = libs
)
if wxenv['HAVE_WX']:
wxenv.Program(exeGUI, files + [ 'Main.cpp' ])
wxenv.StaticLibrary(env['local_libs'] + 'memcard', memcardfiles)
else:
wxenv.Program(exeNoGUI, files + [ 'MainNoGUI.cpp' ])