1c236b41eSSiva Chandra Reddyadd_header_library( 2c236b41eSSiva Chandra Reddy mutex_common 3c236b41eSSiva Chandra Reddy HDRS 4c236b41eSSiva Chandra Reddy mutex_common.h 5c236b41eSSiva Chandra Reddy) 6c236b41eSSiva Chandra Reddy 77789fb66SJoseph Huberadd_header_library( 87789fb66SJoseph Huber sleep 97789fb66SJoseph Huber HDRS 107789fb66SJoseph Huber sleep.h 117789fb66SJoseph Huber) 127789fb66SJoseph Huber 13408a351dSSchrodinger ZHU Yifanadd_header_library( 14408a351dSSchrodinger ZHU Yifan spin_lock 15408a351dSSchrodinger ZHU Yifan HDRS 16408a351dSSchrodinger ZHU Yifan spin_lock.h 17408a351dSSchrodinger ZHU Yifan DEPENDS 18408a351dSSchrodinger ZHU Yifan .sleep 19408a351dSSchrodinger ZHU Yifan libc.src.__support.CPP.atomic 20408a351dSSchrodinger ZHU Yifan) 21408a351dSSchrodinger ZHU Yifan 22a5ee8183SSiva Chandra Reddyif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LIBC_TARGET_OS}) 23a5ee8183SSiva Chandra Reddy add_subdirectory(${LIBC_TARGET_OS}) 24a5ee8183SSiva Chandra Reddyendif() 25a5ee8183SSiva Chandra Reddy 26c236b41eSSiva Chandra Reddyif(TARGET libc.src.__support.threads.${LIBC_TARGET_OS}.mutex) 27a5ee8183SSiva Chandra Reddy add_header_library( 28c236b41eSSiva Chandra Reddy mutex 29a5ee8183SSiva Chandra Reddy HDRS 30a5ee8183SSiva Chandra Reddy mutex.h 311ceb0079SSiva Chandra Reddy DEPENDS 32c236b41eSSiva Chandra Reddy .${LIBC_TARGET_OS}.mutex 33a5ee8183SSiva Chandra Reddy ) 344d25761bSMichael Jones 354d25761bSMichael Jones add_object_library( 364d25761bSMichael Jones fork_callbacks 374d25761bSMichael Jones SRCS 384d25761bSMichael Jones fork_callbacks.cpp 394d25761bSMichael Jones HDRS 404d25761bSMichael Jones fork_callbacks.h 414d25761bSMichael Jones DEPENDS 424d25761bSMichael Jones .mutex 43c4a3d184SVlad Mishel libc.src.__support.CPP.mutex 444d25761bSMichael Jones ) 45c236b41eSSiva Chandra Reddyendif() 462ce09e68SSiva Chandra Reddy 479c78d925SSiva Chandra Reddyadd_header_library( 489c78d925SSiva Chandra Reddy thread_common 499c78d925SSiva Chandra Reddy HDRS 509c78d925SSiva Chandra Reddy thread.h 519c78d925SSiva Chandra Reddy DEPENDS 529c78d925SSiva Chandra Reddy libc.src.__support.common 539c78d925SSiva Chandra Reddy libc.src.__support.CPP.atomic 544a738ee8SSiva Chandra Reddy libc.src.__support.CPP.optional 55658c84e4SSiva Chandra Reddy libc.src.__support.CPP.string_view 56658c84e4SSiva Chandra Reddy libc.src.__support.CPP.stringstream 579c78d925SSiva Chandra Reddy) 589c78d925SSiva Chandra Reddy 592ce09e68SSiva Chandra Reddyif(TARGET libc.src.__support.threads.${LIBC_TARGET_OS}.thread) 60fe801747SSiva Chandra Reddy add_object_library( 612ce09e68SSiva Chandra Reddy thread 62fe801747SSiva Chandra Reddy SRCS 639c78d925SSiva Chandra Reddy thread.cpp 642ce09e68SSiva Chandra Reddy DEPENDS 650071a795SSiva Chandra Reddy .mutex 669c78d925SSiva Chandra Reddy .${LIBC_TARGET_OS}.thread 67daeee567SSiva Chandra Reddy libc.src.__support.common 680071a795SSiva Chandra Reddy libc.src.__support.fixedvector 694a738ee8SSiva Chandra Reddy libc.src.__support.CPP.array 70c4a3d184SVlad Mishel libc.src.__support.CPP.mutex 714a738ee8SSiva Chandra Reddy libc.src.__support.CPP.optional 722ce09e68SSiva Chandra Reddy ) 732ce09e68SSiva Chandra Reddyendif() 7433675390SSiva Chandra Reddy 75772e37f8SSiva Chandra Reddyif(TARGET libc.src.__support.threads.${LIBC_TARGET_OS}.callonce) 7633675390SSiva Chandra Reddy add_object_library( 7733675390SSiva Chandra Reddy callonce 78772e37f8SSiva Chandra Reddy ALIAS 7933675390SSiva Chandra Reddy DEPENDS 80772e37f8SSiva Chandra Reddy .${LIBC_TARGET_OS}.callonce 8133675390SSiva Chandra Reddy ) 8233675390SSiva Chandra Reddyendif() 835442e15aSNick Desaulniers (paternity leave) 845442e15aSNick Desaulniers (paternity leave)if(TARGET libc.src.__support.threads.${LIBC_TARGET_OS}.CndVar) 855442e15aSNick Desaulniers (paternity leave) add_object_library( 865442e15aSNick Desaulniers (paternity leave) CndVar 875442e15aSNick Desaulniers (paternity leave) ALIAS 885442e15aSNick Desaulniers (paternity leave) DEPENDS 895442e15aSNick Desaulniers (paternity leave) .${LIBC_TARGET_OS}.CndVar 905442e15aSNick Desaulniers (paternity leave) ) 915442e15aSNick Desaulniers (paternity leave)endif() 92*301db3deSSchrodinger ZHU Yifan 93*301db3deSSchrodinger ZHU Yifanif (LLVM_LIBC_FULL_BUILD) 94*301db3deSSchrodinger ZHU Yifan set(identifier_dependency_on_thread libc.src.__support.threads.thread) 95*301db3deSSchrodinger ZHU Yifanendif() 96*301db3deSSchrodinger ZHU Yifan 97*301db3deSSchrodinger ZHU Yifanadd_header_library( 98*301db3deSSchrodinger ZHU Yifan identifier 99*301db3deSSchrodinger ZHU Yifan HDRS 100*301db3deSSchrodinger ZHU Yifan identifier.h 101*301db3deSSchrodinger ZHU Yifan DEPENDS 102*301db3deSSchrodinger ZHU Yifan libc.src.__support.OSUtil.osutil 103*301db3deSSchrodinger ZHU Yifan libc.src.__support.common 104*301db3deSSchrodinger ZHU Yifan libc.include.sys_syscall 105*301db3deSSchrodinger ZHU Yifan libc.hdr.types.pid_t 106*301db3deSSchrodinger ZHU Yifan ${identifier_dependency_on_thread} 107*301db3deSSchrodinger ZHU Yifan) 108