<div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 5, 2021 at 4:44 AM Harald van Dijk via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 05/04/2021 00:24, Petr Hosek wrote:<br>
> You can construct the triple from the variables CMake provides, we <br>
> already do this for some of the targets: <br>
> <a href="https://github.com/llvm/llvm-project/blob/00d5f1ecccc6d8ece9ac6dd19e9ad807c8a60097/llvm/cmake/modules/GetHostTriple.cmake" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/blob/00d5f1ecccc6d8ece9ac6dd19e9ad807c8a60097/llvm/cmake/modules/GetHostTriple.cmake</a> <br>
> <<a href="https://github.com/llvm/llvm-project/blob/00d5f1ecccc6d8ece9ac6dd19e9ad807c8a60097/llvm/cmake/modules/GetHostTriple.cmake" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/blob/00d5f1ecccc6d8ece9ac6dd19e9ad807c8a60097/llvm/cmake/modules/GetHostTriple.cmake</a>><br>
<br>
"Some of the targets" used to be only Windows, where we do not <br>
necessarily have a way to run config.guess at all. That seems like a <br>
perfectly good reason to me to add an exception for.<br>
<br>
I do not know why <<a href="https://reviews.llvm.org/D74256" rel="noreferrer" target="_blank">https://reviews.llvm.org/D74256</a>> then also added <br>
logic for AIX there. Either config.guess is buggy, or it is not.<br>
<br>
If config.guess is buggy, it is also buggy for every single <br>
autoconf-based project there is and will need to be fixed there as well. <br>
There has been no relevant change to upstream config.guess for AIX that <br>
I can see, but I may have missed something.<br>
<br>
If config.guess is not buggy, the change is wrong.<br>
<br>
Am I missing something here, perhaps some some scenario that LLVM <br>
supports but config.guess does not, that would make it correct to change <br>
that only in LLVM, and not in upstream config.guess?<br></blockquote><div><br></div><div></div><div>
<div></div></div><div></div><div>LLVM uses triples to identify the host/target architecture (including the difference between 32-bit and 64-bit variants of the "same architecture"). It cannot be said that config.guess must do the same (that would depend on its users). That the selection, on AIX, between the 32-bit and 64-bit variants happens later for an autoconf-based build is entirely possible. As it is, we're able to do the selection early in the CMake-based build only because we're using a compiler that respects the <span style="font-family:monospace">OBJECT_MODE</span> environment variable (which we also set up for Clang on AIX to do).</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> I'd prefer expanding GetHostTriple.cmake until it covers all the targets <br>
> we support. I don't think it'd necessarily require reimplementing all of <br>
> config.guess, since config.guess covers a lot of targets most of which <br>
> aren't supported by LLVM.<br>
<br>
Not all, sure, but I do think you're underestimating how much work it <br>
will be, at least for an outside contributor who cannot ask people who <br>
have access to relevant systems to run some quick tests. Getting an <br>
overview of all targets supported by LLVM, the values the relevant CMake <br>
variables will be set to, and the triples that config.guess figures out <br>
for those systems, that would still be a massive amount of work. Once we <br>
have that, writing it up in CMake should be fairly easy, sure, but <br>
that's not where the main work will be. All that just to get a result we <br>
can get without any extra effort already.<br>
<br>
Cheers,<br>
Harald van Dijk<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div></div>