Em Tue, 21 Jan 2020 15:51:49 +0200 Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> escreveu: > > I added a clean step, just to be sure, e. g. the current build script is: > > > > ninja -C build clean > > meson build -Dandroid=true > > ninja -C build > > The recommended steps are > > meson -Dandroid=true build > ninja -C build clean > ninja -C build > > This will ensure the build directory is created if it doesn't exist > before trying to run ninja in it. However, the meson step will will be a > no-op in case the directory exists. If you want to change options for an > existing build directory, you have to run > > meson --reconfigure -Dandroid=true build I tried it. Didn't work: it keeps preserving c++11 instead of using c++17. > > This will fail if the build directory doesn't exist. The following > script should work in all cases. > > options="-Dandroid=true" > > if [[ -d build ]] ; then > meson --reconfigure $options build > else > meson $options build > fi > > ninja -C build clean > ninja -C build > > > But it still produces errors when trying to build. > > Clean is a good idea, but won't be enough when core configuration > options of the project change I'm afraid :-( We need to wipe out the > build directory completely, or run > > meson configure -Dcpp_std=c++14 build I prefer not doing that. As you're saying below, if the build changes default to some later version, build will break again. > > However, the only configuration option that requires such an operation > to prevent breakages is cpp_std, and we don't envision switching to > C++17 very soon. Even if we did, that would be a one time change, as > there's no other published C++ version after that :-) > > Could you handle this manually to fix the build ? No further action > should be needed after that. > > While at it, could you also set -Dv4l2=true to compile-test the V4L2 > compatibility layer ? After doing a 'mason setup --wipe', v4l2=true is automatically set. Anyway, I added an option that will display the configuration. This way, someone can check that all options that should be enabled are there. Cheers, Mauro