Closed tiennou closed 4 years ago
Rebased. I've added a comment to describe how the test helper is used. I'm planning to work on "fixing" the parallel processing, and implement "--only-missing" on top of that.
(BTW, I have rebased your cmn/docker branch, and extended it to build the actual gem, instead of using the rubygem version).
This keeps spewing /usr/include/time.h:29:10: fatal error: 'stddef.h' file not found
. What's that about? That seems bad, although the tests do end up passing.
My hunch is that the ffi/clang default configuration isn't actually platform-specific ? I have no idea, but macOS gives me the same error about time.h
, thus I've added DOCURIUM_CFLAGS
and have to -isysroot
stuff, and it only started about a year ago ?
https://stackoverflow.com/questions/20587228/clang-error-stddef-file-not-found suggests installing the clang
compiler solves the issue.
That did not solve it.. I wonder if this is actually just about reporting and we've never really been able to find stddef.h
and this is why we've had issues with size_t
.
It is, actually, and the #ifdef DOCURIUM
workarounds can be removed after those fixes. IIRC I uncovered that after adding the logging and fixing the problem with not having the correct "include root" (a.k.a. the missing sys
header problems). I don't really understand why it matters, but it seems that ffi/clang also needs weird things done on the environment on Darwin, and I couldn't find a way to use that to fix it, so I went with DOCURIUM_CFLAGS
…
Rebased, I've removed DOCURIUM_CFLAGS
since the platform detection works transparently now. I have green runs from all "extracted" PRs (though one failed CI), but #26 still has a bit too much changes going on (though it usually fails because of the switch to "in-memory" parsing at the beginning of the patchset).
This updates how we interface with clang so we get better reporting, limited to one error (which is usually a bad sign), the possibility to pass custom compile flags (I need to point clang 7.0 to my SDKs headers), as well as some slight filesystem optimizations.