Hi Simon, > > 'cmp' and 'diff' are among the programs that a 'configure' script and a > > Makefile > > can assume to be present, see the GNU Coding Standards > > <https://www.gnu.org/prep/standards/html_node/Utilities-in-Makefiles.html>. > > Hi Bruno. Thanks for the pointer! I believe this resolves my concern. > > It would be nice to reduce that set of tools.
Well, both 'cmp' and 'diff' are part of POSIX: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/cmp.html https://pubs.opengroup.org/onlinepubs/9699919799/utilities/diff.html They have been listed at this place in the GNU Coding Standards since at least 2004. But, of course, you are free to write to https://lists.gnu.org/mailman/listinfo/bug-standards > Is there any automated purpose for diff other than a fancy cmp? Makefile rules are written both for automated execution and for the developers of a package. While for the automated execution of a unit test, "cmp expected.out actual.out" is sufficient, for a developer, "diff expected.out actual.out" is definitely nicer. Especially if the log of the unit test is created on a machine on which the developer has no direct access (such as a contributor's machine or a build farm), "diff expected.out actual.out" has information that is essential for debugging. Bruno