# -*- python -*- Import('env') # can we import path in one place? import sys sys.path.append(env['base_dir']+'SconsTests') import utils import platform name = "Plugin_VideoOGL" files = [ 'BPStructs.cpp', 'Globals.cpp', 'Config.cpp', 'memcpy_amd.cpp', 'rasterfont.cpp', 'Render.cpp', 'TextureMngr.cpp', 'NativeVertexFormat.cpp', 'VertexManager.cpp', 'VertexLoader.cpp', 'VertexLoader_Color.cpp', 'VertexLoader_Normal.cpp', 'VertexLoader_Position.cpp', 'VertexLoader_TextCoord.cpp', 'VertexLoaderManager.cpp', 'PixelShaderCache.cpp', 'VertexShaderCache.cpp', 'TextureConverter.cpp', 'XFB.cpp', 'XFStructs.cpp', ] compileFlags = [ '-fPIC', ] linkFlags = [ ] libs = [ 'videocommon', 'common', ] gfxenv = env.Clone() if gfxenv['GLTEST']: files += [ 'nmain.cpp', 'nGLUtil.cpp', ] else: files += [ 'main.cpp', 'GLUtil.cpp', ] if gfxenv['HAVE_WX']: files += [ 'GUI/ConfigDlg.cpp', 'Debugger/Debugger.cpp', 'Debugger/PBView.cpp', 'Logging/Console.cpp', 'Logging/Logging.cpp', ] if gfxenv['HAVE_COCOA']: files += [ 'cocoaGL.m' ] compileFlags += [ '-x', 'objective-c++', ] tests = {'CheckPKG' : utils.CheckPKG} conf = gfxenv.Configure(custom_tests = tests, config_h=env['base_dir']+"Source/Core/Common/Src/Config.h") if sys.platform == 'darwin': # Use libraries from MacPorts. compileFlags.append('-I/opt/local/include') linkFlags.append('-L/opt/local/lib') conf.CheckPKG('OpenGL') if not conf.CheckPKG('Cg'): print name + " must have Cg framework from nvidia to be build" Return() else: if not (conf.CheckPKG('GL') and conf.CheckPKG('GLU')): print name + " must have opengl and glu to be build" Return() if not conf.CheckPKG('Cg') or not conf.CheckPKG('CgGL'): print name + " must have cg and cggl to be build" Return() if not conf.CheckPKG('GLEW'): print name + " must have glew to be build" Return() # check for xxf86vm gfxenv['HAVE_XXF86VM'] = gfxenv['HAVE_X11'] and conf.CheckPKG('xxf86vm') conf.Define('HAVE_XXF86VM', gfxenv['HAVE_XXF86VM']) conf.Finish() if gfxenv['HAVE_XXF86VM']: files += [ 'X11Window.cpp', ] if gfxenv['HAVE_SDL']: files += [ 'SDLWindow.cpp', ] if gfxenv['USE_WX']: files += [ 'WXGLWindow.cpp', ] # Sanity check if gfxenv['USE_WX'] and not gfxenv['HAVE_WX']: print "Must have wx to use wxgl" Return() if gfxenv['USE_SDL'] and not gfxenv['HAVE_SDL']: print "Must have sdl to use SDL gl" Return() gfxenv.Append( CXXFLAGS = compileFlags, LINKFLAGS = linkFlags, ) gfxenv.SharedLibrary( env['plugin_dir']+name, files, LIBS = libs + gfxenv['LIBS'] )