1lib_sources = [ 2 'drmtest.c', 3 'i915/gem_context.c', 4 'i915/gem_engine_topology.c', 5 'i915/gem_scheduler.c', 6 'i915/gem_submission.c', 7 'i915/gem_ring.c', 8 'i915/gem_mman.c', 9 'i915/gem_vm.c', 10 'igt_color_encoding.c', 11 'igt_debugfs.c', 12 'igt_device.c', 13 'igt_aux.c', 14 'igt_gpu_power.c', 15 'igt_gt.c', 16 'igt_gvt.c', 17 'igt_halffloat.c', 18 'igt_matrix.c', 19 'igt_perf.c', 20 'igt_primes.c', 21 'igt_rand.c', 22 'igt_stats.c', 23 'igt_syncobj.c', 24 'igt_sysfs.c', 25 'igt_sysrq.c', 26 'igt_vgem.c', 27 'igt_x86.c', 28 'instdone.c', 29 'intel_batchbuffer.c', 30 'intel_chipset.c', 31 'intel_device_info.c', 32 'intel_os.c', 33 'intel_mmio.c', 34 'ioctl_wrappers.c', 35 'media_spin.c', 36 'media_fill.c', 37 'gpgpu_fill.c', 38 'gpu_cmds.c', 39 'rendercopy_i915.c', 40 'rendercopy_i830.c', 41 'rendercopy_gen4.c', 42 'rendercopy_gen6.c', 43 'rendercopy_gen7.c', 44 'rendercopy_gen8.c', 45 'rendercopy_gen9.c', 46 'sw_sync.c', 47 'intel_reg_map.c', 48 'intel_iosf.c', 49 'igt_kms.c', 50 'igt_fb.c', 51 'igt_core.c', 52 'igt_draw.c', 53 'igt_pm.c', 54 'igt_dummyload.c', 55 'uwildmat/uwildmat.c', 56 'igt_kmod.c', 57 'igt_panfrost.c', 58 'igt_v3d.c', 59 'igt_vc4.c', 60 'igt_psr.c', 61 'igt_amd.c', 62 'igt_edid.c', 63 'igt_eld.c', 64 'igt_infoframe.c', 65] 66 67lib_deps = [ 68 cairo, 69 glib, 70 libdrm, 71 libdw, 72 libkmod, 73 libprocps, 74 libudev, 75 math, 76 pciaccess, 77 pixman, 78 pthreads, 79 realtime, 80 zlib 81] 82 83if libdrm_intel.found() 84 lib_deps += libdrm_intel 85else 86 lib_sources += 'stubs/drm/intel_bufmgr.c' 87 inc = [ inc, include_directories('stubs/drm') ] 88endif 89 90if libunwind.found() 91 lib_deps += libunwind 92else 93 inc = [ inc, include_directories('stubs/libunwind') ] 94endif 95 96if valgrind.found() 97 lib_deps += valgrind 98endif 99 100if gsl.found() 101 lib_deps += gsl 102 lib_sources += [ 'igt_frame.c', 'igt_audio.c' ] 103endif 104 105if alsa.found() 106 lib_deps += alsa 107 lib_sources += 'igt_alsa.c' 108endif 109 110if chamelium.found() 111 lib_deps += chamelium 112 lib_sources += 'igt_chamelium.c' 113 lib_sources += 'igt_chamelium_stream.c' 114endif 115 116srcdir = join_paths(meson.source_root(), 'tests') 117 118lib_version = vcs_tag(input : 'version.h.in', output : 'version.h', 119 fallback : 'NO-GIT', 120 command : [ 'git', 'log', '-n1', '--pretty=format:g%h' ] ) 121 122lib_intermediates = [] 123foreach f: lib_sources 124 name = f.underscorify(f) 125 lib = static_library('igt-' + name, 126 [ f, lib_version ], 127 include_directories: inc, 128 dependencies : lib_deps, 129 c_args : [ 130 '-DIGT_DATADIR="@0@"'.format(join_paths(prefix, datadir)), 131 '-DIGT_SRCDIR="@0@"'.format(srcdir), 132 '-DIGT_LOG_DOMAIN="@0@"'.format(f.split('.')[0]), 133 ]) 134 135 lib_intermediates += lib 136endforeach 137 138lib_igt_build = shared_library('igt', 139 ['dummy.c'], 140 link_whole: lib_intermediates, 141 dependencies: lib_deps, 142 install : true, 143 soversion : '0', 144) 145 146lib_igt = declare_dependency(link_with : lib_igt_build, 147 include_directories : inc) 148 149igt_deps = [ lib_igt ] + lib_deps 150 151lin_igt_chipset_build = static_library('igt_chipset', 152 ['intel_chipset.c', 153 'intel_device_info.c'], 154 include_directories : inc) 155 156lib_igt_chipset = declare_dependency(link_with : lin_igt_chipset_build, 157 include_directories : inc) 158 159lib_igt_perf_build = static_library('igt_perf', 160 ['igt_perf.c'], 161 include_directories : inc) 162 163lib_igt_perf = declare_dependency(link_with : lib_igt_perf_build, 164 include_directories : inc) 165 166subdir('tests') 167