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