| 
									
										
										
										
											2008-09-21 19:54:29 +00:00
										 |  |  | # -*- python -*-  | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-07-12 17:40:22 +00:00
										 |  |  | Import('env') | 
					
						
							| 
									
										
										
										
											2008-09-24 17:47:51 +00:00
										 |  |  | # can we import path in one place? | 
					
						
							| 
									
										
										
										
											2008-08-06 21:07:31 +00:00
										 |  |  | import sys | 
					
						
							| 
									
										
										
										
											2008-09-24 17:47:51 +00:00
										 |  |  | sys.path.append('../../../SconsTests') | 
					
						
							|  |  |  | import utils | 
					
						
							| 
									
										
										
										
											2008-07-12 17:40:22 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | files = [ | 
					
						
							|  |  |  | 	'BPStructs.cpp', | 
					
						
							|  |  |  | 	'Globals.cpp', | 
					
						
							| 
									
										
										
										
											2008-10-22 21:02:37 +00:00
										 |  |  | 	'GLUtil.cpp', | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | 	'main.cpp', | 
					
						
							| 
									
										
										
										
											2008-10-22 21:23:40 +00:00
										 |  |  | 	'Config.cpp', | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | 	'memcpy_amd.cpp', | 
					
						
							|  |  |  | 	'OpcodeDecoding.cpp', | 
					
						
							|  |  |  | 	'PixelShaderManager.cpp', | 
					
						
							|  |  |  | 	'rasterfont.cpp', | 
					
						
							|  |  |  | 	'Render.cpp', | 
					
						
							|  |  |  | 	'TextureMngr.cpp', | 
					
						
							| 
									
										
										
										
											2008-10-17 11:30:14 +00:00
										 |  |  | 	'ImageWrite.cpp', | 
					
						
							| 
									
										
										
										
											2008-10-24 23:08:46 +00:00
										 |  |  | 	'NativeVertexFormat.cpp', | 
					
						
							| 
									
										
										
										
											2008-10-17 11:30:14 +00:00
										 |  |  | 	'VertexManager.cpp', | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | 	'VertexLoader.cpp', | 
					
						
							|  |  |  | 	'VertexLoader_Normal.cpp', | 
					
						
							| 
									
										
										
										
											2008-10-25 12:35:55 +00:00
										 |  |  | 	'VertexLoaderManager.cpp', | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | 	'VertexShaderManager.cpp', | 
					
						
							|  |  |  | 	'XFB.cpp', | 
					
						
							| 
									
										
										
										
											2008-10-04 17:26:12 +00:00
										 |  |  | 	'GUI/ConfigDlg.cpp', | 
					
						
							| 
									
										
										
										
											2008-10-10 16:20:13 +00:00
										 |  |  | 	'Logging/Console.cpp', | 
					
						
							|  |  |  | 	'Logging/Logging.cpp', | 
					
						
							|  |  |  | 	'Debugger/Debugger.cpp', | 
					
						
							|  |  |  | 	'Debugger/PBView.cpp', | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | 	] | 
					
						
							|  |  |  | compileFlags = [ | 
					
						
							| 
									
										
										
										
											2008-08-26 22:28:42 +00:00
										 |  |  | 	'-fPIC', | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | 	] | 
					
						
							|  |  |  | linkFlags = [ | 
					
						
							|  |  |  | 	] | 
					
						
							|  |  |  | libs = [ | 
					
						
							| 
									
										
										
										
											2008-08-29 09:55:17 +00:00
										 |  |  | 	'videocommon', 'common', 'GLEW', | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | 	] | 
					
						
							| 
									
										
										
										
											2008-09-20 22:06:22 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | gfxenv = env.Clone() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | if sys.platform == 'darwin': | 
					
						
							|  |  |  | 	platform = 'mac' | 
					
						
							| 
									
										
										
										
											2008-08-26 00:57:16 +00:00
										 |  |  | 	# SDL is currently the only way to get video on Mac OS X. | 
					
						
							|  |  |  | 	useSDL = True | 
					
						
							| 
									
										
										
										
											2008-09-23 00:11:33 +00:00
										 |  |  | 	# TODO: clean it up (use incpath and libpath) | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | 	# 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 += [ | 
					
						
							| 
									
										
										
										
											2008-09-23 00:11:33 +00:00
										 |  |  | 		'-Wl,-framework,%s' % framework | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | 		for framework in [ 'OpenGL', 'Cg' ] | 
					
						
							|  |  |  | 		] | 
					
						
							| 
									
										
										
										
											2008-08-06 21:07:31 +00:00
										 |  |  | else: | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | 	platform = 'linux' | 
					
						
							| 
									
										
										
										
											2008-08-26 00:57:16 +00:00
										 |  |  | 	# By default, GLX is used on Linux to setup OpenGL, but you can select SDL | 
					
						
							|  |  |  | 	# instead if you like, by changing the line below. | 
					
						
							| 
									
										
										
										
											2008-09-24 17:47:51 +00:00
										 |  |  |         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() | 
					
						
							|  |  |  |          | 
					
						
							| 
									
										
										
										
											2008-08-26 00:57:16 +00:00
										 |  |  | 	useSDL = False | 
					
						
							| 
									
										
										
										
											2008-09-23 00:11:33 +00:00
										 |  |  | 	gfxenv.ParseConfig("pkg-config x11 --cflags --libs") | 
					
						
							|  |  |  | 	gfxenv.ParseConfig("pkg-config xxf86vm --cflags --libs") | 
					
						
							| 
									
										
										
										
											2008-09-20 22:06:22 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | 	# Libraries without pkg-config support. | 
					
						
							| 
									
										
										
										
											2008-09-22 07:25:57 +00:00
										 |  |  | 	libs += [ 'GL', 'Cg', 'CgGL' ] | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-09-20 22:06:22 +00:00
										 |  |  | if useSDL:                     | 
					
						
							|  |  |  | 	compileFlags += [ '-DUSE_SDL=1' ] | 
					
						
							| 
									
										
										
										
											2008-08-26 00:57:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-26 22:28:42 +00:00
										 |  |  | gfxenv.Append( | 
					
						
							| 
									
										
										
										
											2008-09-20 22:06:22 +00:00
										 |  |  | 	CXXFLAGS = compileFlags, | 
					
						
							| 
									
										
										
										
											2008-09-23 00:11:33 +00:00
										 |  |  | 	LINKFLAGS = linkFlags, | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | 	) | 
					
						
							| 
									
										
										
										
											2008-09-20 22:06:22 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-10-20 17:32:15 +00:00
										 |  |  | if not env['osx64']: | 
					
						
							|  |  |  |     gfxenv.SharedLibrary( | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | 	'../../../../Binary/%s/Plugins/zeroogl.so' % platform, | 
					
						
							|  |  |  | 	files, | 
					
						
							| 
									
										
										
										
											2008-09-20 22:06:22 +00:00
										 |  |  | 	LIBS = gfxenv['LIBS'] + libs | 
					
						
							| 
									
										
										
										
											2008-08-26 00:18:00 +00:00
										 |  |  | 	) |