<div dir="ltr"><div>These are the ones I found so far:<br></div><div><br></div><div>* [libmicrohttpd](<a href="https://www.gnu.org/software/libmicrohttpd/">https://www.gnu.org/software/libmicrohttpd/</a>) is used by elfutils' debuginfod, but it's LGPL licensed.</div><div>* [libcURL](<a href="https://curl.haxx.se/libcurl/">https://curl.haxx.se/libcurl/</a>) would be an option for the client, but we'd need a different library for the server.</div><div>* [libhttp](<a href="https://github.com/lammertb/libhttp">https://github.com/lammertb/libhttp</a>) is another MIT licensed library that could be a fit, but it seems bigger and more featureful than httplib.</div><div>* [cpprestsdk](<a href="https://github.com/microsoft/cpprestsdk">https://github.com/microsoft/cpprestsdk</a>) has a lot of extra features we don't need, like websockets.</div><div>* [pistache](<a href="https://github.com/oktal/pistache">https://github.com/oktal/pistache</a>) similarly has additional features and dependencies that are likely unnecessary.</div><div>* [crow](<a href="https://github.com/ipkn/crow">https://github.com/ipkn/crow</a>) is similar to cpprestsdk and pistache, it depends on Boost.<br></div><div><div>* [cpp-netlib](<a href="https://github.com/cpp-netlib/cpp-netlib">https://github.com/cpp-netlib/cpp-netlib</a>) looks nice but depends on Boost.</div><div>* [proxygen](<a href="https://github.com/facebook/proxygen">https://github.com/facebook/proxygen</a>) is also nice but has a lot of dependencies including Boost.</div></div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 31, 2020 at 4:48 PM Jonas Devlieghere <<a href="mailto:jonas@devlieghere.com">jonas@devlieghere.com</a>> wrote:</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 31, 2020 at 4:38 PM Petr Hosek via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">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"><div dir="ltr"><div dir="ltr"><div>There are several options, I've looked at couple of them and the one I like the most so far is <a href="https://github.com/yhirose/cpp-httplib" target="_blank">https://github.com/yhirose/cpp-httplib</a> for a few reasons:</div><div><br></div><div>* It's MIT licensed.</div><div>* It supports Linux, macOS and Windows (and presumably other platforms).<br></div><div>* It doesn't have any dependencies, it can optionally use zlib and OpenSSL.<br></div><div>* It's a modern C++11 implementation, the entire library is a single header.</div></div></div></blockquote><div><br></div><div>This looks appealing indeed. Out of curiosity, what are the other alternatives you considered? </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"><div dir="ltr"><div dir="ltr"><div><br></div></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 31, 2020 at 4:31 PM Eric Christopher <<a href="mailto:echristo@gmail.com" target="_blank">echristo@gmail.com</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"><div dir="ltr"><a class="gmail_plusreply" id="gmail-m_968002778736129166gmail-m_-2884588891980881854gmail-m_-9022367354811744842plusReplyChip-2" href="mailto:lldb-dev@lists.llvm.org" target="_blank">+LLDB Dev</a> as well for visibility. <a class="gmail_plusreply" id="gmail-m_968002778736129166gmail-m_-2884588891980881854gmail-m_-9022367354811744842plusReplyChip-3" href="mailto:labath@google.com" target="_blank">+Pavel Labath</a> since he and I have talked about such things.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 31, 2020 at 7:26 PM David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</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"><div dir="ltr">[+debug info folks, just as FYI - since the immediate question's more about 3rd party library deps than the nuances of DWARF, etc]<br><br>I'd imagine avoiding writing such a thing from scratch would be desirable, but that the decision might depend somewhat on what libraries out there you/we would consider including, what their licenses and further dependencies are.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 31, 2020 at 4:22 PM Petr Hosek via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">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"><div dir="ltr">We're considering implementing [debuginfod](<a href="https://sourceware.org/elfutils/Debuginfod.html" target="_blank">https://sourceware.org/elfutils/Debuginfod.html</a>) library in LLVM. Initially, we'd like to start with the client implementation, which would enable debuginfod support in tools like llvm-symbolizer, but later we'd also like to provide LLVM-based debuginfod server implementation.<div><br></div><div>debuginfod uses HTTP and so we need an HTTP library, ideally one that supports both client and server.</div><div><br></div><div>The question is, would it be acceptable to use an existing C++ HTTP library or would it be preferred to implement an HTTP library in LLVM from scratch?</div></div>
_______________________________________________<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>
</blockquote></div>
</blockquote></div></div>
_______________________________________________<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>
</blockquote></div></div>