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