Compiling with -ansi makes a lot of important POSIX (standard UNIX) facilities
unavailable. This was masked until recently by an incorrect conditional in the
CMakeLists.txt file, that looked like it would use -ansi on anything other than
android, but it didn't actually use it anywhere. As soon as that was fixed, and
-ansi started being used, build broke on linux.
The intention of the -ansi flag was to help catch portability-reducing mistakes
in the code, so instead of removing it completely I used -pedantic in its place,
which produces a lot of warnings for not strictly ISO/ANSI compliant code that
relies on compiler-specific features.