1295349Sdim# $FreeBSD: releng/11.0/lib/libclang_rt/asan_dynamic/Makefile 297283 2016-03-26 03:46:12Z bdrewery $
2295349Sdim
3295349Sdim.include <bsd.init.mk>
4295349Sdim
5295349SdimSHLIB_NAME=	libclang_rt.asan-${CRTARCH}.so
6295349Sdim.undef NO_PIC # sorry...
7295349Sdim
8295349Sdim.PATH:	${CRTSRC}/lib/asan\
9295349Sdim	${CRTSRC}/lib/interception\
10295349Sdim	${CRTSRC}/lib/sanitizer_common\
11295349Sdim	${CRTSRC}/lib/lsan\
12295349Sdim	${CRTSRC}/lib/ubsan
13295349Sdim
14295349SdimSRCS=	interception_linux.cc\
15295349Sdim	interception_mac.cc\
16295349Sdim	interception_win.cc\
17295349Sdim	interception_type_test.cc\
18295349Sdim	sanitizer_allocator.cc\
19295349Sdim	sanitizer_common.cc\
20295349Sdim	sanitizer_deadlock_detector1.cc\
21295349Sdim	sanitizer_deadlock_detector2.cc\
22295349Sdim	sanitizer_flags.cc\
23295349Sdim	sanitizer_flag_parser.cc\
24295349Sdim	sanitizer_libc.cc\
25295349Sdim	sanitizer_libignore.cc\
26295349Sdim	sanitizer_linux.cc\
27295349Sdim	sanitizer_mac.cc\
28295349Sdim	sanitizer_persistent_allocator.cc\
29295349Sdim	sanitizer_platform_limits_linux.cc\
30295349Sdim	sanitizer_platform_limits_posix.cc\
31295349Sdim	sanitizer_posix.cc\
32295349Sdim	sanitizer_printf.cc\
33295349Sdim	sanitizer_procmaps_common.cc\
34295349Sdim	sanitizer_procmaps_freebsd.cc\
35295349Sdim	sanitizer_procmaps_linux.cc\
36295349Sdim	sanitizer_procmaps_mac.cc\
37295349Sdim	sanitizer_stackdepot.cc\
38295349Sdim	sanitizer_stacktrace.cc\
39295349Sdim	sanitizer_stacktrace_printer.cc\
40295349Sdim	sanitizer_suppressions.cc\
41295349Sdim	sanitizer_symbolizer.cc\
42295349Sdim	sanitizer_symbolizer_libbacktrace.cc\
43295349Sdim	sanitizer_symbolizer_mac.cc\
44295349Sdim	sanitizer_symbolizer_win.cc\
45295349Sdim	sanitizer_tls_get_addr.cc\
46295349Sdim	sanitizer_thread_registry.cc\
47295349Sdim	sanitizer_win.cc\
48295349Sdim	sanitizer_common_libcdep.cc\
49295349Sdim	sanitizer_coverage_libcdep.cc\
50295349Sdim	sanitizer_coverage_mapping_libcdep.cc\
51295349Sdim	sanitizer_linux_libcdep.cc\
52295349Sdim	sanitizer_posix_libcdep.cc\
53295349Sdim	sanitizer_stacktrace_libcdep.cc\
54295349Sdim	sanitizer_stoptheworld_linux_libcdep.cc\
55295349Sdim	sanitizer_symbolizer_libcdep.cc\
56295349Sdim	sanitizer_symbolizer_posix_libcdep.cc\
57295349Sdim	sanitizer_unwind_linux_libcdep.cc\
58295349Sdim	lsan_common.cc\
59295349Sdim	lsan_common_linux.cc\
60295349Sdim	ubsan_diag.cc\
61295349Sdim	ubsan_init.cc\
62295349Sdim	ubsan_flags.cc\
63295349Sdim	ubsan_handlers.cc\
64295349Sdim	ubsan_value.cc\
65295349Sdim	asan_allocator.cc\
66295349Sdim	asan_activation.cc\
67295349Sdim	asan_debugging.cc\
68295349Sdim	asan_fake_stack.cc\
69295349Sdim	asan_flags.cc\
70295349Sdim	asan_globals.cc\
71295349Sdim	asan_interceptors.cc\
72295349Sdim	asan_linux.cc\
73295349Sdim	asan_mac.cc\
74295349Sdim	asan_malloc_linux.cc\
75295349Sdim	asan_malloc_mac.cc\
76295349Sdim	asan_malloc_win.cc\
77295349Sdim	asan_poisoning.cc\
78295349Sdim	asan_posix.cc\
79295349Sdim	asan_report.cc\
80295349Sdim	asan_rtl.cc\
81295349Sdim	asan_stack.cc\
82295349Sdim	asan_stats.cc\
83295349Sdim	asan_suppressions.cc\
84295349Sdim	asan_thread.cc\
85295349Sdim	asan_win.cc\
86295349Sdim	asan_new_delete.cc\
87295349Sdim	ubsan_handlers_cxx.cc\
88295349Sdim	ubsan_type_hash.cc\
89295349Sdim	ubsan_type_hash_itanium.cc\
90295349Sdim	ubsan_type_hash_win.cc
91295349Sdim
92295349Sdim# Kludge around a bsd.lib.mk shortcoming: when SHLIB_NAME is defined, but LIB
93295349Sdim# and LIB_CXX are undefined (which forces building only a shared library),
94295349Sdim# there is no way to tell it to use ${CXX} for linking.  Since the files for
95295349Sdim# this library are all C++ anyway, simply set CC to CXX.
96295349SdimCC=		${CXX}
97295349Sdim
98295349Sdim.include <bsd.lib.mk>
99295349Sdim
100295349SdimCXXFLAGS.ubsan_handlers_cxx.cc=		-frtti
101295349SdimCXXFLAGS.ubsan_type_hash.cc=		-frtti
102295349SdimCXXFLAGS.ubsan_type_hash_itanium.cc=	-frtti
103295349SdimCXXFLAGS.ubsan_type_hash_win.cc=	-frtti
104