public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: Kieran Bingham <kieran.bingham@ideasonboard.com>
Cc: Ariel D'Alessandro <ariel.dalessandro@collabora.com>,
	linux-media@vger.kernel.org, hverkuil@xs4all.nl, sean@mess.org,
	p.zabel@pengutronix.de, laurent.pinchart@ideasonboard.com,
	ezequiel@collabora.com, nicolas@ndufresne.ca,
	gjasny@googlemail.com, xavier.claessens@collabora.com,
	nicolas.dufresne@collabora.com, user.vdr@gmail.com,
	sakari.ailus@iki.fi, rosenp@gmail.com
Subject: Re: [v4l-utils v5 0/5] Add support for meson building
Date: Wed, 19 May 2021 13:07:11 +0200	[thread overview]
Message-ID: <20210519130711.75fc0f17@coco.lan> (raw)
In-Reply-To: <78322e18-2086-1eda-3b39-bbd71160be27@ideasonboard.com>

Em Tue, 18 May 2021 11:18:02 +0100
Kieran Bingham <kieran.bingham@ideasonboard.com> escreveu:

> Hi Mauro,
> 
> On 18/05/2021 08:23, Mauro Carvalho Chehab wrote:
> > Em Mon, 17 May 2021 23:13:45 +0100
> > Kieran Bingham <kieran.bingham@ideasonboard.com> escreveu:
> >   
> >> Ah, yes I should have been clearer there - but they don't do 'anything'
> >> except the bare minimum for both:
> >>
> >> ----------
> >> kbingham@Q:/opt/projects/media/v4l-utils$ cat make-autoconf.sh
> >> #!/bin/sh
> >>
> >> export CCACHE_DISABLE=true
> >>
> >> rm -rf build-autoconf
> >> mkdir -p build-autoconf
> >> cd build-autoconf
> >> ../configure  
> > 
> > This is not the bare minimum. It is just the opposite: the way we  
> 
> Ok, I'm sorry - I need to be clearer about my being clearer.
> 
> My *scripts* don't do anything except the bare minimum to build.

Ah, ok.

> > See, when one calls:
> > 
> > 	$ ./configure
> > 
> > It will display at the end the optional features that were enabled
> > that we found important enough to report:
> > 
> > compile time options summary
> > ============================
> > 
> >     Host OS                    : linux-gnu
> >     X11                        : yes
> >     GL                         : yes
> >     glu                        : yes
> >     libelf		       : yes
> >     libjpeg                    : yes
> >     libudev                    : yes
> >     pthread                    : yes
> >     QT version                 : v5.4 with QtGL
> >     ALSA support               : yes
> >     SDL support		       : yes
> > 
> >     build dynamic libs         : yes
> >     build static libs          : yes
> > 
> >     gconv                      : no
> > 
> >     dynamic libv4l             : yes
> >     v4l_plugins                : yes
> >     v4l_wrappers               : yes
> >     libdvbv5                   : yes
> >     dvbv5-daemon               : yes
> >     v4lutils                   : yes
> >     qv4l2                      : yes
> >     qvidcap                    : yes
> >     v4l2-ctl uses libv4l       : yes
> >     v4l2-ctl-32                : no
> >     v4l2-compliance            : yes
> >     v4l2-compliance uses libv4l: yes
> >     v4l2-compliance-32         : no
> >     BPF IR Decoders:           : no
> > 

> It would likely be useful to get a summary() of what is and isn't built
> from the meson to produce a comparable output summary.

Agreed. The best is to summarize at the end what optional features
were disabled.
 
> >> meson build-meson
> >> ninja -C build-meson  
> > 
> > I would be expecting that the above would do the same, but
> > it sounds it is lacking a lot of things...  
> 
> meson build-meson; ninja -C build-meson should be building a maximal
> configuration. (if it isn't, that's something to look at)

Yes. If meson is not building the same stuff at the same system,
there's a bug somewhere, as all the build dependencies should be
the same ;-)

> >>>> du -sh build-autoconf build-meson/
> >>>> 129M	build-autoconf
> >>>> 69M	build-meson/    
> 
> 
> However I do not think that difference alone can account for a 60MB
> difference.

It is probably some cpp files that weren't built. Those usually
produce larger execs and takes a lot more time to build than c
files.

> Re-reading my mail from last night - it looks like I was being overly
> enthusiastic on the speed differences. I'm sorry - it was late, and I
> was giddy watching it fly by. (The things people do for fun hey)


