<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Jan 25, 2018, at 16:18, Duncan P. N. Exon Smith via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org" class="">cfe-commits@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Jan 25, 2018, at 13:07, Don Hinton <<a href="mailto:hintonda@gmail.com" class="">hintonda@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote">On Thu, Jan 25, 2018 at 12:54 PM, Chris Bieneman <span dir="ltr" class=""><<a href="mailto:beanz@apple.com" target="_blank" class="">beanz@apple.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word" class="">Historically we have supported building libcxx without llvm-config available on the system.<div class=""><br class=""></div><div class="">In all likelihood the bots didn't fail because the bots do have llvm-config because we usually require an llvm build or source checkout in order to build and run the tests since tests depend on lit and gtest.</div></div></blockquote><div class=""><br class=""></div><div class="">Ah, okay, but if the bots don't test/enforce this, does it make sense to continue to support building without llvm-config?<br class=""></div></div></div></div></div></blockquote><div class=""><br class=""></div>I didn't realize we didn't have a bot enforcing this.  I just made one:<div class=""><a href="http://lab.llvm.org:8080/green/view/Libcxx/job/libcxx_master_cmake_standalone" class="">http://lab.llvm.org:8080/green/view/Libcxx/job/libcxx_master_cmake_standalone</a></div><div class=""><div class=""><br class=""></div></div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class="">I don't want to break upstream users, but the alternative is to duplicate this logic across multiple sub-projects.  (see <a href="http://lists.llvm.org/pipermail/llvm-dev/2018-January/120707.html" class="">http://lists.llvm.org/pipermail/llvm-dev/2018-January/120707.html</a> for a related rpath issue).</div></div></div></div></div></blockquote><div class=""><br class=""></div><div class="">It's temporary though.  In the brave new world on GitHub with monorepo, the runtime libraries will be able to access a shared set of CMake configuration scripts.</div></div></div></div></blockquote><div><br class=""></div><div>Note that there's other stuff duplicated in the runtime libraries, such as preprocessor definitions (LLVM_... => __LIBCXX_...), that we'll never really be able to collapse.</div><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""><br class=""></div><div class=""> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word" class=""><div class=""><span class="gmail-HOEnZb"><font color="#888888" class=""><br class=""><div class=""><br class=""></div></font></span><div class=""><span class="gmail-HOEnZb"><font color="#888888" class="">-Chris</font></span><div class=""><div class="gmail-h5"><br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Jan 25, 2018, at 12:51 PM, Don Hinton <<a href="mailto:hintonda@gmail.com" target="_blank" class="">hintonda@gmail.com</a>> wrote:</div><br class="gmail-m_-6286845015493184252Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote">On Thu, Jan 25, 2018 at 12:29 PM, Duncan P. N. Exon Smith <span dir="ltr" class=""><<a href="mailto:dexonsmith@apple.com" target="_blank" class="">dexonsmith@apple.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word" class=""><div class=""></div><div class=""><div class="">I don't really understand why, but our bots seemed to survive this:</div><div class=""><a href="http://lab.llvm.org:8080/green/view/Libcxx/job/libcxx_master_cmake/2137/" target="_blank" class="">http://lab.llvm.org:8080/green<wbr class="">/view/Libcxx/job/libcxx_master<wbr class="">_cmake/2137/</a></div><div class=""><br class=""></div><div class="">Console output is here:</div><div class=""><a href="http://lab.llvm.org:8080/green/view/Libcxx/job/libcxx_master_cmake/2137/consoleFull" target="_blank" class="">http://lab.llvm.org:8080/green<wbr class="">/view/Libcxx/job/libcxx_master<wbr class="">_cmake/2137/consoleFull</a></div><div class=""><br class=""></div><div class="">That doesn't necessarily mean it's safe.  Does anyone know why this might have "worked"?</div></div></div></blockquote><div class=""><br class=""></div><div class="">I'm not an expert, but llvm installs all of these cmake modules along side llvm-config, so if you find llvm-config, you find these modules.</div><div class=""><br class=""></div><div class="">So, unless I'm missing something, it looks like AddLLVM.cmake is always available.</div><div class=""> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word" class=""><div class=""><div class=""><div class="gmail-m_-6286845015493184252h5"><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Jan 25, 2018, at 11:02, Shoaib Meenai <<a href="mailto:smeenai@fb.com" target="_blank" class="">smeenai@fb.com</a>> wrote:</div><br class="gmail-m_-6286845015493184252m_4857861198779353090Apple-interchange-newline"><div class=""><div class="gmail-m_-6286845015493184252m_4857861198779353090WordSection1" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif" class="">This is going to break building libc++ standalone (i.e. without any LLVM repository or even its CMake modules), right? Some upstream users care a lot about that use case (CC beanz and Duncan).<u class=""></u><u class=""></u></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif" class=""><u class=""></u> <u class=""></u></div><div style="border-style:solid none none;border-top-width:1pt;border-top-color:rgb(181,196,223);padding:3pt 0in 0in" class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class=""><b class=""><span style="font-size:12pt" class="">From:<span class="gmail-m_-6286845015493184252m_4857861198779353090Apple-converted-space"> </span></span></b><span style="font-size:12pt" class="">cfe-commits <<a href="mailto:cfe-commits-bounces@lists.llvm.org" style="color:purple;text-decoration:underline" target="_blank" class="">cfe-commits-bounces@lists.llv<wbr class="">m.org</a>> on behalf of Don Hinton via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org" style="color:purple;text-decoration:underline" target="_blank" class="">cfe-commits@lists.llvm.org</a>><br class=""><b class="">Reply-To:<span class="gmail-m_-6286845015493184252m_4857861198779353090Apple-converted-space"> </span></b>Don Hinton <<a href="mailto:hintonda@gmail.com" style="color:purple;text-decoration:underline" target="_blank" class="">hintonda@gmail.com</a>><br class=""><b class="">Date:<span class="gmail-m_-6286845015493184252m_4857861198779353090Apple-converted-space"> </span></b>Thursday, January 25, 2018 at 10:15 AM<br class=""><b class="">To:<span class="gmail-m_-6286845015493184252m_4857861198779353090Apple-converted-space"> </span></b>"<a href="mailto:cfe-commits@lists.llvm.org" style="color:purple;text-decoration:underline" target="_blank" class="">cfe-commits@lists.llvm.or<wbr class="">g</a>" <<a href="mailto:cfe-commits@lists.llvm.org" style="color:purple;text-decoration:underline" target="_blank" class="">cfe-commits@lists.llvm.org</a>><br class=""><b class="">Subject:<span class="gmail-m_-6286845015493184252m_4857861198779353090Apple-converted-space"> </span></b>[libcxx] r323453 - [cmake] [libcxx] Call llvm_setup_rpath() when adding shared libraries.<u class=""></u><u class=""></u></span></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class=""><u class=""></u> <u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">Author: dhinton<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">Date: Thu Jan 25 10:13:26 2018<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">New Revision: 323453<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class=""><u class=""></u> <u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">URL:<span class="gmail-m_-6286845015493184252m_4857861198779353090Apple-converted-space"> </span><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D323453-26view-3Drev&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=zwvSmk9ZIfMARYg3JvYvNuA0Iz-PEq3H2i_ICF6vsR8&s=LDCu89byjNdZWoCIYHGHaPr3IamIdHLF0JwbnYE92vM&e=" style="color:purple;text-decoration:underline" target="_blank" class="">https://urldefense.proofp<wbr class="">oint.com/v2/url?u=http-3A__<wbr class="">llvm.org_viewvc_llvm-2Dproject<wbr class="">-3Frev-3D323453-26view-3Drev&<wbr class="">d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3<wbr class="">MUw&r=o3kDXzdBUE3ljQXKeTWOMw&<wbr class="">m=zwvSmk9ZIfMARYg3JvYvNuA0Iz-P<wbr class="">Eq3H2i_ICF6vsR8&s=LDCu89byjNdZ<wbr class="">WoCIYHGHaPr3IamIdHLF0JwbnYE92v<wbr class="">M&e=</a><u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">Log:<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">[cmake] [libcxx] Call llvm_setup_rpath() when adding shared libraries.<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class=""><u class=""></u> <u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">Clang and llvm already use llvm_setup_rpath(), so this change will<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">help standarize rpath usage across all projects.<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class=""><u class=""></u> <u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">Differential Revision:<span class="gmail-m_-6286845015493184252m_4857861198779353090Apple-converted-space"> </span><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__reviews.llvm.org_D42459&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=zwvSmk9ZIfMARYg3JvYvNuA0Iz-PEq3H2i_ICF6vsR8&s=YCR-YJBua5p-4IK05GjHoZUU7aN8UJAFzL2xaz7byyw&e=" style="color:purple;text-decoration:underline" target="_blank" class="">https://urldefense.p<wbr class="">roofpoint.com/v2/url?u=https-3<wbr class="">A__reviews.llvm.org_D42459&d=D<wbr class="">wIGaQ&c=5VD0RTtNlTh3ycd41b3MUw<wbr class="">&r=o3kDXzdBUE3ljQXKeTWOMw&m=zw<wbr class="">vSmk9ZIfMARYg3JvYvNuA0Iz-PEq3H<wbr class="">2i_ICF6vsR8&s=YCR-YJBua5p-4IK0<wbr class="">5GjHoZUU7aN8UJAFzL2xaz7byyw&e=</a><u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class=""><u class=""></u> <u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">Modified:<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">    libcxx/trunk/lib/CMakeList<wbr class="">s.txt<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class=""><u class=""></u> <u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">Modified: libcxx/trunk/lib/CMakeLists.tx<wbr class="">t<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">URL:<span class="gmail-m_-6286845015493184252m_4857861198779353090Apple-converted-space"> </span><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_libcxx_trunk_lib_CMakeLists.txt-3Frev-3D323453-26r1-3D323452-26r2-3D323453-26view-3Ddiff&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=zwvSmk9ZIfMARYg3JvYvNuA0Iz-PEq3H2i_ICF6vsR8&s=Rd7xc2GWS8oyDcm0QshNPTqM3BglPY5_aHMIuCRUt1s&e=" style="color:purple;text-decoration:underline" target="_blank" class="">https://urldefense.proofp<wbr class="">oint.com/v2/url?u=http-3A__<wbr class="">llvm.org_viewvc_llvm-2Dproject<wbr class="">_libcxx_trunk_lib_CMakeLists.<wbr class="">txt-3Frev-3D323453-26r1-<wbr class="">3D323452-26r2-3D323453-26view-<wbr class="">3Ddiff&d=DwIGaQ&c=5VD0RTtNlTh3<wbr class="">ycd41b3MUw&r=o3kDXzdBUE3ljQXKe<wbr class="">TWOMw&m=zwvSmk9ZIfMARYg3JvYvNu<wbr class="">A0Iz-PEq3H2i_ICF6vsR8&s=Rd7xc2<wbr class="">GWS8oyDcm0QshNPTqM3BglPY5_<wbr class="">aHMIuCRUt1s&e=</a><u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">==============================<wbr class="">==============================<wbr class="">==================<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">--- libcxx/trunk/lib/CMakeLists.tx<wbr class="">t (original)<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">+++ libcxx/trunk/lib/CMakeLists.tx<wbr class="">t Thu Jan 25 10:13:26 2018<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">@@ -222,6 +222,7 @@ set(LIBCXX_TARGETS)<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class=""># Build the shared library.<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">if (LIBCXX_ENABLE_SHARED)<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">   add_library(cxx_shared SHARED $<TARGET_OBJECTS:cxx_objects>)<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">+  llvm_setup_rpath(cxx_shared<wbr class="">)<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">   target_link_libraries(cxx_shar<wbr class="">ed ${LIBCXX_LIBRARIES})<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">   set_target_properties(cxx_shar<wbr class="">ed<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">     PROPERTIES<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class=""><u class=""></u> <u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class=""><u class=""></u> <u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">______________________________<wbr class="">_________________<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class="">cfe-commits mailing list<u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class=""><a href="mailto:cfe-commits@lists.llvm.org" style="color:purple;text-decoration:underline" target="_blank" class="">cfe-commits@lists.llvm.org</a><u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class=""><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_cfe-2Dcommits&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=zwvSmk9ZIfMARYg3JvYvNuA0Iz-PEq3H2i_ICF6vsR8&s=TPt8bk99XfmUCdi7MBxyguYV6hJg3PsXFCTXyDfGms8&e=" style="color:purple;text-decoration:underline" target="_blank" class="">https://urldefense.proofpoint.<wbr class="">com/v2/url?u=http-3A__lists.ll<wbr class="">vm.org_cgi-2Dbin_mailman_listi<wbr class="">nfo_cfe-2Dcommits&d=DwIGaQ&c=5<wbr class="">VD0RTtNlTh3ycd41b3MUw&r=o3kDXz<wbr class="">dBUE3ljQXKeTWOMw&m=zwvSmk9ZIfM<wbr class="">ARYg3JvYvNuA0Iz-PEq3H2i_<wbr class="">ICF6vsR8&s=TPt8bk99XfmUCdi7MBx<wbr class="">yguYV6hJg3PsXFCTXyDfGms8&e=</a><u class=""></u><u class=""></u></div></div><div class=""><div style="margin:0in 0in 0.0001pt 0.5in;font-size:11pt;font-family:Calibri,sans-serif" class=""><u class=""></u> <u class=""></u></div></div></div></div></blockquote></div><br class=""></div></div></div></div></blockquote></div><br class=""></div></div>
</div></blockquote></div><br class=""></div></div></div></div></div></blockquote></div><br class=""></div></div>
</div></blockquote></div><br class=""></div>_______________________________________________<br class="">cfe-commits mailing list<br class=""><a href="mailto:cfe-commits@lists.llvm.org" class="">cfe-commits@lists.llvm.org</a><br class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits<br class=""></div></blockquote></div><br class=""></body></html>