Clang: now available from a SVN server near you!
Ed Schouten
ed at 80386.nl
Sun Jun 14 18:22:04 UTC 2009
Hi Chuck,
* Chuck Robey <chuckr at telenix.org> wrote:
> I feel a bit like an idiot needing to ask this, but I downloaded the stuff on
> llvm/clang, but I don't know the name of the directories, and I need to ask some
> items. (Before someone kindly points this out, I've been running -current
> fairly regularly since 1.0, and I'm completely aware that running current is
> very nearly completely a "run at your own risk" thing. I have a pretty good
> track record and being able to fix things, and I accept this risk just like the
> earlier ones). So, I need the next very few questions to help me on my way:
You're not being an idiot; it's something that I should mention
somewhere anyway.
> First is the complete set of llvm/clang code in that new src/cddl subdirectory?
> I looked really hard for directories named either clang or llvm, and since I
> didn't find anything, is there anything like a README that explains what's
> sitting where? I mean, stuff like what's in the currently available src/README,
> but in a little additional detail for the new llvm/clang stuff. This is likely
> stuff that others might be curious about also, those who didn't konw any more
> about llvm than I do.
Because Clang could be integrated into the LLVM repository somewhere in
the very far future, I just followed the existing practice of storing
the Clang source tree inside the LLVM source directory. This is also
done when building llvm-devel from Ports.
Sources are stored at:
contrib/llvm
contrib/llvm/tools/clang
Both source trees contain some small modifications, mainly related to
changing the compiler's default include paths.
The Makefiles I wrote are all stored in:
usr.bin/clang
Because LLVM and Clang consists of a lot of libraries, there is a lib/
subdirectory. I initially placed this directory at lib/clang, but the
problem then is that the lib32 build on amd64 will also build the Clang
libraries for nothing. I'm not entirely happy with the pathnames yet,
but I think it's reasonable to work with.
> Is the rest of the stuff I downloaded, the rest of that tree, being kept up to
> date with the rest of the FreeBSD-current's HEAD? Or, is that being held for
> llvm testing? BTW, my insurance method here is to have a complete prebuilt
> -current tree (with gcc built and ready to be installed) sitting on the side, so
> if suddenly llvm won't operate, I only need to install from that other tree to
> get me a good gcc again. Not that I'm expecting any code problem, but I could
> cause myself some local problem, possibly, I want to protect myself from
> anything. I'm honestly mostly worried about the stiching up of the new llvm
> code with the rest of the tree, or if that needs something extra (beyond merely
> getting llvm working)?
Now that there are other people who are starting to use the clangbsd
branch for tests (for example Erwin's port builds), I integrate the
FreeBSD, LLVM and Clang source once or twice a week. Before I commit, I
usually run two buildworlds on an amd64 box, to make sure the system is
at least capable of bootstrapping itself. Being able to do that still
doesn't bring a lot of guarantees, but at least makes it less likely for
you to completely hose your system.
--
Ed Schouten <ed at 80386.nl>
WWW: http://80386.nl/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20090614/9274108c/attachment.pgp
More information about the freebsd-current
mailing list