Yes, that was the impression I had. FYI, I don't care at all for
the building speed. Machine time is a lot cheaper than developers
and maintainers time ;-)

We never did (nor I think it makes sense to do) any changes at the
autoconf to make it run faster (there are some things that could probably
be done there to speed up some things).

So, what really concerns the amount of work to maintain, like how much
time was spent to fix building bugs not related to newly added code,
and how much efforts it takes to maintain the CI instances at
builder.linuxtv.org.

Right now, at builder, we have 1 project there hosted with meson,
1 project with cmake and the other non-kernel ones with autotools.

I never had to do anything at the server due to cmake/autotools build
issues on the project(s) that use them, but the only one that uses meson
requires constant interventions from my side to fix the build, as it
has been requiring from time to time  upgrades at the building
tool(*). So, it is a lot more expensive to maintain, as it consumes
*my* time ;-)

(*) Our server use the latest Debian version. Breakages there due to
    the lack of support of the cmake/autotools/meson version that
    it is there basically means that people using LTS distros won't
    be able to (easily) build the tool, as the distro-provided toolset
    is not enough.
    It is a bad idea to require that toolchain versions that aren't
    already provided by the major distros that aren't at EOL.

> > Assuming that both builds used the same compilers, a difference at 
> > the order of (tens of) MB can only be explained if Meson build
> > was very incomplete, and/or the output files don't carry the same
> > debug info.  
> 
> Indeed - compiler debug info level changes could be another thing to
> check. That could account for a larger build output difference, but
> there's certainly a large discrepancy to solve.

Yes. In order to do any sort of comparison, both should use exactly
the same flags (and compilers) when generating debug data. So, the
build size should be (about) same (**).

(**) It will never be the same, as each build toolchain produces
     different cache and temporary files and may eventually write a
     log file to help debugging issues (like autoconf does).

Thanks,
Mauro

  reply	other threads:[~2021-05-19 11:07 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-12 18:49 [v4l-utils v5 0/5] Add support for meson building Ariel D'Alessandro
2021-05-12 18:49 ` [v4l-utils v5 1/5] Move README to markdown syntax Ariel D'Alessandro
2021-05-12 18:49 ` [v4l-utils v5 2/5] Add support for meson building Ariel D'Alessandro
2021-05-12 18:49 ` [v4l-utils v5 3/5] Copy Doxygen configuration file to doc/ Ariel D'Alessandro
2021-05-12 18:49 ` [v4l-utils v5 4/5] meson: Add support for doxygen documentation Ariel D'Alessandro
2021-05-12 18:49 ` [v4l-utils v5 5/5] Makefile.am: Distribute meson related files Ariel D'Alessandro
2021-05-13  8:56 ` [v4l-utils v5 0/5] Add support for meson building Kieran Bingham
2021-05-17 20:55   ` Ariel D'Alessandro
2021-05-17 22:13     ` Kieran Bingham
2021-05-18  7:23       ` Mauro Carvalho Chehab
2021-05-18 10:18         ` Kieran Bingham
2021-05-19 11:07           ` Mauro Carvalho Chehab [this message]
2021-06-16 13:36           ` Ariel D'Alessandro
2021-06-16 14:26       ` Ariel D'Alessandro
2021-06-16 14:59         ` Mauro Carvalho Chehab
2021-06-16 15:06           ` Xavier Claessens
2021-06-16 15:10           ` Nicolas Dufresne
2021-06-16 15:11           ` Laurent Pinchart
2021-10-04 14:24 ` Laurent Pinchart
2021-12-15 21:05   ` Laurent Pinchart
2021-11-18  9:03 ` Tomi Valkeinen
2021-11-18 10:09   ` Tomi Valkeinen
2021-12-15 21:07     ` Laurent Pinchart
2021-11-18 10:39   ` Laurent Pinchart
2021-12-15 21:10 ` Laurent Pinchart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210519130711.75fc0f17@coco.lan \
    --to=mchehab+huawei@kernel.org \
    --cc=ariel.dalessandro@collabora.com \
    --cc=ezequiel@collabora.com \
    --cc=gjasny@googlemail.com \
    --cc=hverkuil@xs4all.nl \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=nicolas.dufresne@collabora.com \
    --cc=nicolas@ndufresne.ca \
    --cc=p.zabel@pengutronix.de \
    --cc=rosenp@gmail.com \
    --cc=sakari.ailus@iki.fi \
    --cc=sean@mess.org \
    --cc=user.vdr@gmail.com \
    --cc=xavier.claessens@collabora.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox