I think this is the same problem I reported to support a month ago:
Begin forwarded message:
From: Ryan Schmidt Subject: Re: ninja: error: dependency cycle: plist/headers Date: January 25, 2018 at 02:13:16 CST To: Michael Sheets
I've done some manual bisecting, and the problem starts with https://github.com/textmate/textmate/commit/a377b35bdebc63e62c64fb7ab778c2b0...
If I understand what's going on with the LINK line in those target files, with this commit, io now depends on OakFoundation, whereas OakFoundation always depended on io already, so now there's a dependency cycle.