1fe8aea9eSmrgconfig.set('USE_SNA', 1) 2fe8aea9eSmrg 3fe8aea9eSmrgif cc.has_member('struct sysinfo', 'totalram', 4fe8aea9eSmrg prefix : '#include <sys/sysinfo.h>') 5fe8aea9eSmrg config.set('HAVE_STRUCT_SYSINFO_TOTALRAM', 1) 6fe8aea9eSmrgendif 7fe8aea9eSmrg 8fe8aea9eSmrggit_version_h = vcs_tag(input : 'git_version.h.in', output : 'git_version.h', 9fe8aea9eSmrg fallback : 'not compiled from git', 10fe8aea9eSmrg command : [ 'git', 'describe' ] ) 11fe8aea9eSmrg 12fe8aea9eSmrgconfig.set('HAVE_DOT_GIT', 1) 13fe8aea9eSmrg 14fe8aea9eSmrgif cc.has_header('alloca.h') 15fe8aea9eSmrg config.set('HAVE_ALLOCA_H', 1) 16fe8aea9eSmrgendif 17fe8aea9eSmrg 18fe8aea9eSmrgsna_deps = [ 19fe8aea9eSmrg cc.find_library('m', required : true), 20fe8aea9eSmrg dependency('threads', required : true), 21fe8aea9eSmrg dependency('xorg-server', required : true), 22fe8aea9eSmrg dependency('libdrm', required : true), 23fe8aea9eSmrg] 24fe8aea9eSmrg 25fe8aea9eSmrgsna_sources = [ 26fe8aea9eSmrg 'blt.c', 27fe8aea9eSmrg 'kgem.c', 28fe8aea9eSmrg 'sna_accel.c', 29fe8aea9eSmrg 'sna_acpi.c', 30fe8aea9eSmrg 'sna_blt.c', 31fe8aea9eSmrg 'sna_composite.c', 32fe8aea9eSmrg 'sna_cpu.c', 33fe8aea9eSmrg 'sna_damage.c', 34fe8aea9eSmrg 'sna_display.c', 35fe8aea9eSmrg 'sna_display_fake.c', 36fe8aea9eSmrg 'sna_driver.c', 37fe8aea9eSmrg 'sna_glyphs.c', 38fe8aea9eSmrg 'sna_gradient.c', 39fe8aea9eSmrg 'sna_io.c', 40fe8aea9eSmrg 'sna_render.c', 41fe8aea9eSmrg 'sna_stream.c', 42fe8aea9eSmrg 'sna_trapezoids.c', 43fe8aea9eSmrg 'sna_trapezoids_boxes.c', 44fe8aea9eSmrg 'sna_trapezoids_imprecise.c', 45fe8aea9eSmrg 'sna_trapezoids_mono.c', 46fe8aea9eSmrg 'sna_trapezoids_precise.c', 47fe8aea9eSmrg 'sna_tiling.c', 48fe8aea9eSmrg 'sna_transform.c', 49fe8aea9eSmrg 'sna_threads.c', 50fe8aea9eSmrg 'sna_vertex.c', 51fe8aea9eSmrg 'sna_video.c', 52fe8aea9eSmrg 'sna_video_overlay.c', 53fe8aea9eSmrg 'sna_video_sprite.c', 54fe8aea9eSmrg 'sna_video_textured.c', 55fe8aea9eSmrg 'gen2_render.c', 56fe8aea9eSmrg 'gen3_render.c', 57fe8aea9eSmrg 'gen4_common.c', 58fe8aea9eSmrg 'gen4_render.c', 59fe8aea9eSmrg 'gen4_source.c', 60fe8aea9eSmrg 'gen4_vertex.c', 61fe8aea9eSmrg 'gen5_render.c', 62fe8aea9eSmrg 'gen6_common.c', 63fe8aea9eSmrg 'gen6_render.c', 64fe8aea9eSmrg 'gen7_render.c', 65fe8aea9eSmrg 'gen8_eu.c', 66fe8aea9eSmrg 'gen8_render.c', 67fe8aea9eSmrg 'gen8_vertex.c', 68fe8aea9eSmrg 'gen9_render.c', 69fe8aea9eSmrg] 70fe8aea9eSmrg 71fe8aea9eSmrgif libudev.found() 72fe8aea9eSmrg sna_deps += libudev 73fe8aea9eSmrgendif 74fe8aea9eSmrg 75fe8aea9eSmrgif with_valgrind 76fe8aea9eSmrg sna_deps += valgrind 77fe8aea9eSmrgendif 78fe8aea9eSmrg 79fe8aea9eSmrgif with_dri2 80fe8aea9eSmrg sna_sources += 'sna_dri2.c' 81fe8aea9eSmrg sna_deps += [ 82fe8aea9eSmrg dependency('dri2proto', required : true), 83fe8aea9eSmrg cc.find_library('rt', required : true), 84fe8aea9eSmrg ] 85fe8aea9eSmrgendif 86fe8aea9eSmrg 87fe8aea9eSmrgif with_dri3 88fe8aea9eSmrg sna_sources += 'sna_dri3.c' 89fe8aea9eSmrg sna_deps += dri3 90fe8aea9eSmrgendif 91fe8aea9eSmrg 92fe8aea9eSmrgif has_present 93fe8aea9eSmrg sna_sources += 'sna_present.c' 94fe8aea9eSmrg sna_deps += present 95fe8aea9eSmrgendif 96fe8aea9eSmrg 97fe8aea9eSmrgif with_xvmc 98fe8aea9eSmrg sna_sources += 'sna_video_hwmc.c' 99fe8aea9eSmrgendif 100fe8aea9eSmrg 101fe8aea9eSmrgif debug == 'full' 102fe8aea9eSmrg sna_sources += [ 103fe8aea9eSmrg 'kgem_debug.c', 104fe8aea9eSmrg 'kgem_debug_gen2.c', 105fe8aea9eSmrg 'kgem_debug_gen3.c', 106fe8aea9eSmrg 'kgem_debug_gen4.c', 107fe8aea9eSmrg 'kgem_debug_gen5.c', 108fe8aea9eSmrg 'kgem_debug_gen6.c', 109fe8aea9eSmrg 'kgem_debug_gen7.c', 110fe8aea9eSmrg ] 111fe8aea9eSmrgendif 112fe8aea9eSmrg 113fe8aea9eSmrgif get_option('tearfree') 114fe8aea9eSmrg config.set('TEARFREE', 1) 115fe8aea9eSmrgendif 116fe8aea9eSmrgif get_option('use-create2') 117fe8aea9eSmrg config.set('USE_CREATE2', 1) 118fe8aea9eSmrgendif 119fe8aea9eSmrgif get_option('async-swap') 120fe8aea9eSmrg config.set('USE_ASYNC_SWAP', 1) 121fe8aea9eSmrgendif 122fe8aea9eSmrg 123fe8aea9eSmrgsubdir('brw') 124fe8aea9eSmrgsubdir('fb') 125fe8aea9eSmrg 126fe8aea9eSmrgsna = static_library('sna', 127fe8aea9eSmrg [ git_version_h, sna_sources ], 128fe8aea9eSmrg dependencies : sna_deps, 129fe8aea9eSmrg link_with : [ brw, fb, ], 130fe8aea9eSmrg include_directories : inc, 131fe8aea9eSmrg c_args : [ 132fe8aea9eSmrg '-Wno-missing-field-initializers', 133fe8aea9eSmrg '-Wno-unused-but-set-variable', 134fe8aea9eSmrg '-Wno-shift-negative-value', 135fe8aea9eSmrg '-Wno-unused-parameter', 136fe8aea9eSmrg '-Wno-sign-compare', 137fe8aea9eSmrg '-Wno-type-limits', 138fe8aea9eSmrg ], 139fe8aea9eSmrg install : false) 140