<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Good day,<div class=""><br class=""></div><div class="">As part of a project of moving libFuzzer to compiler-rt I am trying to port libFuzzer tests to the new system.</div><div class="">I have a question about CMake structure for sanitizer tests:</div><div class="">compilation macros across different sanitizers are structured in almost-the-same-but-not-quite-way.</div><div class="">For instance, across tsan/msan/asan/xray we have:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; line-height: normal; font-family: Courier; color: rgb(95, 95, 95); -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 95, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 1 </span><span style="font-kerning: none" class=""># tsan_compile(obj_list, source, arch, {headers})</span></div><div style="margin: 0px; line-height: normal; font-family: Courier; color: rgb(255, 135, 0); -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(255, 135, 0); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 2 </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">macro</b></span><span style="font-kerning: none" class="">(tsan_compile obj_list source arch)</span></div><div style="margin: 0px; line-height: normal; font-family: Courier; color: rgb(215, 0, 95); -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(215, 0, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 3 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="font-kerning: none" class=""><b class="">get_filename_component</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(basename </span><span style="-webkit-font-kerning: none; color: rgb(95, 215, 255); -webkit-text-stroke-color: rgb(95, 215, 255);" class="">${source}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> </span><span style="font-kerning: none" class="">NAME</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="margin: 0px; line-height: normal; font-family: Courier; color: rgb(95, 215, 255); -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 4 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">set</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(output_obj </span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">"</span><span style="font-kerning: none" class="">${basename}</span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">.</span><span style="font-kerning: none" class="">${arch}</span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">.o"</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="margin: 0px; line-height: normal; font-family: Courier; color: rgb(208, 208, 208); -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(208, 208, 208); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 5 </span><span style="font-kerning: none" class="">  get_target_flags_for_arch</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(</span><span style="-webkit-font-kerning: none; color: rgb(95, 215, 255); -webkit-text-stroke-color: rgb(95, 215, 255);" class="">${arch}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> TARGET_CFLAGS)</span></div><div style="margin: 0px; line-height: normal; font-family: Courier; color: rgb(95, 215, 255); -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 6 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">set</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(COMPILE_DEPS </span><span style="font-kerning: none" class="">${TSAN_RTL_HEADERS}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> </span><span style="font-kerning: none" class="">${ARGN}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="margin: 0px; line-height: normal; font-family: Courier; color: rgb(255, 135, 0); -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(255, 135, 0); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 7 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">if</b></span><span style="font-kerning: none" class="">(</span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class="">NOT</span><span style="font-kerning: none" class=""> COMPILER_RT_STANDALONE_BUILD)</span></div><div style="margin: 0px; line-height: normal; font-family: Courier; color: rgb(255, 135, 0); -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(255, 135, 0); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 8 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">    </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">list</b></span><span style="font-kerning: none" class="">(APPEND COMPILE_DEPS gtest tsan)</span></div><div style="margin: 0px; line-height: normal; font-family: Courier; color: rgb(215, 0, 95); -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(215, 0, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 9 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="font-kerning: none" class=""><b class="">endif</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">()</span></div><div style="margin: 0px; line-height: normal; font-family: Courier; color: rgb(95, 215, 255); -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">10 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  clang_compile</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(</span><span style="font-kerning: none" class="">${output_obj}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> </span><span style="font-kerning: none" class="">${source}</span></div><div style="margin: 0px; line-height: normal; font-family: Courier; color: rgb(95, 215, 255); -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">11 </span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">          CFLAGS </span><span style="font-kerning: none" class="">${TSAN_UNITTEST_CFLAGS}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> </span><span style="font-kerning: none" class="">${TARGET_CFLAGS}</span></div><div style="margin: 0px; line-height: normal; font-family: Courier; color: rgb(255, 135, 0); -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(255, 135, 0); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">12 </span><span style="font-kerning: none" class="">          DEPS </span><span style="-webkit-font-kerning: none; color: rgb(95, 215, 255); -webkit-text-stroke-color: rgb(95, 215, 255);" class="">${COMPILE_DEPS}</span><span style="font-kerning: none" class="">)</span></div><div style="margin: 0px; line-height: normal; font-family: Courier; color: rgb(95, 215, 255); -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">13 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">list</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(APPEND </span><span style="font-kerning: none" class="">${obj_list}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> </span><span style="font-kerning: none" class="">${output_obj}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="margin: 0px; line-height: normal; font-family: Courier; color: rgb(215, 0, 95); -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(215, 0, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">14 </span><span style="font-kerning: none" class=""><b class="">endmacro</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">()</span></div></div><div class=""><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""><br class=""></span></div><div class=""><span style="-webkit-font-kerning: none; -webkit-text-stroke-color: rgb(255, 135, 0);" class=""><div style="color: rgb(95, 95, 95); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 95, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 1 </span><span style="font-kerning: none" class=""># Compile source for the given architecture, using compiler</span></div><div style="color: rgb(95, 95, 95); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 95, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 2 </span><span style="font-kerning: none" class=""># options in ${ARGN}, and add it to the object list.</span></div><div style="color: rgb(255, 135, 0); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 3 </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">macro</b></span><span style="font-kerning: none" class="">(asan_compile obj_list source arch kind)</span></div><div style="color: rgb(215, 0, 95); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(215, 0, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 4 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="font-kerning: none" class=""><b class="">get_filename_component</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(basename </span><span style="-webkit-font-kerning: none; color: rgb(95, 215, 255); -webkit-text-stroke-color: rgb(95, 215, 255);" class="">${source}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> </span><span style="font-kerning: none" class="">NAME</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="color: rgb(255, 135, 0); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 5 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">if</b></span><span style="font-kerning: none" class="">(CMAKE_CONFIGURATION_TYPES)</span></div><div style="color: rgb(95, 215, 255); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 6 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">    </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">set</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(output_obj </span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">"</span><span style="font-kerning: none" class="">${CMAKE_CFG_INTDIR}</span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">/</span><span style="font-kerning: none" class="">${obj_list}</span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">.</span><span style="font-kerning: none" class="">${basename}</span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">.</span><span style="font-kerning: none" class="">${arch}${kind}</span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">.o"</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="color: rgb(215, 0, 95); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(215, 0, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 7 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="font-kerning: none" class=""><b class="">else</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">()</span></div><div style="color: rgb(95, 215, 255); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 8 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">    </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">set</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(output_obj </span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">"</span><span style="font-kerning: none" class="">${obj_list}</span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">.</span><span style="font-kerning: none" class="">${basename}</span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">.</span><span style="font-kerning: none" class="">${arch}${kind}</span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">.o"</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="color: rgb(215, 0, 95); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(215, 0, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 9 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="font-kerning: none" class=""><b class="">endif</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">()</span></div><div style="color: rgb(208, 208, 208); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(208, 208, 208); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">10 </span><span style="font-kerning: none" class="">  get_target_flags_for_arch</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(</span><span style="-webkit-font-kerning: none; color: rgb(95, 215, 255); -webkit-text-stroke-color: rgb(95, 215, 255);" class="">${arch}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> TARGET_CFLAGS)</span></div><div style="color: rgb(95, 215, 255); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">11 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">set</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(COMPILE_DEPS </span><span style="font-kerning: none" class="">${ASAN_UNITTEST_HEADERS}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> </span><span style="font-kerning: none" class="">${ASAN_BLACKLIST_FILE}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="color: rgb(255, 135, 0); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">12 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">if</b></span><span style="font-kerning: none" class="">(</span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class="">NOT</span><span style="font-kerning: none" class=""> COMPILER_RT_STANDALONE_BUILD)</span></div><div style="color: rgb(255, 135, 0); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">13 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">    </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">list</b></span><span style="font-kerning: none" class="">(APPEND COMPILE_DEPS gtest asan)</span></div><div style="color: rgb(215, 0, 95); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(215, 0, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">14 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="font-kerning: none" class=""><b class="">endif</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">()</span></div><div style="color: rgb(95, 215, 255); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">15 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  clang_compile</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(</span><span style="font-kerning: none" class="">${output_obj}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> </span><span style="font-kerning: none" class="">${source}</span></div><div style="color: rgb(255, 135, 0); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">16 </span><span style="font-kerning: none" class="">                CFLAGS </span><span style="-webkit-font-kerning: none; color: rgb(95, 215, 255); -webkit-text-stroke-color: rgb(95, 215, 255);" class="">${ARGN}</span><span style="font-kerning: none" class=""> </span><span style="-webkit-font-kerning: none; color: rgb(95, 215, 255); -webkit-text-stroke-color: rgb(95, 215, 255);" class="">${TARGET_CFLAGS}</span></div><div style="color: rgb(255, 135, 0); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">17 </span><span style="font-kerning: none" class="">                DEPS </span><span style="-webkit-font-kerning: none; color: rgb(95, 215, 255); -webkit-text-stroke-color: rgb(95, 215, 255);" class="">${COMPILE_DEPS}</span><span style="font-kerning: none" class="">)</span></div><div style="color: rgb(95, 215, 255); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">18 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">list</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(APPEND </span><span style="font-kerning: none" class="">${obj_list}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> </span><span style="font-kerning: none" class="">${output_obj}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="color: rgb(215, 0, 95); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(215, 0, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">19 </span><span style="font-kerning: none" class=""><b class="">endmacro</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">()</span></div><div class="" style="color: rgb(255, 135, 0);"><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""><br class=""></span></div><div class=""><span style="-webkit-font-kerning: none; -webkit-text-stroke-color: rgb(255, 135, 0);" class=""><div style="color: rgb(95, 95, 95); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 95, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 1 </span><span style="font-kerning: none" class=""># Compile source for the given architecture, using compiler</span></div><div style="color: rgb(95, 95, 95); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 95, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 2 </span><span style="font-kerning: none" class=""># options in ${ARGN}, and add it to the object list.</span></div><div style="color: rgb(255, 135, 0); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 3 </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">macro</b></span><span style="font-kerning: none" class="">(msan_compile obj_list source arch kind)</span></div><div style="color: rgb(215, 0, 95); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(215, 0, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 4 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="font-kerning: none" class=""><b class="">get_filename_component</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(basename </span><span style="-webkit-font-kerning: none; color: rgb(95, 215, 255); -webkit-text-stroke-color: rgb(95, 215, 255);" class="">${source}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> </span><span style="font-kerning: none" class="">NAME</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="color: rgb(95, 215, 255); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 5 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">set</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(output_obj </span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">"</span><span style="font-kerning: none" class="">${basename}</span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">.</span><span style="font-kerning: none" class="">${arch}${kind}</span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">.o"</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="color: rgb(208, 208, 208); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(208, 208, 208); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 6 </span><span style="font-kerning: none" class="">  get_target_flags_for_arch</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(</span><span style="-webkit-font-kerning: none; color: rgb(95, 215, 255); -webkit-text-stroke-color: rgb(95, 215, 255);" class="">${arch}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> TARGET_CFLAGS)</span></div><div style="color: rgb(95, 215, 255); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 7 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">set</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(COMPILE_DEPS </span><span style="font-kerning: none" class="">${MSAN_UNITTEST_HEADERS}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="color: rgb(255, 135, 0); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 8 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">if</b></span><span style="font-kerning: none" class="">(</span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class="">NOT</span><span style="font-kerning: none" class=""> COMPILER_RT_STANDALONE_BUILD)</span></div><div style="color: rgb(255, 135, 0); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 9 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">    </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">list</b></span><span style="font-kerning: none" class="">(APPEND COMPILE_DEPS gtest msan)</span></div><div style="color: rgb(215, 0, 95); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(215, 0, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">10 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="font-kerning: none" class=""><b class="">endif</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">()</span></div><div style="color: rgb(95, 215, 255); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">11 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  clang_compile</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(</span><span style="font-kerning: none" class="">${output_obj}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> </span><span style="font-kerning: none" class="">${source}</span></div><div style="color: rgb(255, 135, 0); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">12 </span><span style="font-kerning: none" class="">                CFLAGS </span><span style="-webkit-font-kerning: none; color: rgb(95, 215, 255); -webkit-text-stroke-color: rgb(95, 215, 255);" class="">${ARGN}</span><span style="font-kerning: none" class=""> </span><span style="-webkit-font-kerning: none; color: rgb(95, 215, 255); -webkit-text-stroke-color: rgb(95, 215, 255);" class="">${TARGET_CFLAGS}</span></div><div style="color: rgb(255, 135, 0); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">13 </span><span style="font-kerning: none" class="">                DEPS </span><span style="-webkit-font-kerning: none; color: rgb(95, 215, 255); -webkit-text-stroke-color: rgb(95, 215, 255);" class="">${COMPILE_DEPS}</span><span style="font-kerning: none" class="">)</span></div><div style="color: rgb(95, 215, 255); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">14 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">list</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(APPEND </span><span style="font-kerning: none" class="">${obj_list}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> </span><span style="font-kerning: none" class="">${output_obj}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="color: rgb(215, 0, 95); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(215, 0, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">15 </span><span style="font-kerning: none" class=""><b class="">endmacro</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">()</span></div><div class="" style="color: rgb(255, 135, 0);"><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""><br class=""></span></div><div class=""><span style="-webkit-font-kerning: none; -webkit-text-stroke-color: rgb(255, 135, 0);" class=""><div style="color: rgb(255, 135, 0); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 1 </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">macro</b></span><span style="font-kerning: none" class="">(xray_compile obj_list source arch)</span></div><div style="color: rgb(215, 0, 95); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(215, 0, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 2 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="font-kerning: none" class=""><b class="">get_filename_component</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(basename </span><span style="-webkit-font-kerning: none; color: rgb(95, 215, 255); -webkit-text-stroke-color: rgb(95, 215, 255);" class="">${source}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> </span><span style="font-kerning: none" class="">NAME</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="color: rgb(95, 215, 255); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 3 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">set</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(output_obj </span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">"</span><span style="font-kerning: none" class="">${basename}</span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">.</span><span style="font-kerning: none" class="">${arch}</span><span style="-webkit-font-kerning: none; color: rgb(175, 175, 135); -webkit-text-stroke-color: rgb(175, 175, 135);" class="">.o"</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="color: rgb(208, 208, 208); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(208, 208, 208); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 4 </span><span style="font-kerning: none" class="">  get_target_flags_for_arch</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(</span><span style="-webkit-font-kerning: none; color: rgb(95, 215, 255); -webkit-text-stroke-color: rgb(95, 215, 255);" class="">${arch}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> TARGET_CFLAGS)</span></div><div style="color: rgb(255, 135, 0); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 5 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">if</b></span><span style="font-kerning: none" class="">(</span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class="">NOT</span><span style="font-kerning: none" class=""> COMPILER_RT_STANDALONE_BUILD)</span></div><div style="color: rgb(255, 135, 0); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 6 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">    </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">list</b></span><span style="font-kerning: none" class="">(APPEND COMPILE_DEPS gtest_main xray)</span></div><div style="color: rgb(215, 0, 95); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(215, 0, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 7 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="font-kerning: none" class=""><b class="">endif</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">()</span></div><div style="color: rgb(95, 215, 255); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 8 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  clang_compile</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(</span><span style="font-kerning: none" class="">${output_obj}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> </span><span style="font-kerning: none" class="">${source}</span></div><div style="color: rgb(95, 215, 255); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class=""> 9 </span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">    CFLAGS </span><span style="font-kerning: none" class="">${XRAY_UNITTEST_CFLAGS}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> </span><span style="font-kerning: none" class="">${TARGET_CFLAGS}</span></div><div style="color: rgb(95, 215, 255); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">10 </span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">    DEPS </span><span style="font-kerning: none" class="">${COMPILE_DEPS}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="color: rgb(95, 215, 255); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(95, 215, 255); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">11 </span><span style="-webkit-font-kerning: none; color: rgb(208, 208, 208); -webkit-text-stroke-color: rgb(208, 208, 208);" class="">  </span><span style="-webkit-font-kerning: none; color: rgb(215, 0, 95); -webkit-text-stroke-color: rgb(215, 0, 95);" class=""><b class="">list</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">(APPEND </span><span style="font-kerning: none" class="">${obj_list}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class=""> </span><span style="font-kerning: none" class="">${output_obj}</span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">)</span></div><div style="color: rgb(215, 0, 95); margin: 0px; line-height: normal; font-family: Courier; -webkit-text-stroke-width: initial; -webkit-text-stroke-color: rgb(215, 0, 95); background-color: rgb(18, 18, 18);" class=""><span style="-webkit-font-kerning: none; color: rgb(188, 188, 188); background-color: rgb(48, 48, 48); -webkit-text-stroke-color: rgb(188, 188, 188);" class="">12 </span><span style="font-kerning: none" class=""><b class="">endmacro</b></span><span style="-webkit-font-kerning: none; color: rgb(255, 135, 0); -webkit-text-stroke-color: rgb(255, 135, 0);" class="">()</span></div><div class="" style="color: rgb(255, 135, 0);"><br class=""></div><div class="">The code is duplicated, yet with minor differences, begging question e.g. why CMAKE_CFG_INTDIR path workaround is applied to asan, but not to others.</div><div class=""><br class=""></div><div class="">For future libraries in compiler-rt, should yet fifth copy of the function be added, or would it be better to extract it into a common macro which could be reused?</div><div class="">I can do the latter if agreed that it is a good idea.</div><div class=""><br class=""></div><div class="">George</div></span></div></span></div></span></div></body></html>