summaryrefslogtreecommitdiff
path: root/modules/dynarray
blob: fa608ded0e3822c8c99973054bbd155ed2aada0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Description:
Type-safe arrays which grow dynamically.

Files:
lib/dynarray.h
lib/malloc/dynarray-skeleton.c
lib/malloc/dynarray.h
lib/malloc/dynarray_at_failure.c
lib/malloc/dynarray_emplace_enlarge.c
lib/malloc/dynarray_finalize.c
lib/malloc/dynarray_resize.c
lib/malloc/dynarray_resize_clear.c

Depends-on:
c99
builtin-expect
libc-config
stdbool
stddef
intprops

configure.ac:
AC_PROG_MKDIR_P

Makefile.am:
BUILT_SOURCES += malloc/dynarray.gl.h malloc/dynarray-skeleton.gl.h

malloc/dynarray.gl.h: malloc/dynarray.h
	$(AM_V_at)$(MKDIR_P) malloc
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e '/libc_hidden_proto/d' < $(srcdir)/malloc/dynarray.h; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += malloc/dynarray.gl.h malloc/dynarray.gl.h-t

malloc/dynarray-skeleton.gl.h: malloc/dynarray-skeleton.c
	$(AM_V_at)$(MKDIR_P) malloc
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|<malloc/dynarray\.h>|<malloc/dynarray.gl.h>|g' \
	      -e 's|__attribute_maybe_unused__|_GL_ATTRIBUTE_MAYBE_UNUSED|g' \
	      -e 's|__attribute_nonnull__|_GL_ATTRIBUTE_NONNULL|g' \
	      -e 's|__attribute_warn_unused_result__|_GL_ATTRIBUTE_NODISCARD|g' \
	      -e 's|__glibc_likely|_GL_LIKELY|g' \
	      -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \
	      < $(srcdir)/malloc/dynarray-skeleton.c; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += malloc/dynarray-skeleton.gl.h malloc/dynarray-skeleton.gl.h-t

lib_SOURCES += malloc/dynarray_at_failure.c \
               malloc/dynarray_emplace_enlarge.c \
               malloc/dynarray_finalize.c \
               malloc/dynarray_resize.c \
               malloc/dynarray_resize_clear.c

Include:
"dynarray.h"

License:
LGPLv2+

Maintainer:
all, glibc