diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2017-09-05 14:36:14 +0200 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2017-09-08 17:06:04 +0200 |
commit | 9a7d8509efe4ac509b082cbffa24e52a7697926c (patch) | |
tree | ee097782344880b41f23c0a1571fc28ae6e4e0ce /tools/meson.build | |
parent | c3863e1998a5d46492b4ec91dd411e2d561e1472 (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.build | 59 |
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') |