Ok, that makes sense!
Seriously though, Paul, thank you for your detailed response - that makes perfect sense now! I remember when you added the library message, and that was indeed an much needed improvement... no more scratching your head going WTF when an error keeps coming up when you know you changed that code... only to later realise the IDE had been including a different library the whole time! And yes, the build system is very much becoming a bigger than ben hurr quagmire... so I can understand that making changes that might improve things further adds more opportunities for things to go wrong!
So, a further question, with a workaround in mind (other than patching the sketchbook version of the library, thus making it non-standard, which then raises the question of 'if I patch the library files in the sketchbook, what will stop the library manager from overwriting the changes when the library updates?'). In the scenario here, when compiling for the Oak, and trying to use an Oak customised library, is there a better way to explicitly tell the IDE to use that library - even if I need to give the full path - maybe with a macro that points to the "...\digistump\hardware\oak" folder so it isn't so path dependent? I don't seem to be able to able to specify libraries by absolute path anymore... IDE still automatically grabs the wrong library.
I take it I only have two options at the moment -
a) patch the adafruit library with conditional compilation code for the Oak (doable, and I would need to submit a patch so it doesn't come back to bite me - dependent on how idiot-proof/safe library updating is); or
b) keep moving the adafruit library out of the libraries folder whenever working on the Oak (or have a separate sketchbook folder with Oak-specific code/libraries) - doably, just annoying
c) something else?
Cheers,
Peter