Re: gstreamer: Add support for Meson as alternative/parallel build system

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: gstreamer: Add support for Meson as alternative/parallel build system

Stefan Sauer
On 08/20/2016 11:59 AM, Tim MXXller wrote:
Module: gstreamer
Branch: master
Commit: b2f9808722a0254acba17ef98a612a2792184e12
URL:    http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=b2f9808722a0254acba17ef98a612a2792184e12

Author: Nirbheek Chauhan [hidden email]
Date:   Fri Aug 12 20:43:17 2016 +0530

Add support for Meson as alternative/parallel build system

https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller [hidden email]
Mathieu Duponchelle [hidden email]
Jussi Pakkanen [hidden email] (original port)

Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
FYI: the autotools based build can be made a lot faster by switching to non recursive make. Especially on the plugin modules the gains are large. If we could make up our mind on this subject, it would be a matter for a few devs of dedicating one evening and switching.

Stefan
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded

... and many more. For more details see:

http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html

Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.

---

 .gitignore                               |   1 +
 config.h.meson                           | 441 +++++++++++++++++++++++++++++++
 docs/gst/meson.build                     |  12 +
 docs/libs/meson.build                    |  12 +
 docs/meson.build                         |  12 +
 gst/build_mkenum.py                      |  54 ++++
 gst/meson.build                          | 252 ++++++++++++++++++
 gst/parse/gen_grammar.py.in              |  21 ++
 gst/parse/gen_lex.py.in                  |  27 ++
 gst/parse/meson.build                    |  61 +++++
 gst/printf/meson.build                   |  24 ++
 libs/gst/base/meson.build                |  96 +++++++
 libs/gst/check/libcheck/meson.build      |  41 +++
 libs/gst/check/meson.build               |  47 ++++
 libs/gst/controller/meson.build          |  63 +++++
 libs/gst/helpers/meson.build             |  12 +
 libs/gst/meson.build                     |   8 +
 libs/gst/net/meson.build                 |  65 +++++
 libs/meson.build                         |   1 +
 meson.build                              | 277 +++++++++++++++++++
 meson_options.txt                        |   5 +
 pkgconfig/meson.build                    |  26 ++
 plugins/elements/meson.build             |  49 ++++
 plugins/meson.build                      |   3 +
 po/meson.build                           |  45 ++++
 tests/benchmarks/meson.build             |  20 ++
 tests/check/meson.build                  | 159 +++++++++++
 tests/examples/adapter/meson.build       |   7 +
 tests/examples/controller/meson.build    |  23 ++
 tests/examples/helloworld/meson.build    |   5 +
 tests/examples/memory/meson.build        |   5 +
 tests/examples/meson.build               |  10 +
 tests/examples/netclock/meson.build      |  11 +
 tests/examples/ptp/meson.build           |   5 +
 tests/examples/stepping/meson.build      |   5 +
 tests/examples/streamiddemux/meson.build |   5 +
 tests/examples/streams/meson.build       |  15 ++
 tests/meson.build                        |   9 +
 tests/misc/meson.build                   |   2 +
 tools/meson.build                        |  23 ++
 40 files changed, 1959 insertions(+)

Diff:   http://cgit.freedesktop.org/gstreamer/gstreamer/diff/?id=b2f9808722a0254acba17ef98a612a2792184e12


_______________________________________________
gstreamer-commits mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-commits



_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: gstreamer: Add support for Meson as alternative/parallel build system

Tim-Philipp Müller-2
On Sun, 2016-08-21 at 10:53 +0200, Stefan Sauer wrote:

Hi Stefan,

>  FYI: the autotools based build can be made a lot faster by switching
> to non recursive make. Especially on the plugin modules the gains are
> large. If we could make up our mind on this subject, it would be a
> matter for a few devs of dedicating one evening and switching.

I'm aware of that, but the faster build on Linux is really just a
pleasant side-effect in this case, it was not the primary goal here.
And I suspect ninja will still be faster than non-recursive make. 

I don't think moving to non-recursive make is worth the hassle though,
it's just applying more layers of lipstick.

In any case, I'll write a mail about this all soon, let's discuss it
more then :)

Cheers
 -Tim

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel