209 lines · plain
1if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LIBC_TARGET_OS})2 add_subdirectory(${LIBC_TARGET_OS})3endif()4 5add_entrypoint_object(6 call_once7 SRCS8 call_once.cpp9 HDRS10 call_once.h11 DEPENDS12 libc.include.threads13 libc.src.__support.threads.callonce14)15 16add_entrypoint_object(17 thrd_create18 SRCS19 thrd_create.cpp20 HDRS21 thrd_create.h22 DEPENDS23 libc.src.__support.threads.thread24 libc.include.threads25 libc.src.errno.errno26 COMPILE_OPTIONS27 ${libc_opt_high_flag}28 -fno-omit-frame-pointer # This allows us to sniff out the thread args from29 # the new thread's stack reliably.30)31 32add_entrypoint_object(33 thrd_join34 SRCS35 thrd_join.cpp36 HDRS37 thrd_join.h38 DEPENDS39 libc.include.threads40 libc.src.__support.threads.thread41)42 43add_entrypoint_object(44 thrd_detach45 SRCS46 thrd_detach.cpp47 HDRS48 thrd_detach.h49 DEPENDS50 libc.include.threads51 libc.src.__support.threads.thread52)53 54add_entrypoint_object(55 thrd_current56 SRCS57 thrd_current.cpp58 HDRS59 thrd_current.h60 DEPENDS61 libc.include.threads62 libc.src.__support.threads.thread63)64 65add_entrypoint_object(66 thrd_equal67 SRCS68 thrd_equal.cpp69 HDRS70 thrd_equal.h71 DEPENDS72 libc.include.threads73 libc.src.__support.threads.thread74)75 76add_entrypoint_object(77 thrd_exit78 SRCS79 thrd_exit.cpp80 HDRS81 thrd_exit.h82 DEPENDS83 libc.include.threads84 libc.src.__support.threads.thread85)86 87add_entrypoint_object(88 mtx_init89 SRCS90 mtx_init.cpp91 HDRS92 mtx_init.h93 DEPENDS94 libc.include.threads95 libc.src.__support.threads.mutex96)97 98add_entrypoint_object(99 mtx_destroy100 SRCS101 mtx_destroy.cpp102 HDRS103 mtx_destroy.h104 DEPENDS105 libc.include.threads106 libc.src.__support.threads.mutex107)108 109add_entrypoint_object(110 mtx_lock111 SRCS112 mtx_lock.cpp113 HDRS114 mtx_lock.h115 DEPENDS116 libc.include.threads117 libc.src.__support.threads.mutex118)119 120add_entrypoint_object(121 mtx_unlock122 SRCS123 mtx_unlock.cpp124 HDRS125 mtx_unlock.h126 DEPENDS127 libc.include.threads128 libc.src.__support.threads.mutex129)130 131add_entrypoint_object(132 tss_create133 SRCS134 tss_create.cpp135 HDRS136 tss_create.h137 DEPENDS138 libc.include.threads139 libc.src.__support.threads.mutex140)141 142add_entrypoint_object(143 tss_delete144 SRCS145 tss_delete.cpp146 HDRS147 tss_delete.h148 DEPENDS149 libc.include.threads150 libc.src.__support.threads.mutex151)152 153add_entrypoint_object(154 tss_get155 SRCS156 tss_get.cpp157 HDRS158 tss_get.h159 DEPENDS160 libc.include.threads161 libc.src.__support.threads.mutex162)163 164add_entrypoint_object(165 tss_set166 SRCS167 tss_set.cpp168 HDRS169 tss_set.h170 DEPENDS171 libc.include.threads172 libc.src.__support.threads.mutex173)174 175add_entrypoint_object(176 cnd_init177 ALIAS178 DEPENDS179 .${LIBC_TARGET_OS}.cnd_init180)181 182add_entrypoint_object(183 cnd_destroy184 ALIAS185 DEPENDS186 .${LIBC_TARGET_OS}.cnd_destroy187)188 189add_entrypoint_object(190 cnd_wait191 ALIAS192 DEPENDS193 .${LIBC_TARGET_OS}.cnd_wait194)195 196add_entrypoint_object(197 cnd_signal198 ALIAS199 DEPENDS200 .${LIBC_TARGET_OS}.cnd_signal201)202 203add_entrypoint_object(204 cnd_broadcast205 ALIAS206 DEPENDS207 .${LIBC_TARGET_OS}.cnd_broadcast208)209