mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-27 03:43:36 +00:00
llvm-mingw's static runtime (libc++, libmingwex, libc++abi, libunwind) references symbols the NT 5.2 export surface does not provide. Add a static library, linked into the Clang runtime chain below DLL_EXPORT_VERSION 0x601, providing: - C99 vsnprintf/snprintf on top of _vsnprintf/_vscprintf. - __imp_* aliases binding dllimport references to the static CRT definitions instead of ucrtbase import thunks, which collide with them (lld: "<sym> was replaced"). - K32EnumProcessModules, forwarded to psapi's EnumProcessModules. - The Win7 SRW lock and Vista condition variable surface, bound to the RTL implementation linked statically from rtl_vista. Modules get one self-contained, consistent synchronization implementation (ReactOS' lock layout is not Windows-compatible), no kernel32_vista.dll dependency, and stay runnable on any Windows version. Static SRW linking suggested by Timo Kreuzer. Address review feedback on the llvm-compat shims: sync_static.c now uses the proper SDK/NDK headers with WINAPI/NTAPI, imp_alias.h moved to sdk/include/reactos and fixes the msvcrtex slot decorations too, and a new InitOnceExecuteOnce shim lets us drop libkernel32_vista from the interface.
73 lines
1.5 KiB
CMake
73 lines
1.5 KiB
CMake
|
|
add_subdirectory(atl)
|
|
add_subdirectory(cmlib)
|
|
add_subdirectory(inflib)
|
|
|
|
if(CMAKE_CROSSCOMPILING)
|
|
|
|
add_subdirectory(3rdparty)
|
|
add_subdirectory(ansi_sync_hacks)
|
|
if(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND DLL_EXPORT_VERSION LESS 0x601)
|
|
add_subdirectory(llvm-compat)
|
|
endif()
|
|
add_subdirectory(apisets)
|
|
add_subdirectory(comsupp)
|
|
add_subdirectory(conutils)
|
|
add_subdirectory(cportlib)
|
|
add_subdirectory(crt)
|
|
add_subdirectory(crtheap)
|
|
add_subdirectory(cryptlib)
|
|
add_subdirectory(cpprt)
|
|
|
|
if(MSVC)
|
|
add_subdirectory(RunTmChk)
|
|
else()
|
|
add_subdirectory(gcc-compat)
|
|
endif()
|
|
|
|
add_subdirectory(delayimp)
|
|
add_subdirectory(dmilib)
|
|
#add_subdirectory(dnslib) Nothing links to this lib.
|
|
add_subdirectory(drivers)
|
|
add_subdirectory(dxguid)
|
|
add_subdirectory(epsapi)
|
|
add_subdirectory(evtlib)
|
|
add_subdirectory(fast486)
|
|
add_subdirectory(fslib)
|
|
|
|
if(STACK_PROTECTOR)
|
|
add_subdirectory(gcc_ssp)
|
|
endif()
|
|
|
|
add_subdirectory(ioevent)
|
|
add_subdirectory(lsalib)
|
|
add_subdirectory(nt)
|
|
add_subdirectory(pathcch)
|
|
add_subdirectory(poguid)
|
|
add_subdirectory(pseh)
|
|
|
|
if(KDBG)
|
|
add_subdirectory(rossym)
|
|
endif()
|
|
|
|
add_subdirectory(rtl)
|
|
add_subdirectory(scrnsave)
|
|
add_subdirectory(skiplist)
|
|
add_subdirectory(strmiids)
|
|
add_subdirectory(smlib)
|
|
add_subdirectory(tdilib)
|
|
add_subdirectory(tzlib)
|
|
add_subdirectory(ucrt)
|
|
add_subdirectory(udmihelp)
|
|
add_subdirectory(uuid)
|
|
add_subdirectory(vcruntime)
|
|
add_subdirectory(vcstartup)
|
|
add_subdirectory(wine2ros)
|
|
add_subdirectory(wdmguid)
|
|
|
|
else()
|
|
|
|
add_subdirectory(3rdparty/zlib)
|
|
|
|
endif()
|