diff --git a/libc/src/stdio/scanf_core/CMakeLists.txt b/libc/src/stdio/scanf_core/CMakeLists.txt index ce639fe65a106..e8125ff465020 100644 --- a/libc/src/stdio/scanf_core/CMakeLists.txt +++ b/libc/src/stdio/scanf_core/CMakeLists.txt @@ -54,6 +54,12 @@ add_header_library( libc.src.__support.CPP.string_view ) +if(NOT(TARGET libc.src.__support.File.file) AND LLVM_LIBC_FULL_BUILD) + # Not all platforms have a file implementation. If file is unvailable, and a + # full build is requested, then we must skip all file based scanf sections. + return() +endif() + add_object_library( scanf_main SRCS diff --git a/libc/test/src/stdio/scanf_core/CMakeLists.txt b/libc/test/src/stdio/scanf_core/CMakeLists.txt index 9cdc6547821ee..9d05c7d4b89d1 100644 --- a/libc/test/src/stdio/scanf_core/CMakeLists.txt +++ b/libc/test/src/stdio/scanf_core/CMakeLists.txt @@ -18,6 +18,12 @@ add_libc_unittest( libc.src.__support.arg_list ) +if(NOT(TARGET libc.src.__support.File.file) AND LLVM_LIBC_FULL_BUILD) + # Not all platforms have a file implementation. If file is unvailable, and a + # full build is requested, then we must skip all file based scanf sections. + return() +endif() + add_libc_unittest( reader_test SUITE