<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">This sounds great = ).<div><br></div><div>Michael</div><div><br><div><div>On Aug 19, 2013, at 4:26 PM, Hans Wennborg <<a href="mailto:hans@chromium.org">hans@chromium.org</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">On Mon, Aug 19, 2013 at 4:10 PM, Hans Wennborg <<a href="mailto:hans@chromium.org">hans@chromium.org</a>> wrote:<br><blockquote type="cite">On Mon, Aug 19, 2013 at 3:52 PM, Chandler Carruth <<a href="mailto:chandlerc@google.com">chandlerc@google.com</a>> wrote:<br><blockquote type="cite"><br>On Mon, Aug 19, 2013 at 3:50 PM, Reid Kleckner <<a href="mailto:rnk@google.com">rnk@google.com</a>> wrote:<br><blockquote type="cite"><br>On Mon, Aug 19, 2013 at 3:20 PM, Chandler Carruth <<a href="mailto:chandlerc@google.com">chandlerc@google.com</a>><br>wrote:<br><blockquote type="cite"><br>On Fri, Aug 16, 2013 at 6:45 PM, Hans Wennborg <<a href="mailto:hans@chromium.org">hans@chromium.org</a>> wrote:<br><blockquote type="cite"><br><blockquote type="cite">3) People using LLVM+Clang(+LLD)?(+LLDB)? only as a C/C++/ObjC/ObjC++<br>toolchain (including the linker and debugger in that as necessary) for<br>their<br>development. They don't use any of the libraries, but do use very<br>end-user<br>tools like clang-format, clang-check, libclang.so (for their editor),<br>etc.<br></blockquote><br>This is what you get if you set LLVM_INSTALL_DEV_FILES=OFF from my<br>patch, and use the existing LLVM_BUILD_TOOLS=OFF (disables building<br>llc, opt, etc.).<br></blockquote><br><br>Ok, maybe the naming is just confusing. I'm happy if the result of my<br>comment is to keep the same functionality, but split it up into different<br>named options. I think that would help.<br></blockquote><br><br>I was pushing back against more options.  Less options means a simpler<br>configuration matrix.<br><br><blockquote type="cite"><blockquote type="cite"><br><blockquote type="cite">The only people who need #1 to be supported by the *install* are<br>people<br>building LLVM projects in a stand-alone way from the core. There are<br>several<br>people at Apple that do this for Clang because xcode is happier with<br>the<br>project files that way. I think they could probably enable a<br>default-off<br>feature to get this.<br></blockquote><br>Are you saying that you'd like #2 to be the default instead of #1?<br></blockquote><br><br>Yes. I'd like #1 to be an easy opt-in for folks who need it. AFAIK, this<br>is an important but not terribly common use case.<br></blockquote><br><br>To me, #2 seems really close to #1.  Who knows, people using<br>llvm-as-a-library might actually want to write FileCheck and lit tests<br>because it's convenient.<br></blockquote><br><br>I don't think any of these other tools are in an even semi-reasonable state<br>to be installed on a machine in say, /usr/bin. Do you really think we should<br>install /usr/bin/not? /usr/bin/count?<br></blockquote><br>I agree that enabling #2 would be useful. The way we're basically just<br>copying all the build artifacts to the installation dir is not very<br>nice for an end user.<br><br>I think Reid has a point that #1 and #2 are pretty close though.<br><br>The difference between #3 (i.e. basically shipping just clang) and<br>what we currently have is huge, as in hundreds of megs libraries and<br>headers. I would really like to start with addressing this case :)<br></blockquote><br>OK, following up on our offline talk, we want a single cmake flag to<br>control which of the three use cases to hit:<br><br>- #2: (default), the stuff a user of llvm as a library would use<br>- #3: toolchain-only, i.e. clang, lld, binutils-like tools<br>- #1: "everything", what we have today.<br><br>I'll see if I can turn this into a patch.<br><br>- Hans<br>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a></div></blockquote></div><br></div></body></html>