SConscript revision 63aa8a39c4e7ee996afc87404474cce570ac3729
1b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil####################################################################### 2b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil# SConscript for xlib winsys 3b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil 4b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2PhilImport('*') 5b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil 6b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Philif env['platform'] != 'linux': 7b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil Return() 8b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil 9b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Philif 'mesa' not in env['statetrackers']: 10b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil print 'warning: Mesa state tracker disabled: skipping build of xlib libGL.so' 11b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil Return() 12b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil 13b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Philif env['dri']: 14b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil print 'warning: DRI enabled: skipping build of xlib libGL.so' 15b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil Return() 16b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil 17b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Philif not set(('softpipe', 'llvmpipe', 'cell')).intersection(env['drivers']): 18b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil print 'warning: no supported pipe driver: skipping build of xlib libGL.so' 19b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil Return() 20b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil 21b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Philenv = env.Clone() 22b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil 23b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Philenv.Append(CPPPATH = [ 24b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil '#/src/mesa', 254f2b662ea5180319916f7e376b2d7906075b11cbPierre LALET '#/src/mesa/main', 26b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil '#src/gallium/state_trackers/glx/xlib', 272ec520aa444990a595f5280e666ab4c3f2f3795fGuillaume Valadon]) 282ec520aa444990a595f5280e666ab4c3f2f3795fGuillaume Valadon 292ec520aa444990a595f5280e666ab4c3f2f3795fGuillaume Valadonenv.Append(CPPDEFINES = ['USE_XSHM']) 302ec520aa444990a595f5280e666ab4c3f2f3795fGuillaume Valadon 312ec520aa444990a595f5280e666ab4c3f2f3795fGuillaume Valadonenv.Prepend(LIBS = [ 322ec520aa444990a595f5280e666ab4c3f2f3795fGuillaume Valadon st_xlib, 332ec520aa444990a595f5280e666ab4c3f2f3795fGuillaume Valadon ws_xlib, 342ec520aa444990a595f5280e666ab4c3f2f3795fGuillaume Valadon trace, 352ec520aa444990a595f5280e666ab4c3f2f3795fGuillaume Valadon identity, 362ec520aa444990a595f5280e666ab4c3f2f3795fGuillaume Valadon glapi, 372ec520aa444990a595f5280e666ab4c3f2f3795fGuillaume Valadon mesa, 382ec520aa444990a595f5280e666ab4c3f2f3795fGuillaume Valadon glsl, 392ec520aa444990a595f5280e666ab4c3f2f3795fGuillaume Valadon gallium, 40e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon]) 41e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon 42e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadonsources = [ 43e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon 'xlib.c', 44e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon] 45e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon 46e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadonif 'softpipe' in env['drivers']: 47e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon env.Append(CPPDEFINES = 'GALLIUM_SOFTPIPE') 48e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon env.Prepend(LIBS = [softpipe]) 496057906368d55634d11e1d19a5cca1f127595b11Robin Jarry 50e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadonif 'llvmpipe' in env['drivers']: 51e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon env.Tool('llvm') 52e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon if 'LLVM_VERSION' in env: 53e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE') 54e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon env.Tool('udis86') 55e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon env.Prepend(LIBS = [llvmpipe]) 56e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon 57e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadonif 'cell' in env['drivers']: 58e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon env.Append(CPPDEFINES = 'GALLIUM_CELL') 59e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon env.Prepend(LIBS = [cell]) 60e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon 61e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon# TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions 62e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadonlibgl = env.SharedLibrary( 63e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon target ='GL', 64e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon source = sources, 65e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon) 66e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon 67e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadonif not env['dri']: 68e7dcc76cf326b864ad0b6a1c214ee3be4a1dd53eGuillaume Valadon # Only install this libGL.so if DRI not enabled 692ec520aa444990a595f5280e666ab4c3f2f3795fGuillaume Valadon env.InstallSharedLibrary(libgl, version=(1, 5)) 70b5f59b6bdb4f84b6f4acdb3ddbe2c5326e8fbfd2Phil