The master branch might include staging code that is subject to change,
e.g. code including VLAs, which CompCert does not support and thus would
fail on, which will be changed to not use VLAs once merged into the
stable branch.
See https://github.com/jedisct1/libsodium/pull/1188#issuecomment-2221660989
This ensures that we're able to generate a guaranteed semantically
correct binary with all of toxcore and libsodium. We don't currently
compile libvpx and opus with compcert. Probably not worth the effort.
It doesn't work at all, because we're missing something in the net code
to do with endian conversions. I haven't investigated, yet, but at least
now we have a failing test that can be investigated.
Also moved to cmake 3.5 at minimum. CMake will stop supporting lower
versions than that, soon.
Also moved to C11 from C99 to get `static_assert`.
Also made a network ERROR into a WARNING. It triggers on FreeBSD.