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