<div dir="ltr"><div>Hello, everybody</div><div><br></div><div>I have some questions regarding Bazel rules for llvm targets. <br></div><div>In our project we plan to build llvm-project via Bazel. Currently only rules for clang, llvm, libunwind, lld and mlir are presented in the llvm tree. But we also plan to build libc and libcxx targets via Bazel, the rules for these targets aren't in llvm tree yet. As far as I know they exist only in internal Google monorepo.</div><div><br></div><div><b>So, my questions:</b> <br>* Are there any plans to add Bazel rules for libc and libcxx to the llvm tree under llvm-projects/utils/bazel/llvm-project-overlay?<br>* And if they are, then is it an ongoing task or only plans for now? Are there any thoughts on when such rules could become available?<br></div><div>* Or there aren't such plans? Or they wound't be implemented soon and we better start writing these rules by ourselves?<br></div><div><br></div><div>From the short discussion in github here - <a href="https://github.com/llvm/llvm-project/commit/693a95a69416e23a31e46d3d2c81e854688e606e">https://github.com/llvm/llvm-project/commit/693a95a69416e23a31e46d3d2c81e854688e606e</a> (probably not really suitable place to start such discussion, I should had write it here at the beginning) it seems that there are such plans, but it isn't clear for me if somebody working on this now.<br></div><div><br></div><div><strong class="gmail-css-truncate"><a class="gmail-author gmail-Link--primary gmail-css-truncate-target gmail-width-fit" href="https://github.com/sivachandra">@sivachandra</a></strong><strong> </strong>also<strong> </strong>pointed out some design goal for these rules:<br><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><ul dir="auto"><li>We want the individual functions to be mutually exclusive. So, we ideally want a separate target for every libc function.</li><li>What actually is in a user's libc will be left up to the user. That 
is, the users are free to pick-and-choose what they want from LLVM libc 
and get the rest from another libc if they so choose to. Hence, we 
ideally <em>do not</em> want to provide a Bazel target for the final 
libc. The users will list the cc_library targets of the individual 
functions of their interest as deps to the actual libc target.</li></ul></blockquote><b>Another question: </b>Would it be the same for libcxx? Or libcxx is completely different topic to discuss?<br></div><div><br></div><div>I would really appreciate any help :)<br></div><div><br></div><div>Best regards,<br></div><div>Kirill Zabelin<br></div><div><strong class="gmail-css-truncate"><a class="gmail-author gmail-Link--primary gmail-css-truncate-target gmail-width-fit" href="https://github.com/sivachandra"><br></a></strong></div></div>