builds for MacOS
reproducible builds for MacOS. I've made so it's possible to build only some targets if one want to build only for linux (or only for windows...).
Cross compiling to MacOS is based on this post.
It requires compiling a patched clang, which takes some time (about as long as compiling Arti for Linux+Windows), so I tried to cache the result.
I used the same source as in the post above for the sdk. It's possible to get a newer sdk here https://github.com/phracker/MacOSX-SDKs/releases.
I'm not sure what newer sdk changes, probably new features we don't use. I don't know if/how it affects compatibility with older MacOS version.
I tried the resulting binary in a virtual machine, it had random issues with AbstractCircMgr<B, R>::expire_circs
panicking with "trying to
subtract with overflow" at first, however I don't think this is related to this MR. I had this same error the first few times I ran Arti on Linux (maybe related to not having cache?)