xref: /freebsd/lib/libclang_rt/asan_dynamic/Makefile (revision 1e248b8346cbf585990a4da0199c6cc3b9cc2340)
1# $FreeBSD$
2
3.include <bsd.init.mk>
4
5SHLIB_NAME=	libclang_rt.asan-${CRTARCH}.so
6.undef NO_PIC # sorry...
7
8.PATH:	${CRTSRC}/lib/asan\
9	${CRTSRC}/lib/interception\
10	${CRTSRC}/lib/sanitizer_common\
11	${CRTSRC}/lib/lsan\
12	${CRTSRC}/lib/ubsan
13
14SRCS=	interception_linux.cc\
15	interception_mac.cc\
16	interception_win.cc\
17	interception_type_test.cc\
18	sanitizer_allocator.cc\
19	sanitizer_common.cc\
20	sanitizer_deadlock_detector1.cc\
21	sanitizer_deadlock_detector2.cc\
22	sanitizer_flags.cc\
23	sanitizer_flag_parser.cc\
24	sanitizer_libc.cc\
25	sanitizer_libignore.cc\
26	sanitizer_linux.cc\
27	sanitizer_mac.cc\
28	sanitizer_persistent_allocator.cc\
29	sanitizer_platform_limits_linux.cc\
30	sanitizer_platform_limits_posix.cc\
31	sanitizer_posix.cc\
32	sanitizer_printf.cc\
33	sanitizer_procmaps_common.cc\
34	sanitizer_procmaps_freebsd.cc\
35	sanitizer_procmaps_linux.cc\
36	sanitizer_procmaps_mac.cc\
37	sanitizer_stackdepot.cc\
38	sanitizer_stacktrace.cc\
39	sanitizer_stacktrace_printer.cc\
40	sanitizer_suppressions.cc\
41	sanitizer_symbolizer.cc\
42	sanitizer_symbolizer_libbacktrace.cc\
43	sanitizer_symbolizer_mac.cc\
44	sanitizer_symbolizer_win.cc\
45	sanitizer_tls_get_addr.cc\
46	sanitizer_thread_registry.cc\
47	sanitizer_win.cc\
48	sanitizer_common_libcdep.cc\
49	sanitizer_coverage_libcdep.cc\
50	sanitizer_coverage_mapping_libcdep.cc\
51	sanitizer_linux_libcdep.cc\
52	sanitizer_posix_libcdep.cc\
53	sanitizer_stacktrace_libcdep.cc\
54	sanitizer_stoptheworld_linux_libcdep.cc\
55	sanitizer_symbolizer_libcdep.cc\
56	sanitizer_symbolizer_posix_libcdep.cc\
57	sanitizer_unwind_linux_libcdep.cc\
58	lsan_common.cc\
59	lsan_common_linux.cc\
60	ubsan_diag.cc\
61	ubsan_init.cc\
62	ubsan_flags.cc\
63	ubsan_handlers.cc\
64	ubsan_value.cc\
65	asan_allocator.cc\
66	asan_activation.cc\
67	asan_debugging.cc\
68	asan_fake_stack.cc\
69	asan_flags.cc\
70	asan_globals.cc\
71	asan_interceptors.cc\
72	asan_linux.cc\
73	asan_mac.cc\
74	asan_malloc_linux.cc\
75	asan_malloc_mac.cc\
76	asan_malloc_win.cc\
77	asan_poisoning.cc\
78	asan_posix.cc\
79	asan_report.cc\
80	asan_rtl.cc\
81	asan_stack.cc\
82	asan_stats.cc\
83	asan_suppressions.cc\
84	asan_thread.cc\
85	asan_win.cc\
86	asan_new_delete.cc\
87	ubsan_handlers_cxx.cc\
88	ubsan_type_hash.cc\
89	ubsan_type_hash_itanium.cc\
90	ubsan_type_hash_win.cc
91
92# Kludge around a bsd.lib.mk shortcoming: when SHLIB_NAME is defined, but LIB
93# and LIB_CXX are undefined (which forces building only a shared library),
94# there is no way to tell it to use ${CXX} for linking.  Since the files for
95# this library are all C++ anyway, simply set CC to CXX.
96CC=		${CXX}
97
98.include <bsd.lib.mk>
99
100CXXFLAGS.ubsan_handlers_cxx.cc=		-frtti
101CXXFLAGS.ubsan_type_hash.cc=		-frtti
102CXXFLAGS.ubsan_type_hash_itanium.cc=	-frtti
103CXXFLAGS.ubsan_type_hash_win.cc=	-frtti
104CXXFLAGS+=				${CXXFLAGS.${.IMPSRC:T}}
105