[LLVMdev] To APR Or Not To APR. That is the question.
Vikram Adve
vadve at cs.uiuc.edu
Thu Sep 16 07:36:28 PDT 2004
Reid,
Adding APR as one possible implementation of lib/System makes sense,
and is what I originally suggested when I brought up the question of
using APR. In particular, I agree that we want to keep APR or any
other similar layer encapsulated behind lib/System.
--Vikram
http://www.cs.uiuc.edu/~vadve
http://llvm.cs.uiuc.edu/
On Sep 13, 2004, at 10:34 AM, Reid Spencer wrote:
> John,
>
> If we were to do this, I don't think that adding it to the LLVM source
> base is the right way to go. We would simply use "configure" to find
> the
> library and header files. The moment we put APR into our source base,
> it
> would be out of date. Keeping it up to date would not be fun for anyone
> and there's no reason for us to do that. Furthermore, this approach
> completely avoids any licensing issues. We wouldn't distribute APR,
> just
> use it (even though Apache's license is relatively tame).
>
> As for other libraries, there is boost (which we've already excised),
> and ACE (which is huge and heavy weight). APR is the rising star in
> this
> area.
>
> I think Chris had the right idea: make APR "one" of the possible
> implementations. That is, make it possible for the user to configure
> LLVM so that it thinks the operating system its building for is "APR".
> All we have to do is create an APR directory in lib/System and the
> necessary functions in configure.ac to allow it to be specified as the
> host operating system. I think I might do this regardless of what the
> decision on this issue is because it would at least give new platforms
> a
> shot at having LLVM work.
>
> Reid.
>
> On Mon, 2004-09-13 at 08:18, John Criswell wrote:
>> Dear All,
>>
>> Time to add my two cents:
>>
>> I think incorporating something like APR into the LLVM tree is fine,
>> given that it works, its licensing doesn't interefere with our
>> licensing
>> (and doesn't give me a headache), and we can merge it into the LLVM
>> source base relatively seamlessly (i.e. users don't need to install it
>> before building LLVM and APR plays nice with our build system).
>>
>> I think building our own lib/System is going to be a bit of a time
>> sink,
>> especially with our limited access to other platforms. And adding
>> third
>> party libraries is okay as long as the user doesn't have to install
>> extra stuff to use LLVM.
>>
>> The licensing, I think, will be okay. The remainder of the problem
>> lies
>> with how well APR works and how well it will integrate with our build
>> system. For that, I think we'll simply have to try it out and see if
>> it
>> works.
>>
>> Are there any other libraries available that will do the things we
>> need
>> to do? It strikes me that we haven't enumerated what we need and what
>> our options are.
>>
>> If we go ahead and do incorporate APR, I would recommend the
>> following:
>>
>> a) Keep APR as a separate library and write lib/System as a wrapper
>> around it.
>>
>> b) Maintain a vendor branch for APR so that changes from the Apache
>> Foundation are more easily merged into the tree (the CVS docs describe
>> how to do this in the "Tracking Third Party Sources" section).
>>
>> -- John T.
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/enriched
Size: 3292 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20040916/a45ace02/attachment.bin>
More information about the llvm-dev
mailing list