124 misc/__crt_MessageBoxA.c
143 printf/_snwprintf_s.c
149 printf/_vsnprintf_s.c
151 printf/_vsnwprintf_s.c
195 startup/crt_handler.c
200 startup/mingw_helpers.c
239 stdlib/_set_abort_behavior.c
267 string/_splitpath_s.c
270 string/_wsplitpath_s.c
367 if(ARCH STREQUAL "i386")
368 list(APPEND CRT_ASM_SOURCE
371 math/i386/alldiv_asm.s
372 math/i386/alldvrm_asm.s
373 math/i386/allmul_asm.s
374 math/i386/allrem_asm.s
375 math/i386/allshl_asm.s
376 math/i386/allshr_asm.s
378 math/i386/aulldiv_asm.s
379 math/i386/aulldvrm_asm.s
380 math/i386/aullrem_asm.s
381 math/i386/aullshr_asm.s
386 math/i386/floor_asm.s
389 math/i386/ftol2_asm.s
391 math/i386/log10_asm.s
396 math/i386/atan2_asm.s
399 math/i386/fmodf_asm.s
400 mem/i386/memchr_asm.s
401 mem/i386/memmove_asm.s
402 mem/i386/memset_asm.s
405 string/i386/strcat_asm.s
406 string/i386/strchr_asm.s
407 string/i386/strcmp_asm.s
408 string/i386/strcpy_asm.s
409 string/i386/strlen_asm.s
410 string/i386/strncat_asm.s
411 string/i386/strncmp_asm.s
412 string/i386/strncpy_asm.s
413 string/i386/strnlen_asm.s
414 string/i386/strrchr_asm.s
415 string/i386/wcscat_asm.s
416 string/i386/wcschr_asm.s
417 string/i386/wcscmp_asm.s
418 string/i386/wcscpy_asm.s
419 string/i386/wcslen_asm.s
420 string/i386/wcsncat_asm.s
421 string/i386/wcsncmp_asm.s
422 string/i386/wcsncpy_asm.s
423 string/i386/wcsnlen_asm.s
424 string/i386/wcsrchr_asm.s)
426 list(APPEND CRT_SOURCE
441 list(APPEND CRT_ASM_SOURCE
444 elseif(ARCH STREQUAL "amd64")
445 list(APPEND CRT_ASM_SOURCE
447 float/amd64/clearfp.S
448 float/amd64/getsetfpcw.S
449 float/amd64/fpreset.S
460 # math/amd64/floorf.S
470 setjmp/amd64/setjmp.s)
472 list(APPEND CRT_SOURCE
473 except/amd64/ehandler.c
477 list(APPEND CRT_ASM_SOURCE
480 elseif(ARCH STREQUAL "arm")
481 list(APPEND CRT_SOURCE
482 except/arm/ehandler.c
486 math/arm/__rt_sdiv64_worker.c
488 math/arm/__rt_udiv64_worker.c
490 list(APPEND CRT_ASM_SOURCE
491 except/arm/_abnormal_termination.s
492 except/arm/_except_handler2.s
493 except/arm/_except_handler3.s
494 except/arm/_global_unwind2.s
495 except/arm/_local_unwind2.s
496 except/arm/chkstk_asm.s
498 float/arm/_controlfp.s
500 float/arm/_statusfp.s
522 math/arm/__rt_sdiv64.s
524 math/arm/__rt_udiv64.s
528 list(APPEND CRT_ASM_SOURCE
533 if(NOT ARCH STREQUAL "i386")
534 list(APPEND CRT_SOURCE
583 set_source_files_properties(${CRT_ASM_SOURCE} PROPERTIES COMPILE_DEFINITIONS "__MINGW_IMPORT=extern;USE_MSVCRT_PREFIX;_MSVCRT_LIB_;_MSVCRT_;_MT;CRTDLL")
584 add_asm_files(crt_asm ${CRT_ASM_SOURCE})
587 # clang-cl is missing pragma function support
588 # https://bugs.llvm.org/show_bug.cgi?id=35116
589 set_property(SOURCE stdlib/rot.c APPEND_STRING PROPERTY COMPILE_FLAGS " /fallback")
592 add_library(crt ${CRT_SOURCE} ${crt_asm})
593 target_link_libraries(crt chkstk)
594 add_target_compile_definitions(crt
595 __MINGW_IMPORT=extern
601 #add_pch(crt precomp.h)
602 add_dependencies(crt psdk asm)