2 An ISO C 11 compatible <threads.h>.
9 lib/windows-timedmutex.h
10 lib/windows-timedrecmutex.h
14 lib/windows-initguard.h
17 build-aux/config.rpath
34 gl_THREADS_H_REQUIRE_DEFAULTS
38 BUILT_SOURCES += threads.h
40 # We need the following in order to create <threads.h> when the system
42 threads.h: threads.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
43 @NMD@ $(AM_V_GEN)$(MKDIR_P) '%reldir%'
44 $(gl_V_at)$(SED_HEADER_STDOUT) \
45 -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
46 -e 's|@''INCLUDE_NEXT_AS_FIRST_DIRECTIVE''@|$(INCLUDE_NEXT_AS_FIRST_DIRECTIVE)|g' \
47 -e 's|@''HAVE_THREADS_H''@|$(HAVE_THREADS_H)|g' \
48 -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
49 -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
50 -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
51 -e 's|@''NEXT_AS_FIRST_DIRECTIVE_THREADS_H''@|$(NEXT_AS_FIRST_DIRECTIVE_THREADS_H)|g' \
52 -e 's|@''NEXT_THREADS_H''@|$(NEXT_THREADS_H)|g' \
53 -e 's/@''GNULIB_CALL_ONCE''@/$(GNULIB_CALL_ONCE)/g' \
54 -e 's/@''GNULIB_CND''@/$(GNULIB_CND)/g' \
55 -e 's/@''GNULIB_MTX''@/$(GNULIB_MTX)/g' \
56 -e 's/@''GNULIB_THRD''@/$(GNULIB_THRD)/g' \
57 -e 's/@''GNULIB_TSS''@/$(GNULIB_TSS)/g' \
58 -e 's|@''HAVE_THREAD_LOCAL''@|$(HAVE_THREAD_LOCAL)|g' \
59 -e 's|@''BROKEN_THRD_JOIN''@|$(BROKEN_THRD_JOIN)|g' \
60 -e 's|@''BROKEN_THRD_START_T''@|$(BROKEN_THRD_START_T)|g' \
61 -e 's|@''REPLACE_CALL_ONCE''@|$(REPLACE_CALL_ONCE)|g' \
62 -e 's|@''REPLACE_CND_BROADCAST''@|$(REPLACE_CND_BROADCAST)|g' \
63 -e 's|@''REPLACE_CND_DESTROY''@|$(REPLACE_CND_DESTROY)|g' \
64 -e 's|@''REPLACE_CND_INIT''@|$(REPLACE_CND_INIT)|g' \
65 -e 's|@''REPLACE_CND_SIGNAL''@|$(REPLACE_CND_SIGNAL)|g' \
66 -e 's|@''REPLACE_CND_TIMEDWAIT''@|$(REPLACE_CND_TIMEDWAIT)|g' \
67 -e 's|@''REPLACE_CND_WAIT''@|$(REPLACE_CND_WAIT)|g' \
68 -e 's|@''REPLACE_MTX_DESTROY''@|$(REPLACE_MTX_DESTROY)|g' \
69 -e 's|@''REPLACE_MTX_INIT''@|$(REPLACE_MTX_INIT)|g' \
70 -e 's|@''REPLACE_MTX_LOCK''@|$(REPLACE_MTX_LOCK)|g' \
71 -e 's|@''REPLACE_MTX_TIMEDLOCK''@|$(REPLACE_MTX_TIMEDLOCK)|g' \
72 -e 's|@''REPLACE_MTX_TRYLOCK''@|$(REPLACE_MTX_TRYLOCK)|g' \
73 -e 's|@''REPLACE_MTX_UNLOCK''@|$(REPLACE_MTX_UNLOCK)|g' \
74 -e 's|@''REPLACE_THRD_CREATE''@|$(REPLACE_THRD_CREATE)|g' \
75 -e 's|@''REPLACE_THRD_CURRENT''@|$(REPLACE_THRD_CURRENT)|g' \
76 -e 's|@''REPLACE_THRD_DETACH''@|$(REPLACE_THRD_DETACH)|g' \
77 -e 's|@''REPLACE_THRD_EQUAL''@|$(REPLACE_THRD_EQUAL)|g' \
78 -e 's|@''REPLACE_THRD_EXIT''@|$(REPLACE_THRD_EXIT)|g' \
79 -e 's|@''REPLACE_THRD_JOIN''@|$(REPLACE_THRD_JOIN)|g' \
80 -e 's|@''REPLACE_THRD_SLEEP''@|$(REPLACE_THRD_SLEEP)|g' \
81 -e 's|@''REPLACE_THRD_YIELD''@|$(REPLACE_THRD_YIELD)|g' \
82 -e 's|@''REPLACE_TSS_CREATE''@|$(REPLACE_TSS_CREATE)|g' \
83 -e 's|@''REPLACE_TSS_DELETE''@|$(REPLACE_TSS_DELETE)|g' \
84 -e 's|@''REPLACE_TSS_GET''@|$(REPLACE_TSS_GET)|g' \
85 -e 's|@''REPLACE_TSS_SET''@|$(REPLACE_TSS_SET)|g' \
86 -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
87 -e '/definition of _Noreturn/r $(_NORETURN_H)' \
88 -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
89 -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
90 $(srcdir)/threads.in.h > $@-t
92 MOSTLYCLEANFILES += threads.h threads.h-t
98 $(LIBTHREADLOCAL) if you use the thread_local macro