So, I made libpal and moved the liblfds and test porting layers into it. The liblfds porting layer consists of header files only, so libpal does not need to be compiled for liblfds – but it does need to *be there* and that was *odd*.
It meant liblfds now dependend upon some header files elsewhere, so you had to make sure to copy not just the library other but this dependency.
This is not going to be expected.
I think in fact the problem was that I added libcommmon and libbenchmark. I like having them, they make it easier to code, but then I need to document well there’s test, and then there’s libcommon, and you need to build this and this for that and so on…
So what I’m going to do is make liblfds, test and benchmark independent (well, test and benchmark both require liblfds of course 🙂
They will have their own fully independent porting layers, and I’ve got rid of libcommon/libbenchmark. It will mean duplicating some abstraction and utility code between test and benchmark, but it’s worth it for the simplification of documentation.