It's become apparent to me since before the development reset that writing a C library and a kernel simultaneously can be a bit of a pain. I've decided that it might be better to integrate a third party libc, but I'm not sure which:
Newlib - is partially GPL'd, and while it is just parts of the build system, it still probably causes compatibility issues with Spinel's MIT license. It is not an option
Musl - MIT license, so definitely compatible with Spinel's license. However, it requires either Linux's syscalls or a compatibility layer. This might be a good option.
PDCLib - Public domain is pretty cool! Doesn't support locales;
which means that's something I'd have to implement myself (or perhaps that someone else would have to implement).
FreeBSD's libc - This is licensed under the BSD license (unsurprisingly), which is compatible with Spinel's MIT license. Being built as part of FreeBSD, it is inherently tied into the operating system, whether that be via syscalls or via direct kernel integration. Still, this might be an option worth investigation.
Write my own - This will be the most permissive option and is intrinsically compatible with Spinel... but I'd have to write it. Honestly, I'm starting to feel like this might be a possibility.
Now that I think about it, writing my own libc is starting to sound fun again, so I might just go with that. Leaving this open for a bit for any last minute comments
It's become apparent to me since before the development reset that writing a C library and a kernel simultaneously can be a bit of a pain. I've decided that it might be better to integrate a third party libc, but I'm not sure which:
Newlib- is partially GPL'd, and while it is just parts of the build system, it still probably causes compatibility issues with Spinel's MIT license. It is not an optionIf anyone has any thoughts, please let me know!