lib_sources = [ 'drmtest.c', 'i915/gem_context.c', 'i915/gem_scheduler.c', 'i915/gem_submission.c', 'i915/gem_ring.c', 'i915/gem_mman.c', 'igt_color_encoding.c', 'igt_debugfs.c', 'igt_device.c', 'igt_aux.c', 'igt_gpu_power.c', 'igt_gt.c', 'igt_gvt.c', 'igt_halffloat.c', 'igt_matrix.c', 'igt_perf.c', 'igt_primes.c', 'igt_rand.c', 'igt_stats.c', 'igt_syncobj.c', 'igt_sysfs.c', 'igt_sysrq.c', 'igt_vgem.c', 'igt_x86.c', 'instdone.c', 'intel_batchbuffer.c', 'intel_chipset.c', 'intel_device_info.c', 'intel_os.c', 'intel_mmio.c', 'ioctl_wrappers.c', 'media_spin.c', 'media_fill.c', 'gpgpu_fill.c', 'gpu_cmds.c', 'rendercopy_i915.c', 'rendercopy_i830.c', 'rendercopy_gen4.c', 'rendercopy_gen6.c', 'rendercopy_gen7.c', 'rendercopy_gen8.c', 'rendercopy_gen9.c', 'sw_sync.c', 'intel_reg_map.c', 'intel_iosf.c', 'igt_kms.c', 'igt_fb.c', 'igt_core.c', 'igt_draw.c', 'igt_pm.c', 'igt_dummyload.c', 'uwildmat/uwildmat.c', 'igt_kmod.c', 'igt_v3d.c', 'igt_vc4.c', 'igt_psr.c', 'igt_amd.c', 'igt_edid.c', ] lib_deps = [ cairo, glib, libdrm, libdw, libkmod, libprocps, libudev, libdw, math, pciaccess, pixman, pthreads, realtime, zlib ] if libdrm_intel.found() lib_deps += libdrm_intel else lib_sources += 'stubs/drm/intel_bufmgr.c' inc = [ inc, include_directories('stubs/drm') ] endif if libunwind.found() lib_deps += libunwind else inc = [ inc, include_directories('stubs/libunwind') ] endif if valgrind.found() lib_deps += valgrind endif if gsl.found() lib_deps += gsl lib_sources += [ 'igt_frame.c', 'igt_audio.c' ] endif if alsa.found() lib_deps += alsa lib_sources += 'igt_alsa.c' endif if chamelium_found lib_deps += chamelium lib_sources += 'igt_chamelium.c' lib_sources += 'igt_chamelium_stream.c' endif srcdir = join_paths(meson.source_root(), 'tests') lib_version = vcs_tag(input : 'version.h.in', output : 'version.h', fallback : 'NO-GIT', command : [ 'git', 'log', '-n1', '--pretty=format:g%h' ] ) lib_intermediates = [] foreach f: lib_sources name = f.underscorify(f) lib = static_library('igt-' + name, [ f, lib_version ], include_directories: inc, dependencies : lib_deps, c_args : [ '-DIGT_DATADIR="@0@"'.format(join_paths(prefix, datadir)), '-DIGT_SRCDIR="@0@"'.format(srcdir), '-DIGT_LOG_DOMAIN="@0@"'.format(f.split('.')[0]), ]) lib_intermediates += lib endforeach lib_igt_build = shared_library('igt', ['dummy.c'], link_whole: lib_intermediates, dependencies: lib_deps, install : true, soversion : '0', ) lib_igt = declare_dependency(link_with : lib_igt_build, include_directories : inc) igt_deps = [ lib_igt ] + lib_deps lin_igt_chipset_build = static_library('igt_chipset', ['intel_chipset.c', 'intel_device_info.c'], include_directories : inc) lib_igt_chipset = declare_dependency(link_with : lin_igt_chipset_build, include_directories : inc) lib_igt_perf_build = static_library('igt_perf', ['igt_perf.c'], include_directories : inc) lib_igt_perf = declare_dependency(link_with : lib_igt_perf_build, include_directories : inc) subdir('tests')