summary of LLVM on FreeBSD status.

Hi,

I spent a bit of time making llvm link on FreeBSD 5.1-RC1 (i686)
tonight. (I didn't run any tests.) Here are the issues I ran into:

0. Need a llvm/Makefile.FreeBSD; Makefile.Linux unchanged worked OK
1. libdl doesn't exist; remove TOOLLINKOPTS=-ldl to link tools that use libdl
2. include/Support/DataTypes.h doesn't work for FreeBSD; I hacked a new version
3. alloca.h doesn't exist and is not needed to use alloca(); #ifdef it out
4. no malloc.h and no mallinfo(); malloc doesn't track this stuff; #ifdef it out
5. isnan() may be a macro; lli's ExternalFunctions.cpp doesn't pick it up (why?)

Not surprisingly, autoconf will probably be able to take care of most of
these fairly easily. I didn't really have a chance to figure out what was
going on with #5. I'll probably check in a few fixes based on my findings,
once we get back.

-Brian

Brian R. Gaeke wrote:

Hi,

I spent a bit of time making llvm link on FreeBSD 5.1-RC1 (i686)
tonight. (I didn't run any tests.) Here are the issues I ran into:

    Thanks. This'll help me figure out which config.h stuff I'll need for getting
this stuff to work on other platforms.

    One other problem that I've noticed recently is that LLVM is very finicky about
which version of GCC it is compiled under. For example, GCC 3.2 and 3.2.1 work,
but 3.3 doesn't. Some of this seems to be simple header file stuff (using assert()
without assert.h, etc) but some of it is a little more complicated. I've been
doing a little work on this recently since a wider range of GCC compilers will make
it easier for people to compile LLVM once it is released.

    Just out of curiousity, which GCC did you use under FreeBSD?

    Also, would you be interested in trying out the current autoconf stuff on your
FreeBSD box? So far I've only tested my autoconf work on Solaris and Linux, so I
don't know how well it handles a different architecture.

-- John T.