<div dir="ltr">Is anyone willing to / interested in reviewing the patch?  Or perhaps suggesting a good person to add to the reviewer list?</div><br><div class="gmail_quote"><div dir="ltr">On Sat, Jun 18, 2016 at 3:58 PM Robinson, Paul 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
> -----Original Message-----<br>
> From: llvm-dev [mailto:<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank">llvm-dev-bounces@lists.llvm.org</a>] On Behalf Of<br>
> Renato Golin via llvm-dev<br>
> Sent: Saturday, June 18, 2016 4:02 AM<br>
> To: Mehdi Amini<br>
> Cc: llvm-dev<br>
> Subject: Re: [llvm-dev] Supporting sub commands in LLVM command line tools<br>
><br>
> On 18 June 2016 at 02:58, Mehdi Amini via llvm-dev<br>
> <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
> > I haven't looked at the implementation, but conceptually this looks<br>
> nice!<br>
><br>
> Indeed, really nice!<br>
><br>
><br>
> > We talked internally about an option to build something like a single<br>
> "llvm"<br>
> > binary that would be symlinked by opt/llc/etc. So that when you invoke<br>
> > `opt`, it would run the same binary but internally the right subcommand<br>
> set<br>
> > of options would be used. The downside is that running `ninja llvm-mc`<br>
> would<br>
> > depends on every LLVM libraries though.<br>
><br>
> I think this would muddle things, but it would also help merge all<br>
> command line options (ex. -mtriple vs. -triple vs -target).<br>
<br>
We get some of that with include/llvm/CodeGen/CommandFlags.h, which<br>
mostly has flags to package up TargetOptions but also a few other<br>
common things.  But getting more consistency across the tools, with<br>
or without commonizing the tool itself, seems like it could only be<br>
a good thing.<br>
--paulr<br>
<br>
><br>
> The only way I know we could solve the dependency, though, is if there<br>
> was a binary called "llvm-mc" from "llvm-mc.cpp" which provided its<br>
> own view of the "llvm-mc" functionality (ie. just a shell), and "llvm"<br>
> would be also just a shell to all of them together.<br>
><br>
> So, "ninja llvm" would build all tools, while "ninja llvm-mc" would<br>
> only build one of them. Now, how do you then transform from a binary<br>
> called "llvm-mc" to a symlink to "llvm", it'd probably happen at<br>
> install time if you choose to install "developer tools", which I find<br>
> quite useful from say, an "llvm-dev" package.<br>
><br>
><br>
> > This is a bit orthogonal to what you’re doing, but I assume your patch<br>
> would<br>
> > help to build such an option right?<br>
><br>
> Unless you're proposing to move from "llvm-mv" to "llvm mc", I don't<br>
> see how this could...<br>
><br>
> cheers,<br>
> --renato<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="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><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="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>