forked from dolphin-emu/dolphin
		
	If you are having trouble with segmentation faults in linux try "shared_soil=true". That seems to fix the problem. How do we fix this for the static build? git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5182 8ced0084-cf51-0410-be5f-012b33b47a6e
		
			
				
	
	
		
			112 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# -*- 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_VideoSoftware"
 | 
						|
 | 
						|
files = [
 | 
						|
	'BPMemLoader.cpp',
 | 
						|
	'Clipper.cpp',
 | 
						|
	'CommandProcessor.cpp',
 | 
						|
	'CPMemLoader.cpp',
 | 
						|
	'DebugUtil.cpp',
 | 
						|
	'EfbCopy.cpp',
 | 
						|
	'EfbInterface.cpp',
 | 
						|
	'GLUtil.cpp',
 | 
						|
	'HwRasterizer.cpp',
 | 
						|
	'main.cpp',
 | 
						|
	'OpcodeDecoder.cpp',
 | 
						|
	'PixelEngine.cpp',
 | 
						|
	'Rasterizer.cpp',
 | 
						|
	'RasterFont.cpp',
 | 
						|
	'Renderer.cpp',
 | 
						|
        'SetupUnit.cpp',
 | 
						|
        'Statistics.cpp',
 | 
						|
        'Tev.cpp',
 | 
						|
        'TextureEncoder.cpp',
 | 
						|
        'TextureSampler.cpp',
 | 
						|
        'TransformUnit.cpp',
 | 
						|
        'VertexFormatConverter.cpp',
 | 
						|
        'VertexLoader.cpp',
 | 
						|
        'VideoConfig.cpp',
 | 
						|
        'XFMemLoader.cpp',
 | 
						|
	]
 | 
						|
compileFlags = [
 | 
						|
	'-fPIC',
 | 
						|
	]
 | 
						|
linkFlags = [
 | 
						|
	]
 | 
						|
libs = [
 | 
						|
	'videocommon', 'SOIL', 'common'
 | 
						|
	]
 | 
						|
 | 
						|
gfxenv = env.Clone()
 | 
						|
 | 
						|
if sys.platform == 'win32':
 | 
						|
        files += [ 'Win32.cpp' ]
 | 
						|
 | 
						|
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':
 | 
						|
	gfxenv['FRAMEWORKS'] = ['CoreFoundation', 'System', 'OpenGL', 'Cocoa', 'Cg']
 | 
						|
	compileFlags += ['-x','objective-c++',]
 | 
						|
	files += [ 'cocoaGL.m', ]
 | 
						|
 | 
						|
	conf.CheckPKG('OpenGL')
 | 
						|
	if gfxenv['HAVE_OPENCL']:
 | 
						|
		gfxenv['FRAMEWORKS'] += ['OpenCL']
 | 
						|
 | 
						|
elif sys.platform == 'win32':
 | 
						|
        print name + " is assuming that you have opengl, glu, cg, and cggl"
 | 
						|
else:
 | 
						|
        if not (conf.CheckPKG('GL') and conf.CheckPKG('GLU')):
 | 
						|
                print name + " must have opengl and glu to be build"
 | 
						|
                Return()
 | 
						|
	
 | 
						|
if sys.platform == 'win32':
 | 
						|
	print name + " is assuming that you have glew"
 | 
						|
else:
 | 
						|
	if not conf.CheckPKG('GLEW'):
 | 
						|
		print name + " must have glew to be build"
 | 
						|
		Return()
 | 
						|
 | 
						|
 | 
						|
if sys.platform == 'win32':
 | 
						|
	files += [
 | 
						|
		'Win32.cpp'
 | 
						|
		]
 | 
						|
	libs += [
 | 
						|
		env['base_dir'] + '/Externals/Cg/'
 | 
						|
		]	
 | 
						|
	gfxenv['CPPPATH'] += libs
 | 
						|
	
 | 
						|
 | 
						|
# check for Xrandr
 | 
						|
gfxenv['HAVE_XRANDR'] = gfxenv['HAVE_X11'] and conf.CheckPKG('xrandr')
 | 
						|
        
 | 
						|
conf.Define('HAVE_XRANDR', gfxenv['HAVE_XRANDR'])
 | 
						|
 | 
						|
conf.Finish()
 | 
						|
 | 
						|
# Sanity check
 | 
						|
if gfxenv['USE_WX'] and not gfxenv['HAVE_WX']:
 | 
						|
    print "Must have wx to use wxgl"
 | 
						|
    Return()
 | 
						|
gfxenv.Append(
 | 
						|
	CXXFLAGS = compileFlags,
 | 
						|
	LINKFLAGS = linkFlags,
 | 
						|
	)
 | 
						|
 | 
						|
gfxenv.SharedLibrary(
 | 
						|
	env['plugin_dir']+name,
 | 
						|
	files,
 | 
						|
	LIBS =  libs + gfxenv['LIBS']
 | 
						|
	)
 |