Is it feasible to make --enable-use-sockets a runtime configuration setting?
You can compile raw socket behaviour out, and it may sometimes be advisable for performance and simplicity reasons, but administrators should understand the limitation that the DHCP server will no longer be able to send unicast replies to clients on the same broadcast domain as the DHCP server.
While enabling this flag by default is certainly the Wrong Thing (TM) I don't believe there's a fundamental reason why this behavior should be set at compile time as opposed to at startup. Having a configuration knob for it simplifies distribution in "interesting" setups where both behaviors are needed.
Unpopular opinion: Having fewer
IFDEF guards is also a win.