Several key targets unconditionally depend on `OSUtil.osutil` target, causing errors when it is unnecessarily linked, or not available. This PR fine-tuning the dependency on `OSUtil.osutil` to cleanly decouple those targets, and gracefully skip targets that need `osutil`. Main changes include: * Make `LIBC_COPT_USE_C_ASSERT` to a cmake config, allowing `LIBC_ASSERT` to use system's `assert` and not depending on `osutil`. * Adjust cmake dependency for the following targets: - libc.src.__support.libc_assert - libc.src.__support.time.* - libc.src.time.linux.* - libc.src.unistd.* - LibcTest * Give an option for `TestLogger` to use system's `fprintf` instead of `osutil`.
LLVM libc ========= This directory and its subdirectories contain source code for llvm-libc, a retargetable implementation of the C standard library. LLVM is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.