blob: 23c80843195d2dd8ee078f2016859a5007976606 [file] [log] [blame]
Dan Liewb1f95692018-07-10 13:00:17 +00001set(STATS_HEADERS
2 stats.h)
3
Peter Collingbourne5788e122016-01-16 00:31:29 +00004include_directories(..)
5
6add_custom_target(stats)
Etienne Bergeronab42f4d2016-07-11 21:51:56 +00007set_target_properties(stats PROPERTIES FOLDER "Compiler-RT Misc")
Peter Collingbourne5788e122016-01-16 00:31:29 +00008
9if(APPLE)
10 set(STATS_LIB_FLAVOR SHARED)
Francis Ricciff567a82017-01-09 03:51:42 +000011
Petr Hosek2bbb6ad2017-07-28 03:39:38 +000012 set(STATS_LINK_LIBS ${SANITIZER_COMMON_LINK_LIBS})
13
Francis Ricci17781c72017-01-10 04:33:04 +000014 add_weak_symbols("asan" WEAK_SYMBOL_LINK_FLAGS)
15 add_weak_symbols("ubsan" WEAK_SYMBOL_LINK_FLAGS)
16 add_weak_symbols("sanitizer_common" WEAK_SYMBOL_LINK_FLAGS)
Peter Collingbourne5788e122016-01-16 00:31:29 +000017else()
18 set(STATS_LIB_FLAVOR STATIC)
Francis Ricciff567a82017-01-09 03:51:42 +000019
Francis Ricci17781c72017-01-10 04:33:04 +000020 set(WEAK_SYMBOL_LINK_FLAGS)
Peter Collingbourne5788e122016-01-16 00:31:29 +000021endif()
22
23add_compiler_rt_runtime(clang_rt.stats
24 ${STATS_LIB_FLAVOR}
25 ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
26 OS ${SANITIZER_COMMON_SUPPORTED_OS}
27 SOURCES stats.cc
Dan Liewb1f95692018-07-10 13:00:17 +000028 ADDITIONAL_HEADERS ${STATS_HEADERS}
Peter Collingbourne5788e122016-01-16 00:31:29 +000029 OBJECT_LIBS RTSanitizerCommon
30 RTSanitizerCommonLibc
Kostya Kortchinsky754da0c2018-04-16 16:58:34 +000031 RTSanitizerCommonSymbolizer
Peter Collingbourne5788e122016-01-16 00:31:29 +000032 CFLAGS ${SANITIZER_COMMON_CFLAGS}
Petr Hosek2bbb6ad2017-07-28 03:39:38 +000033 LINK_FLAGS ${SANITIZER_COMMON_LINK_FLAGS} ${WEAK_SYMBOL_LINK_FLAGS}
34 LINK_LIBS ${STATS_LINK_LIBS}
Peter Collingbourne5788e122016-01-16 00:31:29 +000035 PARENT_TARGET stats)
36
37add_compiler_rt_runtime(clang_rt.stats_client
38 STATIC
39 ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
40 OS ${SANITIZER_COMMON_SUPPORTED_OS}
41 SOURCES stats_client.cc
Dan Liewb1f95692018-07-10 13:00:17 +000042 ADDITIONAL_HEADERS ${STATS_HEADERS}
Peter Collingbourne5788e122016-01-16 00:31:29 +000043 CFLAGS ${SANITIZER_COMMON_CFLAGS}
Francis Ricci17781c72017-01-10 04:33:04 +000044 LINK_FLAGS ${WEAK_SYMBOL_LINK_FLAGS}
Peter Collingbourne5788e122016-01-16 00:31:29 +000045 PARENT_TARGET stats)