<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Book Antiqua";
        panose-1:2 4 6 2 5 3 5 3 3 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Courier New";
        mso-fareast-language:EN-US;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Courier New";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-IE link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoPlainText><span style='font-size:12.0pt;font-family:"Book Antiqua",serif'>Thanks for the responses on this, and sorry for the delay getting back to you.<o:p></o:p></span></p><p class=MsoPlainText><span style='font-size:12.0pt;font-family:"Book Antiqua",serif'><o:p> </o:p></span></p><p class=MsoPlainText><span style='font-size:12.0pt;font-family:"Book Antiqua",serif'>If I use the ‘</span>TLD/{VERSION}/lib|include/{PLATFORM}/{TARGET}/{BITS}/<span style='font-size:12.0pt;font-family:"Book Antiqua",serif'>’ approach, it will mean altering the default for the X86 target, but it would be quite workable.  Yes, I remember the discussion about the configuration files, and as I am only beginning to experiment with this, I can easily hold off until the configuration file discussion is decided and then plan how to tackle this. <o:p></o:p></span></p><p class=MsoPlainText><span style='font-size:12.0pt;font-family:"Book Antiqua",serif'><o:p> </o:p></span></p><p class=MsoPlainText><span style='font-size:12.0pt;font-family:"Book Antiqua",serif'>All the best,<o:p></o:p></span></p><p class=MsoPlainText><span style='font-size:12.0pt;font-family:"Book Antiqua",serif'><o:p> </o:p></span></p><p class=MsoPlainText><span style='font-size:12.0pt;font-family:"Book Antiqua",serif'>            MartinO</span><o:p></o:p></p><p class=MsoPlainText><span style='font-size:12.0pt;font-family:"Book Antiqua",serif'><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US style='mso-fareast-language:EN-IE'>-----Original Message-----<br>From: Renato Golin [mailto:renato.golin@linaro.org] <br>Sent: 18 October 2016 11:19<br>To: Martin J. O'Riordan <martin.oriordan@movidius.com><br>Cc: Clang Dev <cfe-dev@lists.llvm.org><br>Subject: Re: [cfe-dev] Supporting multiple targets from a single 'clang' installation</span></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>On 18 October 2016 at 11:02, Martin J. O'Riordan via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org"><span style='color:windowtext;text-decoration:none'>cfe-dev@lists.llvm.org</span></a>> wrote:<o:p></o:p></p><p class=MsoPlainText>> How should I go about configuring the CLang build so that I can have <o:p></o:p></p><p class=MsoPlainText>> it locate the system headers and libraries corresponding to each target?<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Hi Martin,<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>This is a common problem, with multiple solutions. The easiest one is to use triples.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Clang recognises default locations from distributions (Linux, BSD, Darwin, Windows), so if you set the triple correctly, and you have a sysroot with that triple in the right place (tm), everything works auto-magically.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Reality is, of course, never that glamorous.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>As others have said, you'll find that your sysroot format is not the same as the driver expects, or that not all the libraries will be found in the right place and you'll end up needing additional compiler flags, which don't work out of the box.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>So, the main alternatives are:<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>1. Distribute your sysroot in a way that Clang understands without glitches (this may involve moving unrelated libraries and headers together).<o:p></o:p></p><p class=MsoPlainText>1.1 Then ask people to use "clang --target=foo-bar"<o:p></o:p></p><p class=MsoPlainText>1.2 Or create symlinks "foo-bar-clang" to "clang" (same effect)<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>2. Create wrapper scripts "foo-bar-clang" that will call clang with the right target/sysroot/B/L/I flags (no need to break your sysroot apart).<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Long term, we're discussing other usages of configuration files, or reusing the existing mechanisms in a better way. But you'll probably release your toolchain before that.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>cheers,<o:p></o:p></p><p class=MsoPlainText>--renato<o:p></o:p></p></div></body></html>