Re: [v4l-utils v5 0/5] Add support for meson building

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em Mon, 17 May 2021 23:13:45 +0100
Kieran Bingham <kieran.bingham@xxxxxxxxxxxxxxxx> 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



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux