Skip to content
  • Daniel Vetter's avatar
    meson: basic build system support · 9a7d8509
    Daniel Vetter authored
    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 <...
    9a7d8509