# -*- python -*- Import('env') # can we import path in one place? import sys sys.path.append(env['base_dir']+'SconsTests') import utils name = "Plugin_VideoOGL" files = [ 'BPStructs.cpp', 'Globals.cpp', 'GLUtil.cpp', 'main.cpp', 'Config.cpp', 'memcpy_amd.cpp', 'OpcodeDecoding.cpp', 'PixelShaderManager.cpp', 'rasterfont.cpp', 'Render.cpp', 'TextureMngr.cpp', 'ImageWrite.cpp', 'NativeVertexFormat.cpp', 'VertexManager.cpp', 'VertexLoader.cpp', 'VertexLoader_Color.cpp', 'VertexLoader_Normal.cpp', 'VertexLoader_Position.cpp', 'VertexLoader_TextCoord.cpp', 'VertexLoaderManager.cpp', 'VertexShaderManager.cpp', 'TextureConverter.cpp', 'XFB.cpp', 'Logging/Console.cpp', 'Logging/Logging.cpp', ] compileFlags = [ '-fPIC', ] linkFlags = [ ] libs = [ 'videocommon', 'common', 'GLEW', ] gfxenv = env.Clone() if gfxenv['HAVE_WX']: files += [ 'GUI/ConfigDlg.cpp', 'Debugger/Debugger.cpp', 'Debugger/PBView.cpp', ] if gfxenv['osx64']: files += [ 'cocoaGL.m' ] compileFlags += [ '-x', 'objective-c++', ] linkFlags += [ '-framework', 'cocoa', '-arch', 'x86_64' ] tests = {'CheckPKG' : utils.CheckPKG} conf = gfxenv.Configure(custom_tests = tests) if not conf.CheckPKG('gl'): if not conf.CheckLibWithHeader('gl', 'gl.h', 'c', 1): print name + " must have opengl to be build" else: gfxenv.ParseConfig("pkg-config gl --cflags --libs") #if not conf.CheckPKG('glu')): # Return() # check for xxf86vm gfxenv['HAVE_XXF86VM'] = conf.CheckPKG('xxf86vm') conf.Finish() if gfxenv['HAVE_XXF86VM']: gfxenv.ParseConfig("pkg-config xxf86vm --cflags --libs") #gfxenv.ParseConfig("pkg-config glu --cflags --libs") if sys.platform == 'darwin': # Use libraries from MacPorts. compileFlags.append('-I/opt/local/include') linkFlags.append('-L/opt/local/lib') # Use frameworks instead of plain libs, when possible. linkFlags += [ '-Wl,-framework,%s' % framework for framework in [ 'Cg', 'OpenGL' ] ] else: # Libraries without pkg-config support. libs += [ 'Cg', 'CgGL', 'GLU' ] # change to True if you want to compile with SDL useSDL = not (gfxenv['HAVE_X11'] and gfxenv['HAVE_XXF86VM']) if useSDL and not gfxenv['HAVE_SDL']: print name + " must have either X11 or sdl to be build" Return() if useSDL: compileFlags += [ '-DUSE_SDL=1' ] gfxenv.Append( CXXFLAGS = compileFlags, LINKFLAGS = linkFlags, ) gfxenv.SharedLibrary( env['plugin_dir']+name, files, LIBS = libs + gfxenv['LIBS'] )