In the new PseudoTerminal code is a compile switch USE_GETPT. This uses the getpt/grantpt family for Unix98 pts. This simplifies the pts code a lot and drops the requirement for root priveledges. For utmp there are still some additional rights needed. I will clean the code a bit for and probably add an openpty for BSD too.
This and the built-in font leads to the subject: How to manage configuration options? Entries in the Makefile are one solution,
a config.hpp file another.