diff --git a/SConstruct b/SConstruct index 329e903f00..316a374ec9 100644 --- a/SConstruct +++ b/SConstruct @@ -92,6 +92,7 @@ vars.AddVariables( 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), + BoolVariable('osx64', 'Set For Building for osx in 64 bits (WIP)', False), EnumVariable('flavor', 'Choose a build flavor', 'release', allowed_values = ('release', 'devel', 'debug'), ignorecase = 2 @@ -132,6 +133,7 @@ if not env['verbose']: env['SHLINKCOMSTR'] = "Linking shared $TARGET" env['RANLIBCOMSTR'] = "Indexing $TARGET" + # build falvuor flavour = ARGUMENTS.get('flavor') if (flavour == 'debug'): @@ -167,32 +169,41 @@ conf = env.Configure(custom_tests = tests) if not conf.CheckPKGConfig('0.15.0'): Exit(1) -if not conf.CheckSDL('1.0.0'): - Exit(1) +if not env['osx64']: + if not conf.CheckSDL('1.0.0'): + Exit(1) if not conf.CheckPKG('ao'): 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 env['osx64']: + 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',] + if not env['osx64']: + 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',] + if not env['osx64']: + wxconfig.ParseWXConfig(env) + compileFlags += ['-DUSE_WX',] + +#osx 64bit need this +#if env['osx64']: +# compileFlags += ['\-arch x86_64',] #get sdl stuff -env.ParseConfig('sdl-config --cflags --libs') +if not env['osx64']: + env.ParseConfig('sdl-config --cflags --libs') # lib ao (needed for sound plugins) env.ParseConfig('pkg-config --cflags --libs ao') diff --git a/Source/Core/DolphinWX/Src/BootManager.cpp b/Source/Core/DolphinWX/Src/BootManager.cpp index 9df5fe7e29..cfee19905f 100644 --- a/Source/Core/DolphinWX/Src/BootManager.cpp +++ b/Source/Core/DolphinWX/Src/BootManager.cpp @@ -27,15 +27,19 @@ #include "VolumeCreator.h" #include "Config.h" #include "Core.h" +#if !defined(_LP64) && !defined(__APPLE__) #include "Frame.h" #include "CodeWindow.h" +#endif static std::string s_DataBasePath_EUR = "Data_EUR"; static std::string s_DataBasePath_USA = "Data_USA"; static std::string s_DataBasePath_JAP = "Data_JAP"; +#if !defined(_LP64) && !defined(__APPLE__) extern CFrame* main_frame; extern CCodeWindow* g_pCodeWindow; +#endif namespace BootManager { @@ -47,6 +51,7 @@ bool BootCore(const std::string& _rFilename) { SCoreStartupParameter StartUp = SConfig::GetInstance().m_LocalCoreStartupParameter; +#if !defined(_LP64) && !defined(__APPLE__) if (g_pCodeWindow) { // StartUp.bUseDualCore = code_frame->UseDualCore(); @@ -57,12 +62,15 @@ bool BootCore(const std::string& _rFilename) // StartUp.bUseDualCore = false; // StartUp.bUseJIT = true; } +#endif //osx 64 StartUp.m_BootType = SCoreStartupParameter::BOOT_ISO; StartUp.m_strFilename = _rFilename; SConfig::GetInstance().m_LastFilename = StartUp.m_strFilename; StartUp.bRunCompareClient = false; StartUp.bRunCompareServer = false; +#if !defined(_LP64) && !defined(__APPLE__) StartUp.bEnableDebugging = g_pCodeWindow ? true : false; // RUNNING_DEBUG +#endif //osx 64 std::string BaseDataPath; #ifdef _WIN32 StartUp.hInstance = wxGetInstance(); @@ -85,9 +93,10 @@ bool BootCore(const std::string& _rFilename) ini.Get("Core", "SkipIdle", &StartUp.bSkipIdle, StartUp.bSkipIdle); ini.Get("Core", "OptimizeQuantizers", &StartUp.bOptimizeQuantizers, StartUp.bOptimizeQuantizers); } +#if !defined(_LP64) && !defined(__APPLE__) if(main_frame) StartUp.hMainWindow = main_frame->GetRenderHandle(); - +#endif // init the core if (!Core::Init(StartUp)) { @@ -95,7 +104,11 @@ bool BootCore(const std::string& _rFilename) return(false); } +#if !defined(_LP64) && !defined(__APPLE__) Core::SetState(g_pCodeWindow ? Core::CORE_PAUSE : Core::CORE_RUN); +#else + Core::SetState(Core::CORE_RUN); +#endif return(true); } diff --git a/Source/Core/DolphinWX/Src/Globals.h b/Source/Core/DolphinWX/Src/Globals.h index 883d6f96b3..3064f1ed61 100644 --- a/Source/Core/DolphinWX/Src/Globals.h +++ b/Source/Core/DolphinWX/Src/Globals.h @@ -86,6 +86,7 @@ enum //#include //#ifndef WX_PRECOMP +#if !defined(_LP64) && !defined(__APPLE__) #include //#endif @@ -125,5 +126,5 @@ enum ), extern const wxEventType wxEVT_HOST_COMMAND; - +#endif //apple 64bit #endif diff --git a/Source/Core/DolphinWX/Src/ISOFile.h b/Source/Core/DolphinWX/Src/ISOFile.h index f404723afc..6df0891968 100644 --- a/Source/Core/DolphinWX/Src/ISOFile.h +++ b/Source/Core/DolphinWX/Src/ISOFile.h @@ -36,7 +36,9 @@ public: bool IsCompressed() const {return m_BlobCompressed;} u64 GetFileSize() const {return m_FileSize;} u64 GetVolumeSize() const {return m_VolumeSize;} +#if !defined(_LP64) && !defined(__APPLE__) const wxImage& GetImage() const {return m_Image;} +#endif private: std::string m_FileName; @@ -50,8 +52,9 @@ private: DiscIO::IVolume::ECountry m_Country; +#if !defined(_LP64) && !defined(__APPLE__) wxImage m_Image; - +#endif bool m_Valid; bool m_BlobCompressed; diff --git a/Source/Core/DolphinWX/Src/MainNoGUI.cpp b/Source/Core/DolphinWX/Src/MainNoGUI.cpp index 9557fe5f0e..b979f35591 100644 --- a/Source/Core/DolphinWX/Src/MainNoGUI.cpp +++ b/Source/Core/DolphinWX/Src/MainNoGUI.cpp @@ -78,8 +78,9 @@ void Host_SysMessage(const char *fmt, ...) } // Include SDL header so it can hijack main(). +#if !defined(_LP64) && !defined(__APPLE__) #include - +#endif int main(int argc, char* argv[]) { gengetopt_args_info args_info; diff --git a/Source/Core/DolphinWX/Src/SConscript b/Source/Core/DolphinWX/Src/SConscript index 64c893651d..a05e186c8a 100644 --- a/Source/Core/DolphinWX/Src/SConscript +++ b/Source/Core/DolphinWX/Src/SConscript @@ -6,23 +6,33 @@ import sys files = [ 'BootManager.cpp', 'Config.cpp', - 'ConfigMain.cpp', - 'FileSearch.cpp', - 'FilesystemViewer.cpp', - 'Frame.cpp', - 'GameListCtrl.cpp', - 'Globals.cpp', - 'ISOFile.cpp', - 'MemcardManager.cpp', - 'MemoryCards/GCMemcard.cpp', - 'PluginManager.cpp', - 'stdafx.cpp', 'cmdline.c', ] + +if not env['osx64']: + files += [ + 'ConfigMain.cpp', + 'FileSearch.cpp', + 'FilesystemViewer.cpp', + 'Frame.cpp', + 'GameListCtrl.cpp', + 'Globals.cpp', + 'ISOFile.cpp', + 'MemcardManager.cpp', + 'MemoryCards/GCMemcard.cpp', + 'PluginManager.cpp', + 'stdafx.cpp', + ] + + libs = [ - 'debwx', 'core', 'minilzo', 'discio', 'bdisasm', 'videocommon', 'common', 'z' + 'core', 'minilzo', 'discio', 'bdisasm', 'videocommon', 'common', 'z' ] +if not env['osx64']: + libs += [ + 'debwx' + ] wxenv = env.Clone() wxenv.Append( CPPDEFINES = [ @@ -64,5 +74,6 @@ else: exeNoGUI = '../../../../Binary/linux/DolphinNoGUI' objects = [ wxenv.Object(srcFile) for srcFile in files ] -wxenv.Program(exeGUI, objects + [ 'Main.cpp' ]) +if not env['osx64']: + wxenv.Program(exeGUI, objects + [ 'Main.cpp' ]) wxenv.Program(exeNoGUI, objects + [ 'MainNoGUI.cpp' ]) diff --git a/Source/Plugins/Plugin_DSP_HLE/Src/SConscript b/Source/Plugins/Plugin_DSP_HLE/Src/SConscript index 73bc294ed7..73887bf354 100644 --- a/Source/Plugins/Plugin_DSP_HLE/Src/SConscript +++ b/Source/Plugins/Plugin_DSP_HLE/Src/SConscript @@ -34,4 +34,5 @@ dspenv.Append( CXXFLAGS = [ '-fPIC' ], LIBS = [ 'common' ], ) -dspenv.SharedLibrary(output, files) +if not env['osx64']: + dspenv.SharedLibrary(output, files) diff --git a/Source/Plugins/Plugin_DSP_LLE/Src/SConscript b/Source/Plugins/Plugin_DSP_LLE/Src/SConscript index 388906dccd..55fe3b26dc 100644 --- a/Source/Plugins/Plugin_DSP_LLE/Src/SConscript +++ b/Source/Plugins/Plugin_DSP_LLE/Src/SConscript @@ -34,4 +34,5 @@ lleenv.Append( CXXFLAGS = [ '-fPIC' ], LIBS = [ 'common' ], ) -lleenv.SharedLibrary(output, files) +if not env['osx64']: + lleenv.SharedLibrary(output, files) diff --git a/Source/Plugins/Plugin_PadSimple/Src/SConscript b/Source/Plugins/Plugin_PadSimple/Src/SConscript index d00657d917..145f0e5b64 100644 --- a/Source/Plugins/Plugin_PadSimple/Src/SConscript +++ b/Source/Plugins/Plugin_PadSimple/Src/SConscript @@ -16,4 +16,5 @@ files = [ padenv = env.Clone() padenv.Append(LIBS = [ 'common' ]) -padenv.SharedLibrary(output, files) +if not env['osx64']: + padenv.SharedLibrary(output, files) diff --git a/Source/Plugins/Plugin_VideoOGL/Src/SConscript b/Source/Plugins/Plugin_VideoOGL/Src/SConscript index f23f605c70..69f15dec10 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/SConscript +++ b/Source/Plugins/Plugin_VideoOGL/Src/SConscript @@ -86,7 +86,8 @@ gfxenv.Append( LINKFLAGS = linkFlags, ) -gfxenv.SharedLibrary( +if not env['osx64']: + gfxenv.SharedLibrary( '../../../../Binary/%s/Plugins/zeroogl.so' % platform, files, LIBS = gfxenv['LIBS'] + libs diff --git a/Source/Plugins/Plugin_Wiimote_Test/Src/SConscript b/Source/Plugins/Plugin_Wiimote_Test/Src/SConscript index c08754747c..fc4ef277a8 100644 --- a/Source/Plugins/Plugin_Wiimote_Test/Src/SConscript +++ b/Source/Plugins/Plugin_Wiimote_Test/Src/SConscript @@ -17,5 +17,5 @@ padenv.Append( CXXFLAGS = [ '-fPIC' ], LIBS = [ 'common' ], ) -padenv.SharedLibrary(output, files) - +if not env['osx64']: + padenv.SharedLibrary(output, files) diff --git a/Source/Plugins/Plugin_nJoy_SDL/Src/SConscript b/Source/Plugins/Plugin_nJoy_SDL/Src/SConscript index 8c04da16c4..9a2b914b95 100644 --- a/Source/Plugins/Plugin_nJoy_SDL/Src/SConscript +++ b/Source/Plugins/Plugin_nJoy_SDL/Src/SConscript @@ -19,4 +19,5 @@ padenv.Append( CXXFLAGS = [ '-fPIC' ], LIBS = [ 'common' ], ) -padenv.SharedLibrary(output, files) +if not env['osx64']: + padenv.SharedLibrary(output, files)