drd/drd_pthread_intercepts: Add a workaround for what is probably a compiler bug
[valgrind.git] / drd / Makefile.am
blob93e2507c4247012dd41bc4f8a664e075cafacdcd
1 include $(top_srcdir)/Makefile.tool.am
3 EXTRA_DIST = docs/drd-manual.xml docs/drd-xml-output.xsd
5 #----------------------------------------------------------------------------
6 # Headers, flags
7 #----------------------------------------------------------------------------
9 pkginclude_HEADERS = drd.h
11 noinst_HEADERS =        \
12   drd_barrier.h         \
13   drd_basics.h          \
14   drd_bitmap.c          \
15   drd_bitmap.h          \
16   drd_clientobj.h       \
17   drd_clientreq.h       \
18   drd_cond.h            \
19   drd_error.h           \
20   drd_hb.h              \
21   drd_load_store.h      \
22   drd_malloc_wrappers.h \
23   drd_mutex.h           \
24   drd_rwlock.h          \
25   drd_segment.c         \
26   drd_segment.h         \
27   drd_semaphore.h       \
28   drd_suppression.h     \
29   drd_thread.c          \
30   drd_thread.h          \
31   drd_thread_bitmap.h   \
32   drd_vc.c              \
33   drd_vc.h              \
34   pub_drd_bitmap.h
36 DRD_CFLAGS =                            \
37   @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@   \
38   -O2                                   \
39   @FLAG_W_EXTRA@                        \
40   -Wformat-nonliteral                   \
41   -Wswitch-enum                         \
42   -Wno-inline                           \
43   -Wno-unused-parameter
45 #DRD_CFLAGS += -DENABLE_DRD_CONSISTENCY_CHECKS
47 #----------------------------------------------------------------------------
48 # drd-<platform>
49 #----------------------------------------------------------------------------
51 noinst_PROGRAMS  = drd-@VGCONF_ARCH_PRI@-@VGCONF_OS@
52 if VGCONF_HAVE_PLATFORM_SEC
53 noinst_PROGRAMS += drd-@VGCONF_ARCH_SEC@-@VGCONF_OS@
54 endif
56 DRD_SOURCES_COMMON =    \
57   drd_barrier.c         \
58   drd_clientobj.c       \
59   drd_clientreq.c       \
60   drd_cond.c            \
61   drd_cond_initializer.c \
62   drd_error.c           \
63   drd_hb.c              \
64   drd_load_store.c      \
65   drd_main.c            \
66   drd_malloc_wrappers.c \
67   drd_mutex.c           \
68   drd_rwlock.c          \
69   drd_semaphore.c       \
70   drd_suppression.c
72 drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_SOURCES      = \
73         $(DRD_SOURCES_COMMON)
74 drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CPPFLAGS     = \
75         $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
76 drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS       = $(LTO_CFLAGS) \
77         $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(DRD_CFLAGS)
78 drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_DEPENDENCIES = \
79         $(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_PRI_CAPS@)
80 drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDADD        = \
81         $(TOOL_LDADD_@VGCONF_PLATFORM_PRI_CAPS@)
82 drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS      = \
83         $(TOOL_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
84 drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LINK = \
85         $(top_builddir)/coregrind/link_tool_exe_@VGCONF_OS@ \
86         @VALT_LOAD_ADDRESS_PRI@ \
87         $(LINK) \
88         $(drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS) \
89         $(drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS)
91 if VGCONF_HAVE_PLATFORM_SEC
92 drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_SOURCES      = \
93         $(DRD_SOURCES_COMMON)
94 drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CPPFLAGS     = \
95         $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
96 drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS       = $(LTO_CFLAGS) \
97         $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(DRD_CFLAGS)
98 drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_DEPENDENCIES = \
99         $(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_SEC_CAPS@)
100 drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDADD        = \
101         $(TOOL_LDADD_@VGCONF_PLATFORM_SEC_CAPS@)
102 drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS      = \
103         $(TOOL_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
104 drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LINK = \
105         $(top_builddir)/coregrind/link_tool_exe_@VGCONF_OS@ \
106         @VALT_LOAD_ADDRESS_SEC@ \
107         $(LINK) \
108         $(drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS) \
109         $(drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS)
110 endif
112 #----------------------------------------------------------------------------
113 # vgpreload_drd-<platform>.so
114 #----------------------------------------------------------------------------
116 noinst_PROGRAMS += vgpreload_drd-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so
117 if VGCONF_HAVE_PLATFORM_SEC
118 noinst_PROGRAMS += vgpreload_drd-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so
119 endif
121 if VGCONF_OS_IS_DARWIN
122 noinst_DSYMS = $(noinst_PROGRAMS)
123 endif
125 VGPRELOAD_DRD_SOURCES_COMMON = \
126   drd_libstdcxx_intercepts.c   \
127   drd_pthread_intercepts.c     \
128   drd_qtcore_intercepts.c      \
129   drd_strmem_intercepts.c
131 if VGCONF_OS_IS_DARWIN
132 VGPRELOAD_DRD_SOURCES_COMMON += drd_darwin_intercepts.c
133 endif
135 vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_SOURCES      = \
136         $(VGPRELOAD_DRD_SOURCES_COMMON)
137 vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS     = \
138         $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
139 vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS       = \
140         $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_PRI_CAPS@) $(DRD_CFLAGS)
141 vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_DEPENDENCIES = \
142         $(LIBREPLACEMALLOC_@VGCONF_PLATFORM_PRI_CAPS@)
143 vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS      = \
144         $(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) \
145         $(LIBREPLACEMALLOC_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
147 if VGCONF_HAVE_PLATFORM_SEC
148 vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_SOURCES      = \
149         $(VGPRELOAD_DRD_SOURCES_COMMON)
150 vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS     = \
151         $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
152 vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS       = \
153         $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_SEC_CAPS@) $(DRD_CFLAGS)
154 vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_DEPENDENCIES = \
155         $(LIBREPLACEMALLOC_@VGCONF_PLATFORM_SEC_CAPS@)
156 vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS      = \
157         $(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) \
158         $(LIBREPLACEMALLOC_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
159 endif