Lines Matching +full:- +full:- +full:set +full:- +full:config

2 # SPDX-License-Identifier: BSD-3-Clause
40 # Set a default build type if none was specified
41 set(default_build_type "MinSizeRel")
45 set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE
52 set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PROGRAM}")
56 set(CMAKE_SYSTEM_PROCESSOR "aarch64")
59 set(CMAKE_SYSTEM_SUB_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR})
63 set(CMAKE_SYSTEM_PROCESSOR "x86")
77 set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
79 # Set all configure values to defaults for now
81 # Use atomics for fgetc/ungetc for re-entrancy
82 set(ATOMIC_UNGETC 1)
90 set(MISSING_SYSCALL_NAMES 0)
103 set(NEWLIB_TLS ${PICOLIBC_TLS})
114 set(default_prefer_size ON)
116 set(default_prefer_size OFF)
122 set(REENTRANT_SYSCALLS_PROVIDED 0)
128 set(TLS_MODEL "local-exec")
131 set(_ATEXIT_DYNAMIC_ALLOC 0)
133 set(_FSEEK_OPTIMIZATION 0)
135 set(_FVWRITE_IN_STREAMIO 0)
206 # Compiler has support for flag to prevent mis-optimizing memcpy/memset patterns
221 set(_HAVE_FCNTL 0)
224 set(_HAVE_IEEEFP_FUNCS 0)
227 set(_HAVE_INITFINI_ARRAY 1)
230 set(_HAVE_INIT_FINI 1)
233 set(_PICOCRT_ENABLE_MMU 1)
243 set(_HAVE_PICOLIBC_TLS_API 0)
246 set(_HAVE_SEMIHOST 1)
247 set(_ICONV_ENABLE_EXTERNAL_CCS 0)
248 set(_ICONV_FROM_ENCODING_ 1)
249 set(_ICONV_FROM_ENCODING_BIG5 1)
250 set(_ICONV_FROM_ENCODING_CP775 1)
251 set(_ICONV_FROM_ENCODING_CP850 1)
252 set(_ICONV_FROM_ENCODING_CP852 1)
253 set(_ICONV_FROM_ENCODING_CP855 1)
254 set(_ICONV_FROM_ENCODING_CP866 1)
255 set(_ICONV_FROM_ENCODING_EUC_JP 1)
256 set(_ICONV_FROM_ENCODING_EUC_KR 1)
257 set(_ICONV_FROM_ENCODING_EUC_TW 1)
258 set(_ICONV_FROM_ENCODING_ISO_8859_1 1)
259 set(_ICONV_FROM_ENCODING_ISO_8859_10 1)
260 set(_ICONV_FROM_ENCODING_ISO_8859_11 1)
261 set(_ICONV_FROM_ENCODING_ISO_8859_13 1)
262 set(_ICONV_FROM_ENCODING_ISO_8859_14 1)
263 set(_ICONV_FROM_ENCODING_ISO_8859_15 1)
264 set(_ICONV_FROM_ENCODING_ISO_8859_2 1)
265 set(_ICONV_FROM_ENCODING_ISO_8859_3 1)
266 set(_ICONV_FROM_ENCODING_ISO_8859_4 1)
267 set(_ICONV_FROM_ENCODING_ISO_8859_5 1)
268 set(_ICONV_FROM_ENCODING_ISO_8859_6 1)
269 set(_ICONV_FROM_ENCODING_ISO_8859_7 1)
270 set(_ICONV_FROM_ENCODING_ISO_8859_8 1)
271 set(_ICONV_FROM_ENCODING_ISO_8859_9 1)
272 set(_ICONV_FROM_ENCODING_ISO_IR_111 1)
273 set(_ICONV_FROM_ENCODING_KOI8_R 1)
274 set(_ICONV_FROM_ENCODING_KOI8_RU 1)
275 set(_ICONV_FROM_ENCODING_KOI8_U 1)
276 set(_ICONV_FROM_ENCODING_KOI8_UNI 1)
277 set(_ICONV_FROM_ENCODING_UCS_2 1)
278 set(_ICONV_FROM_ENCODING_UCS_2BE 1)
279 set(_ICONV_FROM_ENCODING_UCS_2LE 1)
280 set(_ICONV_FROM_ENCODING_UCS_2_INTERNAL 1)
281 set(_ICONV_FROM_ENCODING_UCS_4 1)
282 set(_ICONV_FROM_ENCODING_UCS_4BE 1)
283 set(_ICONV_FROM_ENCODING_UCS_4LE 1)
284 set(_ICONV_FROM_ENCODING_UCS_4_INTERNAL 1)
285 set(_ICONV_FROM_ENCODING_US_ASCII 1)
286 set(_ICONV_FROM_ENCODING_UTF_16 1)
287 set(_ICONV_FROM_ENCODING_UTF_16BE 1)
288 set(_ICONV_FROM_ENCODING_UTF_16LE 1)
289 set(_ICONV_FROM_ENCODING_UTF_8 1)
290 set(_ICONV_FROM_ENCODING_WIN_1250 1)
291 set(_ICONV_FROM_ENCODING_WIN_1251 1)
292 set(_ICONV_FROM_ENCODING_WIN_1252 1)
293 set(_ICONV_FROM_ENCODING_WIN_1253 1)
294 set(_ICONV_FROM_ENCODING_WIN_1254 1)
295 set(_ICONV_FROM_ENCODING_WIN_1255 1)
296 set(_ICONV_FROM_ENCODING_WIN_1256 1)
297 set(_ICONV_FROM_ENCODING_WIN_1257 1)
298 set(_ICONV_FROM_ENCODING_WIN_1258 1)
299 set(_ICONV_TO_ENCODING_ 1)
300 set(_ICONV_TO_ENCODING_BIG5 1)
301 set(_ICONV_TO_ENCODING_CP775 1)
302 set(_ICONV_TO_ENCODING_CP850 1)
303 set(_ICONV_TO_ENCODING_CP852 1)
304 set(_ICONV_TO_ENCODING_CP855 1)
305 set(_ICONV_TO_ENCODING_CP866 1)
306 set(_ICONV_TO_ENCODING_EUC_JP 1)
307 set(_ICONV_TO_ENCODING_EUC_KR 1)
308 set(_ICONV_TO_ENCODING_EUC_TW 1)
309 set(_ICONV_TO_ENCODING_ISO_8859_1 1)
310 set(_ICONV_TO_ENCODING_ISO_8859_10 1)
311 set(_ICONV_TO_ENCODING_ISO_8859_11 1)
312 set(_ICONV_TO_ENCODING_ISO_8859_13 1)
313 set(_ICONV_TO_ENCODING_ISO_8859_14 1)
314 set(_ICONV_TO_ENCODING_ISO_8859_15 1)
315 set(_ICONV_TO_ENCODING_ISO_8859_2 1)
316 set(_ICONV_TO_ENCODING_ISO_8859_3 1)
317 set(_ICONV_TO_ENCODING_ISO_8859_4 1)
318 set(_ICONV_TO_ENCODING_ISO_8859_5 1)
319 set(_ICONV_TO_ENCODING_ISO_8859_6 1)
320 set(_ICONV_TO_ENCODING_ISO_8859_7 1)
321 set(_ICONV_TO_ENCODING_ISO_8859_8 1)
322 set(_ICONV_TO_ENCODING_ISO_8859_9 1)
323 set(_ICONV_TO_ENCODING_ISO_IR_111 1)
324 set(_ICONV_TO_ENCODING_KOI8_R 1)
325 set(_ICONV_TO_ENCODING_KOI8_RU 1)
326 set(_ICONV_TO_ENCODING_KOI8_U 1)
327 set(_ICONV_TO_ENCODING_KOI8_UNI 1)
328 set(_ICONV_TO_ENCODING_UCS_2 1)
329 set(_ICONV_TO_ENCODING_UCS_2BE 1)
330 set(_ICONV_TO_ENCODING_UCS_2LE 1)
331 set(_ICONV_TO_ENCODING_UCS_2_INTERNAL 1)
332 set(_ICONV_TO_ENCODING_UCS_4 1)
333 set(_ICONV_TO_ENCODING_UCS_4BE 1)
334 set(_ICONV_TO_ENCODING_UCS_4LE 1)
335 set(_ICONV_TO_ENCODING_UCS_4_INTERNAL 1)
336 set(_ICONV_TO_ENCODING_US_ASCII 1)
337 set(_ICONV_TO_ENCODING_UTF_16 1)
338 set(_ICONV_TO_ENCODING_UTF_16BE 1)
339 set(_ICONV_TO_ENCODING_UTF_16LE 1)
340 set(_ICONV_TO_ENCODING_UTF_8 1)
341 set(_ICONV_TO_ENCODING_WIN_1250 1)
342 set(_ICONV_TO_ENCODING_WIN_1251 1)
343 set(_ICONV_TO_ENCODING_WIN_1252 1)
344 set(_ICONV_TO_ENCODING_WIN_1253 1)
345 set(_ICONV_TO_ENCODING_WIN_1254 1)
346 set(_ICONV_TO_ENCODING_WIN_1255 1)
347 set(_ICONV_TO_ENCODING_WIN_1256 1)
348 set(_ICONV_TO_ENCODING_WIN_1257 1)
349 set(_ICONV_TO_ENCODING_WIN_1258 1)
351 # math library does not set errno (offering only ieee semantics)
352 set(_IEEE_LIBM 1)
358 set(_LITE_EXIT 1)
360 set(_PICO_EXIT 1)
371 option(_MB_CAPABLE "Enable multi-byte support" OFF)
374 set(_NANO_FORMATTED_IO OFF)
378 set(_REENT_GLOBAL_ATEXIT OFF)
380 set(_UNBUF_STREAM_OPT OFF)
417 option(_WANT_IO_WCHAR "Support %ls/%lc formats in printf even without multi-byte" OFF)
421 set(_FORMAT_DEFAULT_MINIMAL ${IO_MINIMAL})
425 set(_FORMAT_DEFAULT_DOUBLE OFF)
426 set(_FORMAT_DEFAULT_FLOAT OFF)
427 set(_FORMAT_DEFAULT_INTEGER OFF)
428 set(_FORMAT_DEFAULT_LONG_LONG OFF)
432 set(_FORMAT_DEFAULT_DOUBLE ${__IO_FLOAT})
436 set(_FORMAT_DEFAULT_FLOAT OFF)
440 set(_FORMAT_DEFAULT_LONG_LONG OFF)
445 set(_FORMAT_DEFAULT_INTEGER OFF)
447 set(_FORMAT_DEFAULT_INTEGER ON)
452 set(_WANT_MATH_ERRNO OFF)
454 set(_WANT_REENT_SMALL OFF)
456 set(_WANT_REGISTER_FINI OFF)
458 # Obsoleted. Define time_t to long instead of using a 64-bit type
459 set(_WANT_USE_LONG_TIME_T OFF)
461 set(_WIDE_ORIENT OFF)
478 set(_ELIX_LEVEL 4)
482 set(__OBSOLETE_MATH_FLOAT ON)
485 set(__OBSOLETE_MATH_DOUBLE ON)
488 set(__PICOLIBC_CRT_RUNTIME_SIZE OFF)
495 set(_RETARGETABLE_LOCKING OFF)
497 set(_RETARGETABLE_LOCKING ON)
500 set(NEWLIB_VERSION 4.3.0)
501 set(NEWLIB_MAJOR 4)
502 set(NEWLIB_MINOR 3)
503 set(NEWLIB_PATCH 0)
505 set(PICOLIBC_INCLUDE ${PROJECT_BINARY_DIR}/picolibc/include)
507 set(PICOLIBC_SCRIPTS "${CMAKE_CURRENT_SOURCE_DIR}/scripts")
511 CHECK_INCLUDE_FILE(xtensa/config/core-isa.h _XTENSA_HAVE_CONFIG_CORE_ISA_H)
515 set(INCLUDEDIR include)
516 set(LIBDIR .)
518 set(TLSMODEL "-ftls-model=${TLS_MODEL}")
520 set(LINK_SPEC "")
521 set(CC1_SPEC "")
522 set(CC1PLUS_SPEC "")
523 set(ADDITIONAL_LIBS "")
524 set(SPECS_EXTRA "")
525 set(SPECS_ISYSTEM "-isystem ${PROJECT_BINARY_DIR}/${include}")
526 set(SPECS_LIBPATH "-L${PROJECT_BINARY_DIR}")
527 set(SPECS_STARTFILE "${PROJECT_BINARY_DIR}/crt0.o")
528 string(APPEND SPECS_PRINTF "%{DPICOLIBC_FLOAT_PRINTF_SCANF:--defsym=vfprintf=__f_vfprintf}"
529 " %{DPICOLIBC_FLOAT_PRINTF_SCANF:--defsym=vfscanf=__f_vfscanf}"
530 " %{DPICOLIBC_DOUBLE_PRINTF_SCANF:--defsym=vfprintf=__d_vfprintf}"
531 " %{DPICOLIBC_DOUBLE_PRINTF_SCANF:--defsym=vfscanf=__d_vfscanf}"
532 " %{DPICOLIBC_INTEGER_PRINTF_SCANF:--defsym=vfprintf=__i_vfprintf}"
533 " %{DPICOLIBC_INTEGER_PRINTF_SCANF:--defsym=vfscanf=__i_vfscanff}"
534 " %{DPICOLIBC_MINIMAL_PRINTF_SCANF:--defsym=vfprintf=__m_vfprintf}"
535 " %{DPICOLIBC_MINIMAL_PRINTF_SCANF:--defsym=vfscanf=__i_vfscanff}"
537 set(PREFIX "${PROJECT_BINARY_DIR}")
541 set(PICOLIBC_COMPILE_OPTIONS
542 "-nostdlib"
543 "-D_LIBC"
560 "-fno-common"
561 "-fno-stack-protector"
562 "-ffunction-sections"
563 "-fdata-sections"
564 "-Wall"
565 "-Wextra"
566 "-Werror=implicit-function-declaration"
567 "-Werror=vla"
568 "-Warray-bounds"
569 "-Wold-style-definition"
570 "-frounding-math"
571 "-fsignaling-nans"
578 set(PICOLIBC_INCLUDE_DIRECTORIES
597 # semihosting-based tests
602 set(PICOCRT_OBJ $<TARGET_OBJECTS:picocrt>)
603 set(PICOCRT_SEMIHOST_OBJ $<TARGET_OBJECTS:picocrt-semihost>)
605 # semihost and libc have mutual-dependencies, so place them in a
608 set(PICOLIBC_TEST_LINK_LIBRARIES
610 -Wl,--start-group c semihost -Wl,--end-group