brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 259d4d2 Raw
56 lines · plain
1# This file is licensed under the Apache License v2.0 with LLVM Exceptions.2# See https://llvm.org/LICENSE.txt for license information.3# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception4 5"""LLVM libc configuration options.6The canonical list of user options is in 'libc/config/config.json'.7These options are then processed by CMake and turned into preprocessor8definitions. We don't have this logic in Bazel yet but the list of definitions9is discoverable with the following command:10 11> git grep -hoE '\bLIBC_COPT_\\w*'  -- '*.h' '*.cpp' | sort -u12"""13 14# This list of definitions is used to customize LLVM libc.15LIBC_CONFIGURE_OPTIONS = [16    # Documentation in libc/docs/dev/printf_behavior.rst17    # "LIBC_COPT_FLOAT_TO_STR_NO_SPECIALIZE_LD",18    # "LIBC_COPT_FLOAT_TO_STR_NO_TABLE",19    # "LIBC_COPT_FLOAT_TO_STR_USE_DYADIC_FLOAT",20    # "LIBC_COPT_FLOAT_TO_STR_USE_DYADIC_FLOAT_LD",21    # "LIBC_COPT_FLOAT_TO_STR_USE_INT_CALC",22    # "LIBC_COPT_FLOAT_TO_STR_USE_MEGA_LONG_DOUBLE_TABLE",23 24    # Documentation in libc/src/string/memory_utils/...25    # "LIBC_COPT_MEMCPY_USE_EMBEDDED_TINY",26    # "LIBC_COPT_MEMCPY_X86_USE_REPMOVSB_FROM_SIZE",27    "LIBC_COPT_MEMCPY_X86_USE_SOFTWARE_PREFETCHING",28    "LIBC_COPT_MEMSET_X86_USE_SOFTWARE_PREFETCHING",29 30    # Documentation in libc/docs/dev/printf_behavior.rst31    # "LIBC_COPT_PRINTF_CONV_ATLAS",32    # "LIBC_COPT_PRINTF_DISABLE_FIXED_POINT",33    # "LIBC_COPT_PRINTF_DISABLE_FLOAT",34    # "LIBC_COPT_PRINTF_DISABLE_INDEX_MODE",35    "LIBC_COPT_PRINTF_DISABLE_WRITE_INT",36    # "LIBC_COPT_PRINTF_HEX_LONG_DOUBLE",37    # "LIBC_COPT_PRINTF_INDEX_ARR_LEN",38    # "LIBC_COPT_PRINTF_NO_NULLPTR_CHECKS",39    # "LIBC_COPT_SCANF_DISABLE_FLOAT",40    # "LIBC_COPT_SCANF_DISABLE_INDEX_MODE",41    "LIBC_COPT_STDIO_USE_SYSTEM_FILE",42    "LIBC_COPT_STRING_UNSAFE_WIDE_READ",43    # "LIBC_COPT_STRTOFLOAT_DISABLE_CLINGER_FAST_PATH",44    # "LIBC_COPT_STRTOFLOAT_DISABLE_EISEL_LEMIRE",45    # "LIBC_COPT_STRTOFLOAT_DISABLE_SIMPLE_DECIMAL_CONVERSION",46 47    # Documentation in libc/src/__support/libc_assert.h48    # "LIBC_COPT_USE_C_ASSERT",49 50    # Documentation in libc/docs/configure.rst51    "LIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM",52 53    # Documentation in libc/src/__support/libc_errno.h54    "LIBC_ERRNO_MODE=LIBC_ERRNO_MODE_SYSTEM_INLINE",55]56