[LLVMdev] To APR Or Not To APR. That is the question.

Reid Spencer reid at x10sys.com
Sun Sep 12 16:21:22 PDT 2004


Folks,

I'm bringing the APR (Apache Portable Runtime) up for consideration as
the implementation of lib/System again. For those not familiar with it,
APR is the portability library used by the Apache Group and others in
open source projects such as HTTPD and Subversion. While its relatively
new, it is quickly gaining mind share and it provides lots of features
and supports numerous platforms today. For more details you can check
out: http://apr.apache.org/.

Our use of APR would be limited to the lib/System library. That is, we
would provide very thin C++ veneers on top of APR's C interface that
match the current lib/System and lib/Support APIs.

Since an APR implementation would get lib/System "done" on all our
platforms much faster than the current approach, I'd like to know if
anyone has any objections. Briefly, here's the upside/downside:

Upside:
      * Get lib/System implemented on all platforms faster
      * Avoid maintaining complicated platform independence code (the
        gust of lib/System) so that our attention is not diverted from
        compiler tool building.
      * Faster bug fixing in this area because other developers are
        working on it.
      * Faster support for new platforms because other developers are
        working on it.

Downside:
      * Makes LLVM dependent on a third party library
      * Makes LLVM platform support dependent on 
      * Error handling in APR is somewhat strange and it could be quite
        difficult for us to continue to meet the "throw std::string"
        approach we have today.

Silence on this issue will be taken as tacit approval. If you have any
objections/thoughts/questions, please post them so we can discuss.

Thanks,

Reid.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20040912/383fad4d/attachment.sig>


More information about the llvm-dev mailing list