<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 30, 2017 at 3:35 PM, Martin J. O'Riordan <span dir="ltr"><<a href="mailto:martin.oriordan@movidius.com" target="_blank">martin.oriordan@movidius.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-IE" link="blue" vlink="purple"><div class="m_8758986909533482327WordSection1"><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif;color:#943634">Thanks Eric, the assurance that there will never be a need for a MultiLib build is more comforting than you might guess </span><span style="font-family:Wingdings;color:#943634">J</span><span style="font-family:"Book Antiqua",serif;color:#943634">, and to me, it is further weight against the incumbent.</span></p></div></div></blockquote><div><br></div><div>It would be really unfortunate if different dylibs were needed for different dialects. :-)</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-IE" link="blue" vlink="purple"><div class="m_8758986909533482327WordSection1"><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif;color:#943634"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif;color:#943634"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif;color:#943634">So from that, I would like to expand - with an out-of-tree - CMake “incompatible” library cross-compiler, what flags should I pass while building LibC++?  Usually I follow whatever ‘</span><span style="font-family:"Courier New";color:black">buildit</span><span style="font-family:"Book Antiqua",serif;color:#943634">’ recommends, but ‘</span><span style="font-family:"Courier New";color:black">buildit</span><span style="font-family:"Book Antiqua",serif;color:#943634">’ looks likely to be removed soon.</span></p></div></div></blockquote><div><br></div><div>That's unfortunate that you can't use the CMake build. The reason buildit is getting removed is it is unmaintained, so it's "recommendations" are way out of date. I would suggest configuring CMake with a "compatible compiler" as closely as possible to your real build, and then simply inspect the flags it passes. Off the top of my head the important compile flags are:</div><div><br></div><div>-nostdinc++</div><div>-D_LIBCPP_BUILDING_LIBRARY</div><div>-DLIBCXX_BUILDING_LIBCXXABI (Assuming your building against libc++abi).</div><div><br></div><div>The linker flags are much more complex, so I won't attempt to enumerate the possibilities here.</div><div><br></div><div>/Eric</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-IE" link="blue" vlink="purple"><div class="m_8758986909533482327WordSection1"><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif;color:#943634"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif;color:#943634"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif;color:#943634">Thanks,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif;color:#943634"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif;color:#943634">            MartinO<u></u><u></u></span></p><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif;color:#943634"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif;color:#943634"><u></u> <u></u></span></p><p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Eric Fiselier [mailto:<a href="mailto:eric@efcs.ca" target="_blank">eric@efcs.ca</a>] <br><b>Sent:</b> 30 January 2017 17:20<br><b>To:</b> Martin J. O'Riordan <<a href="mailto:martin.oriordan@movidius.com" target="_blank">martin.oriordan@movidius.com</a>><br><b>Cc:</b> Marshall Clow <<a href="mailto:mclow.lists@gmail.com" target="_blank">mclow.lists@gmail.com</a>>; cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>><br><b>Subject:</b> Re: [cfe-dev] [llvm-dev] Upcoming removal of std::auto_ptr (in C++1z)<u></u><u></u></span></p><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">On Wed, Jan 25, 2017 at 2:11 AM, Martin J. O'Riordan via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<u></u><u></u></p><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><div><div><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif">Will LibC++ still enable ‘</span><span style="font-family:"Courier New"">auto_ptr</span><span style="font-family:"Book Antiqua",serif">’ when ‘</span><span style="font-family:"Courier New"">-std=c++[98|11|15]</span><span style="font-family:"Book Antiqua",serif">’ are chosen?  I assume that it will.  If ‘</span><span style="font-family:"Courier New"">auto_ptr</span><span style="font-family:"Book Antiqua",serif">’ is entirely in the headers, I don’t see any problems, but if some support is in the library, how should the library itself be built so that a single library build supports all of the Standards?  Will we need to provide Multilib builds of the libraries for C++17 versus its predecessors?</span><u></u><u></u></p></div></div></blockquote><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">There will never be a need for multilib builds of Libc++ for different dialects.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">/Eric<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><div><div><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif">Thanks,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif">            MartinO</span><u></u><u></u></p><p class="MsoNormal"><span style="font-family:"Book Antiqua",serif"> </span><u></u><u></u></p><p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> llvm-dev [mailto:<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank">llvm-dev-bounces@<wbr>lists.llvm.org</a>] <b>On Behalf Of </b>Marshall Clow via llvm-dev<br><b>Sent:</b> 24 January 2017 22:34<br><b>To:</b> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br><b>Subject:</b> Re: [llvm-dev] Upcoming removal of std::auto_ptr (in C++1z)</span><u></u><u></u></p><div><div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">On Mon, Jan 23, 2017 at 1:32 PM, Marshall Clow <<a href="mailto:mclow.lists@gmail.com" target="_blank">mclow.lists@gmail.com</a>> wrote:<u></u><u></u></p><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt"><div><p class="MsoNormal">The upcoming C++1z (probably C++17) standard will not contain several things - most notably auto_ptr.<u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Soon, libc++ will not be providing auto_ptr by default when building in C++1z mode.<u></u><u></u></p></div><div><p class="MsoNormal">You'll be able to get it back with a <u></u><u></u></p></div><div><p class="MsoNormal">"-D_LIBCPP_ENABLE_CXX17_<wbr>REMOVED_AUTO_PTR" on your command line, or "#define _LIBCPP_ENABLE_CXX17_REMOVED_<wbr>AUTO_PTR" before including any libc++ header files.<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div></div></blockquote><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Landed as revision 292986.<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">-- Marshall <u></u><u></u></p></div></div><p class="MsoNormal"> <u></u><u></u></p></div></div></div></div></div></div><p class="MsoNormal" style="margin-bottom:12.0pt"><br>______________________________<wbr>_________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><u></u><u></u></p></blockquote></div><p class="MsoNormal"><u></u> <u></u></p></div></div></div></div></div></div></blockquote></div><br></div></div>