Waf --lcov-report is broken
This is a migration of Bugzilla issue 2799.
https://www.nsnam.org/bugzilla/show_bug.cgi?id=2799
The short history of this is that many years ago, gcov and lcov support were added to Waf, but at the time, there was a gcc bug that led to us introducing a customized lcov implementation in the utils/lcov directory (based on lcov-1.9).
Over time, the gcc bug (versions < gcc-4.5) has become irrelevant, and gcov output is no longer compatible with lcov-1.9.
The solution is to remove the custom lcov in utils/ directory and instead start to use system-provided lcov.
Another issue is that the documentation string for using lcov-report is broken (it should be invoked after program run time, not at build time).
Finally, when using lcov-report multiple times on different program runs, one must clear the counters before running the (new or updated) program. We did not build in support for zeroing the counters; instead, users are instructed to do this from outside of Waf. For consistency, I propose that we add a new --lcov-zerocounters option in Waf.