summaryrefslogtreecommitdiff
path: root/tools/meson.build
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2017-09-05 14:36:14 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2017-09-08 17:06:04 +0200
commit9a7d8509efe4ac509b082cbffa24e52a7697926c (patch)
treeee097782344880b41f23c0a1571fc28ae6e4e0ce /tools/meson.build
parentc3863e1998a5d46492b4ec91dd411e2d561e1472 (diff)
meson: basic build system support
Why? Because it's fast. Like really, really fast. Some data (from a snb laptop, so rather lower-powered): - Incremental build after $ touch lib/igt_core.c with meson: 0.6s It notices that the symbol list of the libigt.so hasn't changed and doesn't bother re-linking the almost 300 binaries we have. make -j 6 for the same scenario takes 44s. - Incremental build with nothing changed: make: 0.7s, meson: 0.2s This means stuff like --disable-git-hash is entirely pointless with meson, it's faster than a make ever can be (with 0.6s). - Reconfigure stage: ninja reconfigure 0.8s vs. ./configure 8.6s) - Running tests, after a full build: ninja test 6s vs. make check 24s - Full build (i.e. including ./autogen.sh respectively meson build), including tests, from a pristine git checkout. automake 2m49s vs. meson 44s. Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Eric Anholt <eric@anholt.net> Cc: Daniel Stone <daniel@fooishbar.org> Acked-by: Jani Nikula <jani.nikula@intel.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Daniel Stone <daniels@collabora.com> Acked-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Diffstat (limited to 'tools/meson.build')
-rw-r--r--tools/meson.build59
1 files changed, 59 insertions, 0 deletions
diff --git a/tools/meson.build b/tools/meson.build
new file mode 100644
index 00000000..d2d4410e
--- /dev/null
+++ b/tools/meson.build
@@ -0,0 +1,59 @@
+tools_progs_noisnt = [
+ 'hsw_compute_wrpll',
+ 'skl_compute_wrpll',
+ 'skl_ddb_allocation',
+]
+
+foreach prog : tools_progs_noisnt
+ executable(prog, prog + '.c',
+ dependencies : igt_deps,
+ install : false)
+endforeach
+
+tools_progs = [
+ # FIXME we already have a libtestcase with this name as target
+ #'igt_stats',
+ 'intel_audio_dump',
+ 'intel_backlight',
+ 'intel_bios_dumper',
+ 'intel_display_crc',
+ 'intel_display_poller',
+ 'intel_forcewaked',
+ 'intel_gpu_frequency',
+ 'intel_firmware_decode',
+ 'intel_gpu_time',
+ 'intel_gpu_top',
+ 'intel_gtt',
+ 'intel_guc_logger',
+ 'intel_infoframes',
+ 'intel_lid',
+ 'intel_opregion_decode',
+ 'intel_panel_fitter',
+ 'intel_reg_checker',
+ 'intel_residency',
+ 'intel_stepping',
+ 'intel_vbt_decode',
+ 'intel_watermark',
+ 'intel_gem_info',
+ 'intel_gvtg_test',
+]
+tool_deps = igt_deps
+
+if libdrm_intel.found()
+ tools_progs += [
+ 'intel_dump_decode',
+ 'intel_error_decode',
+ 'intel_framebuffer_dump',
+ 'intel_perf_counters',
+ ]
+ tool_deps += zlib
+endif
+
+foreach prog : tools_progs
+ executable(prog, prog + '.c',
+ dependencies : tool_deps)
+endforeach
+
+shared_library('intel_aubdump', 'aubdump.c', dependencies : [ igt_deps, dlsym ])
+
+subdir('null_state_gen')