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: Tue, 18 May 2021 09:23:58 +0200	[thread overview]
Message-ID: <20210518092358.05c7a189@coco.lan> (raw)
In-Reply-To: <92b5c1bf-f4cf-5d5e-7c16-57d4a3446f67@ideasonboard.com>

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
intentionally implemented configure.ac is to auto-detect as much as possible
what tools are supported and to build the maximum number of features as
possible.

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

a bare minimum setting would print most (if not all) above features
as "no".

See, we never treated internationalization or documentation as
features. So, it won't display anything about that. It will just
build docs and .po files by default, if the needed tools and
libraries are present at the building system.

Yet, autotools have some options that could disable building them.
./configure --help is your friend[1], if you want a bare minimum
build.

[1] You can see most of the options that can be enabled/disabled with:

	./configure --help|grep -E '(enable|disable|with)'

    The command would be similar to: 

	./configure --disable-nls --disable-libdvbv5 --disable-dyn-libv4l --disable-v4l-utils --disable-v4l2-compliance-libv4l --disable-v4l2-ctl-libv4l --disable-qv4l2 --disable-qvidcap --disable-bpf --without-jpeg --without-libudev --disable-gconv --disable-doxygen-doc --disable-doxygen-dot --disable-doxygen-html --disable-doxygen-ps --disable-doxygen-pdf

	here, after running the above, building with autoconf was very fast.

		$ make clean
		$ time CCACHE_DISABLE=true make -j8
		real	0m4,594s
		user	0m14,050s
		sys	0m1,613s

> 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...

> >> du -sh build-autoconf build-meson/
> >> 129M	build-autoconf
> >> 69M	build-meson/  

as otherwise the difference won't be so huge.

See, you're comparing very different things, as autotools is clearly
doing a lot more than meson. If they were building the same thing, I 
would expect a difference at the order of tens of KB at most, due to
temporary/cache files, build logs and, in the case of autotools, m4
files. Neither of those are huge.

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.


Thanks,
Mauro

  reply	other threads:[~2021-05-18  7:24 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 [this message]
2021-05-18 10:18         ` Kieran Bingham
2021-05-19 11:07           ` Mauro Carvalho Chehab
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=20210518092358.05c7a189@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