On 28 Nov 2014, at 22:03, Dimitry Andric <d...@freebsd.org> wrote:
> We're working on updating llvm, clang and lldb to 3.5.0 in head.  This
> is quite a big update again, and any help with testing is appreciated.
> To try this out, ensure you have good backups or snapshots, then build
> world and kernel from the projects/clang350-import branch [1].  Please
> use a Subversion mirror [2], if you are able to.

Here are some updates about the status of the 3.5.0 import.

* i386 and amd64 have been tested through make universe, and everything
  should compile and run.
* Little-endian ARM builds should now compile and run, thanks to Andrew
  Turner for putting in lots of work.
* Big-endian ARM is apparently supposed to work, but I'm not sure if
  Andrew managed to test it on real hardware.
* PowerPC64 should mostly work, thanks to Justin Hibbits.
* PowerPC32 might start working soon; it really needs some backporting
  of fixes to clang 3.4.1, which is now in head, so there is an easier
  upgrade path for PowerPC users.
* Sparc64 still does not work, and I don't see any quick solutions to it
  for now.  It should probably stay with gcc.
* Mips will only have a chance with the upcoming clang 3.6.0, but that
  is way too late for this import.  It will probably require external
  toolchain support to get it working.
* Another ports exp-run was done [3], after fixing the problem with
  lang/gcc, which lead to many skipped dependent ports.
* The second exp-run had much better results: the failure with the
  highest number of dependencies is devel/mingw32-gcc, but this seems
  to be due to a problem with makeinfo, not clang.  The next highest on
  the list is java/openjdk6, for which ports r374780 [4] was very
  recently committed.

I would really like to merge this branch to head in about a week,
pending portmgr approvall; I don't expect the base system (outside of
llvm/clang) to need any further updates.

Lastly, to clear things up about the requirements for this branch (and
thus for head, in a while); to build it, you need to have:
* A C++11 capable "host" compiler, e.g. clang >= 3.3 or later, or gcc
  >= 4.8 (I'm not 100% sure if gcc 4.7 will work, reports welcome)
* A C++11 standard library, e.g. libc++, or libstdc++ from gcc >= 4.8.

So from any earlier standard 10.x or 11.x installation, you should be
good, unless you explicitly disabled clang or libc++.  In that case,
you must build and install both of those first.

On a 9.x installation, you will have clang by default, but not libc++,
so libc++ should be built and installed first, before attempting to
build the clang350-import branch.

On 8.x an earlier, you need to upgrade to at least 9.x first, follow
the previous instruction.

As for MFC'ing, I plan on merging clang 3.5.x to 10.x in a while
(roughly a month), but this will cause upgrades from 9.x to 10.x to
start requiring the build of libc++, as described above.  I don't think
we can merge clang 3.5.x to 9.x, unless clang becomes the default
compiler there (but that is very unlikely).


[1] svn://svn.freebsd.org/base/projects/clang350-import
[4] https://svnweb.freebsd.org/changeset/ports/374780

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to