summaryrefslogtreecommitdiff
path: root/test/symbols-compat.pl
AgeCommit message (Collapse)AuthorFilesLines
2021-02-20Rewrite shell-based test scripts in Perl.Zack Weinberg1-0/+137
The changed tests are symbols-compat, symbols-renames, and symbols-static. The major benefits are that temporary files are no longer required, and it’s easier to parse nm output. This eliminates the last places where we used awk in our own code (it’s still used in the code generated by the autotools) so we can remove AC_PROG_AWK from configure.ac. symbols-compat is taught to use readelf as well as nm, because Ubuntu Trusty shipped binutils 2.24 (released 2013), and the ‘nm’ in this version doesn’t have the ‘--with-symbol-versions’ option (added circa 2016). Libtool provides an Autoconf macro that will just _tell_ us whether global symbols defined in C are prefixed with an underscore; we don’t need to guess based on $host_os. Instead of not running test/symbols-renames.pl at all when cpp -dD is not available, run it and have it exit 77, so it counts as a skip in the statistics. Also eliminates an AM_CONDITIONAL.