Document some more details about building, particularly with cmake and meson.
|Reported by:||Owned by:|
With traditional packages, we have assumed that by the time people come to BLFS they know something about CFLAGS and CXXFLAGS.
With cmake and ninja things are slightly different. The effect of the cmake build variants is not widely documented, and until now we have just used the default on meson, which currently is 'debugrelease' and leaves runtime assertions (if any - they do not seem to be common) enabled : that is what triggered this, mesa can be very very slow when loading levels for games if the assertions are built.
In some of our cmake recipes we do specify Release builds, but not for all of them and I think we need to understand the practical effects, and also whether forcing CFLAGS and CXXFLAGS can override these defaults (I have so far established that it does in meson).
Removing the assertions might affect testsuites.
Keeping the default flags of '-O2 -g' may not be very helpful if trying to debug a program where the compiler has optimized away or inlined or reordered certain parts of the program.
Also, in the old days 'make' almost always showed what commands it was running. These days, many CMMI programs just report 'CC something, LD something' and ninja by default only shows the target number and the total, and what the target is. Telling people how to see the commands will help when things go wrong.