Make things R17 compatible without breaking old versions

It should be noted make eunit does not pass, but it doesn't pass for master either.