[LLVMdev] To APR Or Not To APR. That is the question.
Ed Cogburn
edcogburn at hotpop.com
Sun Sep 12 21:56:44 PDT 2004
Hi everyone,
On Sunday 12 September 2004 08:03 pm, Chris Lattner wrote:
>
> I think that all of the major platforms should be natively supported by
> lib/System.
They would, through the APR.
Its not a major issue to me (and I'm a nobody here anyway), but I don't
understand why you would insist on this software independence *now*, when
LLVM is at a very early, and still largely unknown, stage.
Note: I don't know anything about APR, so I'm not specifically endorsing it,
just responding to the general idea that LLVM should be kept independent of
everything.
Note about Note: I would prefer you try to cover your dependencies using other
C++ libs first (for no particular reason other than I'm biased towards C++),
for example, boost probably has some things that we could use instead of APR
(boost-filesystem, boost-signals, boost-threads), but of course, APR may have
things you can't find anywhere else. In any event, what follows isn't
specific to any particular lib.
Use [insert-lib-here] to get up and running quickly on multiple platforms, and
if the dependence issue becomes a problem later when LLVM becomes more
popular, then come back and replace the [insert-lib-here]'s code. The point
is to get LLVM up and running *now*, and get it out in the world so it'll
start gathering mindshare, and more developers.
Looking at Ocaml as an example, which is *roughly* equivalent to what LLVM is
doing (bytecode compiler, native code compiler, virtual machine), except they
built it for a specific language, they have numerous dependencies on other
libs (curses, dbm, tcl, tk, etc).
Python is also similar, and its base has dependencies on 6 other libs besides
glibc, and that doesn't even count the add-on python modules (and what they
depend on).
If you want LLVM to become widespread and useful, you *will* end up either
depending on other libraries or spending a lot of time reinventing the wheel.
Your choice. :)
FWIW,
Ed
More information about the llvm-dev
mailing list