doc: Document our conventions for *.m4 files.
[gnulib.git] / modules / threads-h
blobb9e483e693afafa581b513405e5c4766691d3f1e
1 Description:
2 An ISO C 11 compatible <threads.h>.
4 Files:
5 lib/threads.in.h
6 lib/windows-thread.h
7 lib/windows-mutex.h
8 lib/windows-recmutex.h
9 lib/windows-timedmutex.h
10 lib/windows-timedrecmutex.h
11 lib/windows-once.h
12 lib/windows-cond.h
13 lib/windows-tls.h
14 lib/windows-initguard.h
15 m4/threads_h.m4
16 m4/threadlib.m4
17 build-aux/config.rpath
19 Depends-on:
20 gen-header
21 include_next
22 snippet/c++defs
23 snippet/_Noreturn
24 snippet/arg-nonnull
25 snippet/warn-on-use
26 time-h
27 havelib
29 configure.ac-early:
30 gl_ANYTHREADLIB_EARLY
32 configure.ac:
33 gl_THREADS_H
34 gl_THREADS_H_REQUIRE_DEFAULTS
35 AC_PROG_MKDIR_P
37 Makefile.am:
38 BUILT_SOURCES += threads.h
40 # We need the following in order to create <threads.h> when the system
41 # doesn't have one.
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
91         $(AM_V_at)mv $@-t $@
92 MOSTLYCLEANFILES += threads.h threads.h-t
94 Include:
95 <threads.h>
97 Link:
98 $(LIBTHREADLOCAL) if you use the thread_local macro
100 License:
101 LGPLv2+
103 Maintainer: