1*7c3d14c8STreehugger Robot# Build for the EfficiencySanitizer runtime support library. 2*7c3d14c8STreehugger Robot 3*7c3d14c8STreehugger Robotadd_custom_target(esan) 4*7c3d14c8STreehugger Robotset_target_properties(esan PROPERTIES FOLDER "Compiler-RT Misc") 5*7c3d14c8STreehugger Robot 6*7c3d14c8STreehugger Robotset(ESAN_RTL_CFLAGS ${SANITIZER_COMMON_CFLAGS}) 7*7c3d14c8STreehugger Robotappend_rtti_flag(OFF ESAN_RTL_CFLAGS) 8*7c3d14c8STreehugger Robot 9*7c3d14c8STreehugger Robotinclude_directories(..) 10*7c3d14c8STreehugger Robot 11*7c3d14c8STreehugger Robotset(ESAN_SOURCES 12*7c3d14c8STreehugger Robot esan.cpp 13*7c3d14c8STreehugger Robot esan_flags.cpp 14*7c3d14c8STreehugger Robot esan_interface.cpp 15*7c3d14c8STreehugger Robot esan_interceptors.cpp 16*7c3d14c8STreehugger Robot esan_linux.cpp 17*7c3d14c8STreehugger Robot esan_sideline_linux.cpp 18*7c3d14c8STreehugger Robot cache_frag.cpp 19*7c3d14c8STreehugger Robot working_set.cpp 20*7c3d14c8STreehugger Robot working_set_posix.cpp) 21*7c3d14c8STreehugger Robot 22*7c3d14c8STreehugger Robotforeach (arch ${ESAN_SUPPORTED_ARCH}) 23*7c3d14c8STreehugger Robot add_compiler_rt_runtime(clang_rt.esan 24*7c3d14c8STreehugger Robot STATIC 25*7c3d14c8STreehugger Robot ARCHS ${arch} 26*7c3d14c8STreehugger Robot SOURCES ${ESAN_SOURCES} 27*7c3d14c8STreehugger Robot $<TARGET_OBJECTS:RTInterception.${arch}> 28*7c3d14c8STreehugger Robot $<TARGET_OBJECTS:RTSanitizerCommon.${arch}> 29*7c3d14c8STreehugger Robot $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}> 30*7c3d14c8STreehugger Robot CFLAGS ${ESAN_RTL_CFLAGS}) 31*7c3d14c8STreehugger Robot add_sanitizer_rt_symbols(clang_rt.esan 32*7c3d14c8STreehugger Robot ARCHS ${arch} 33*7c3d14c8STreehugger Robot EXTRA esan.syms.extra) 34*7c3d14c8STreehugger Robot add_dependencies(esan 35*7c3d14c8STreehugger Robot clang_rt.esan-${arch} 36*7c3d14c8STreehugger Robot clang_rt.esan-${arch}-symbols) 37*7c3d14c8STreehugger Robotendforeach() 38*7c3d14c8STreehugger Robot 39*7c3d14c8STreehugger Robotadd_dependencies(compiler-rt esan) 40*7c3d14c8STreehugger Robot 41*7c3d14c8STreehugger Robotif (COMPILER_RT_INCLUDE_TESTS) 42*7c3d14c8STreehugger Robot # TODO(bruening): add tests via add_subdirectory(tests) 43*7c3d14c8STreehugger Robotendif() 44