# -*- python -*- 

Import('env')
# can we import path in one place?
import sys
sys.path.append('../../../SconsTests')
import utils

files = [
	'BPStructs.cpp',
	'Globals.cpp',
	'GLInit.cpp',
	'main.cpp',
	'memcpy_amd.cpp',
	'OpcodeDecoding.cpp',
	'PixelShader.cpp',
	'PixelShaderManager.cpp',
	'rasterfont.cpp',
	'Render.cpp',
	'TextureMngr.cpp',
	'VertexLoader.cpp',
	'VertexLoader_Normal.cpp',
	'VertexShader.cpp',
	'VertexShaderManager.cpp',
	'XFB.cpp',
	'GUI/ConfigDlg.cpp',
	]
compileFlags = [
	'-fPIC',
	]
linkFlags = [
	]
libs = [
	'videocommon', 'common', 'GLEW',
	]

gfxenv = env.Clone()

if sys.platform == 'darwin':
	platform = 'mac'
	# SDL is currently the only way to get video on Mac OS X.
	useSDL = True
	# TODO: clean it up (use incpath and libpath)
	# 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 [ 'OpenGL', 'Cg' ]
		]
else:
	platform = 'linux'
	# By default, GLX is used on Linux to setup OpenGL, but you can select SDL
	# instead if you like, by changing the line below.
        tests = {'CheckPKG' : utils.CheckPKG}

        conf = gfxenv.Configure(custom_tests = tests)

        if not conf.CheckPKG('x11'):
                Exit(1)
                
        if not conf.CheckPKG('xxf86vm'):
                Exit(1)

        gfxenv = conf.Finish()
        
	useSDL = False
	gfxenv.ParseConfig("pkg-config x11 --cflags --libs")
	gfxenv.ParseConfig("pkg-config xxf86vm --cflags --libs")

	# Libraries without pkg-config support.
	libs += [ 'GL', 'Cg', 'CgGL' ]

if useSDL:                    
	compileFlags += [ '-DUSE_SDL=1' ]

gfxenv.Append(
	CXXFLAGS = compileFlags,
	LINKFLAGS = linkFlags,
	)

gfxenv.SharedLibrary(
	'../../../../Binary/%s/Plugins/zeroogl.so' % platform,
	files,
	LIBS = gfxenv['LIBS'] + libs
	)
