how to build one plugin in meson

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

how to build one plugin in meson

Leo.Fernando
hi, i'm modifying a particular plugin for debugging and want to build only
that plugin. how can i do that in meson?
meson builds whole project and not one plugin



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

Re: how to build one plugin in meson

Tim Müller
On Tue, 2019-02-26 at 04:19 -0600, Leo.Fernando wrote:

Hi,

> I'm modifying a particular plugin for debugging and want to build
> only that plugin. how can i do that in meson?
> meson builds whole project and not one plugin

You should be able to configure the project with something like:

  meson --auto-features=disabled -Dfoo=enabled

where "foo" is the plugin you want to build.

This will only work in 1.15/master, not 1.14 though.

Cheers
 Tim

--
Tim Müller, Centricular Ltd - http://www.centricular.com

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

Re: how to build one plugin in meson

Leo.Fernando
thanks for the answer

does not work for me. im building mpegtsdemux plugin and running this

meson --auto-features=disabled -Dmpegtsdemux=enabled builddir

ninja-build inside builddir is building 382 files which is not right.
mpegtsdemux does not have more then 10files



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

Re: how to build one plugin in meson

Mathieu Duponchelle
For what it's worth on my end (master, latest meson), this builds 78 objects, most of these
in gst-libs/gst

On 2/26/19 1:01 PM, Leo.Fernando wrote:
> meson --auto-features=disabled -Dmpegtsdemux=enabled builddir
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: how to build one plugin in meson

Tim Müller
In reply to this post by Leo.Fernando
On Tue, 2019-02-26 at 06:01 -0600, Leo.Fernando wrote:

Hi Leo,

> does not work for me. im building mpegtsdemux plugin and running this
>
> meson --auto-features=disabled -Dmpegtsdemux=enabled builddir
>
> ninja-build inside builddir is building 382 files which is not right.
> mpegtsdemux does not have more then 10files

Reason for that is that it will still build all the libs in the gst-
libs directory, for which we don't have options to disable them at the
moment. Also the mpegtsdemux plugin needs at least two libs from there
(codecparsers + mpegts lib).

Cheers
 Tim

--
Tim Müller, Centricular Ltd - http://www.centricular.com

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

Re: how to build one plugin in meson

Leo.Fernando
hi tim, thanks for answer

i tried with vpx plugin. it still builds same 382 objects. sounds a bit
strange. im also on git master of like last week

isn't it possible to build only modified file, say i modify only one c file
and to build only that file? that is some drawback of meson in my opinion
compared to autotool



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

Re: how to build one plugin in meson

Tim Müller
On Thu, 2019-02-28 at 00:36 -0600, Leo.Fernando wrote:

Hi Leo,

> I tried with vpx plugin. it still builds same 382 objects. sounds a
> bit strange. im also on git master of like last week

The vpx plugin in -good?

If I run meson --auto-features=disabled -Dvpx=enabled in -good it
builds 21 objects for me (that's because it builds some examples it
shouldn't build, after I fix that it builds 9 objects / 1 target).

> Isn't it possible to build only modified file, say i modify only one
> c file and to build only that file? that is some drawback of meson in
> my opinion compared to autotool

Once you've built everything, just re-building the things that have
changed when you modify a single .c file should be very quick (unlike
recursive make/autotools ninja doesn't have to spend 30 seconds
trawling through directories to find stuff that's changed).

Alternatively, you can also do e.g. this after you run meson:

 $ ninja -C build gst/mpegtsdemux/libgstmpegtsdemux.so

(tab completion should work here) which will build exactly what's
required for this target, which is 35 objects in my case.

Cheers
 Tim

--
Tim Müller, Centricular Ltd - http://www.centricular.com

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

Re: how to build one plugin in meson

Leo.Fernando
thankyou for your answer tim. very helpful

when i try to build gst-libav,  it says libavfilter not found

meson.build:18:0: ERROR:  Dependency "libavfilter" not found, tried
pkgconfig

libavfilter should install as a part of libav which is inside
gst-libs/ext/libav/. no?



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

Re: how to build one plugin in meson

Tim Müller
> when i try to build gst-libav,  it says libavfilter not found
>
> meson.build:18:0: ERROR:  Dependency "libavfilter" not found, tried
> pkgconfig
>
> libavfilter should install as a part of libav which is inside
> gst-libs/ext/libav/. no?

The meson build does not support using the ffmpeg snapshot contained in
the tarball. You need to build against an external ffmpeg version. Only
the autotools build supports the internal ffmpeg snapshot.

Cheers
 Tim

--
Tim Müller, Centricular Ltd - http://www.centricular.com

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

Re: how to build one plugin in meson

Leo.Fernando
i thank you very much tim for answering all my questions. thank you very much



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel