Hi, On 12/05/2021 21:49, Ariel D'Alessandro wrote:
Hi all, Another attempt to support meson build, addressing comments/fixes from reviewers. This patchset was developed on top of v4l-utils current master branch: commit f0c7e3d71eaf4182bae7eb3ee0e43b4eeb047ea9 Author: Hans Verkuil <hverkuil-cisco@xxxxxxxxx> v4l2-ctl: add '--set-edid type=list' support You can find the patchset pushed to the following branch: https://gitlab.collabora.com/adalessandro/v4l-utils/-/tree/v4l-utils-meson-v5 Feedback appreciated as always :-)
I was testing this (well, I'm using it, as I can't get the autoconf work with cross-compilation..), and I see this problem if gconv is enabled when cross-compiling for arm (buildroot system): [1/2] Linking target contrib/gconv/EN300-468-TAB00.so FAILED: contrib/gconv/EN300-468-TAB00.so /home/tomba/work/buildroot/output32/host/bin/arm-buildroot-linux-gnueabihf-gcc -o contrib/gconv/EN300-468-TAB00.so contrib/gconv/EN300-468-TAB00.so.p/en300-468-tab00.c.o -Wl,--as-needed -Wl,--allow-shlib-undefined -shared -fPIC -Wl,-rpath,/usr/lib/x86_64-linux-gnu/gconv -Wl,-rpath-link,/usr/lib/x86_64-linux-gnu/gconv -Wl,--start-group /usr/lib/x86_64-linux-gnu/gconv/libJIS.so /usr/lib/x86_64-linux-gnu/gconv/libJISX0213.so -Wl,--end-group /usr/lib/x86_64-linux-gnu/gconv/libJIS.so: file not recognized: file format not recognized collect2: error: ld returned 1 exit status [2/2] Linking target contrib/gconv/ARIB-STD-B24.so FAILED: contrib/gconv/ARIB-STD-B24.so /home/tomba/work/buildroot/output32/host/bin/arm-buildroot-linux-gnueabihf-gcc -o contrib/gconv/ARIB-STD-B24.so contrib/gconv/ARIB-STD-B24.so.p/arib-std-b24.c.o -Wl,--as-needed -Wl,--allow-shlib-undefined -shared -fPIC -Wl,-rpath,/usr/lib/x86_64-linux-gnu/gconv -Wl,-rpath-link,/usr/lib/x86_64-linux-gnu/gconv -Wl,--start-group /usr/lib/x86_64-linux-gnu/gconv/libJIS.so /usr/lib/x86_64-linux-gnu/gconv/libJISX0213.so -Wl,--end-group /usr/lib/x86_64-linux-gnu/gconv/libJIS.so: file not recognized: file format not recognized Also, would this be better, to be a bit more explicit: - '-I.', # Needed for config.h + '-I' + meson.global_build_root(), # Needed for config.h I would do the same to other ".." paths too, but maybe that's just a personal preference: -Icontrib/test/v4l2gl.p -Icontrib/test -I../contrib/test -I../lib/include -I../include -I. I also wonder what the "-Icontrib/test" is for. I also see a problem when cross-compiling where a wrong config.h is included. When compiling with buildroot env, valgrind include dir is in the include paths. And valgrind has a "config.h" there... It would be safer to have the "-I." common flag before all the rest of the parameters, instead of being after all the others, but I didn't immediately find out how to do that with meson. Tomi