makefile: move ghc-options from the cabal file into the makefile. We shouldn't be hard-coding user preferences into the cabal file that everyone uses. Instead, GHC should support a variable like CFLAGS that lets users and developers specify what warnings and optimizations they would like to use. Instead, we have to fake it: I've standardized the Gentoo HCFLAGS variable within the makefile, so that a few warnings will be appended to the (exported) environment variable but otherwise no flags will be forced by the cabal file. This should work for me when I'm developing, because the warnings will be appended to the HCFLAGS="-O2" that I have set in my environment. It will work on Gentoo, because HCFLAGS are already passed to the cabal build system in Gentoo. It will work(ish) everywhere else, because nothing will get passed to the cabal build system, and that's okay.
Rename shelltest files because Cabal doesn't know how globs work. While trying to add my shelltest files to the release tarball, I am informed that the glob syntax within my cabal file is not the same fifty-year-old glob syntax that everyone else uses. This commit renames the test files to not contain more than one period, in order to make Cabal's globbing match them. You are all assholes. A heartfelt fuck-you for making me do this.
Sort output to fix random breakage in the test suite. The results that we get back from DNS are returned in an arbitrary order. Technically that's fine, because all we want to see is the set-difference between the actual/expected results. However, it breaks our test suite which needs to know what certain examples will output. This commit sorts the results, so that the output is a little bit more deterministic (subject to network issues and changes).
test: add a shelltestrunner test suite for the man page examples.
doc: use POSIX shell syntax in the man page examples. The shell examples given in the man page use the "haeredes <<< foo" syntax to feed the string "foo" into haeredes on stdin. That's a Bash-only shortcut for "echo foo | haeredes", however, and the latter works in all POSIX-compatible shells. So, this commit updates the documentation to use the more reliable syntax.