# -*- python -*- 

Import('env')
import sys

files = [
	'BPStructs.cpp',
	'DataReader.cpp',
	'Globals.cpp',
	'GLInit.cpp',
	'main.cpp',
	'memcpy_amd.cpp',
	'OpcodeDecoding.cpp',
#	'OpcodeReaders.cpp', # outdated
	'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 += [
		'-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.
	useSDL = False
        gfxenv.ParseConfig("pkg-config x11 --cflags --libs")

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

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

gfxenv.Append(
	CXXFLAGS = compileFlags,
	)

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