Initial updates to llvm/clang build glue.
DIRDEPS_BUILD: Connect the new clang build.Sponsored by: EMC / Isilon Storage Division
Completely revamp the way llvm, clang and lldb are built.* Bootstrap llvm-tblgen and clang-tblgen with a minimal llvm static library, that has no other dependencies.* Roll up all separate llvm l
Completely revamp the way llvm, clang and lldb are built.* Bootstrap llvm-tblgen and clang-tblgen with a minimal llvm static library, that has no other dependencies.* Roll up all separate llvm libraries into one big static libllvm.* Similar for all separate clang and lldb static libraries.* For all these libraries, generate their .inc files only once.* Link all llvm tools (including extra) against the big libllvm.* Link clang and clang-format against the big libllvm and libclang.* Link lldb against the big libllvm, libclang and liblldb.N.B.: This is work in progress, some details may still be missing.It also heavily depends on bsd.*.mk's support for SRCS and DPSRCS withrelative pathnames, which apparently does not always work as expected.For building llvm, clang and lldb though, it seems to work just fine.The main idea behind this restructuring is maintainability and buildpeformance. The previous large number of very small libraries, eachwith their own generated files and dependencies was slow to traverseand hard to understand.Possible future improvements:* Only build certain targets, e.g. for most regular users having just one target will be fine. This will shave off some build time.* Building the big llvm, clang and lldb libraries as shared (private) libraries.* Adding other components from the LLVM project, such as lld.
show more ...
Update build glue for clang and the llvm/clang extras.
DIRDEPS_BUILD: Update clang dependencies after r296417.Sponsored by: EMC / Isilon Storage Division
Merge ^/head r295601 through r295844.
DIRDEPS_BUILD: Hookup CLANG_EXTRAS.Sponsored by: EMC / Isilon Storage Division
Some additional llvm tools need libz. While here, consistently useLIBADD+=.
Next part of updating llvm/clang build glue: getting theWITH_CLANG_EXTRAS tools built.
Fix LDADD/DPADD that should be LIBADD.Sponsored by: EMC / Isilon Storage Division
Update llvm/clang to r242221.
Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunkr238337.
Update llvm and clang library and binary Makefiles for 3.6.0 rc1.
Remove a few redundant DPADD/LDADD pairs in llvm utilities.
Add the AArch64 llvm backend to the build to allow for early testing andto ease any rework of how clang is built to take arm64 in to account.Submitted by: andrewReviewed by: andrew, emasteDiffer
Add the AArch64 llvm backend to the build to allow for early testing andto ease any rework of how clang is built to take arm64 in to account.Submitted by: andrewReviewed by: andrew, emasteDifferential Revision: https://reviews.freebsd.org/D1446
Update llvm and clang binary Makefiles.
NO_MAN= has been deprecated in favor of MAN= for some time, go aheadand finish the job. ncurses is now the only Makefile in the tree thatuses it since it wasn't a simple mechanical change, and will
NO_MAN= has been deprecated in favor of MAN= for some time, go aheadand finish the job. ncurses is now the only Makefile in the tree thatuses it since it wasn't a simple mechanical change, and will beaddressed in a future commit.
Add Makefile glue to build the Sparc backend libraries and link theminto the clang executable.
Upgrade our copy of llvm/clang to 3.4 release. This version supportsall of the features in the current working draft of the upcoming C++standard, provisionally named C++1y.The code generator's p
Upgrade our copy of llvm/clang to 3.4 release. This version supportsall of the features in the current working draft of the upcoming C++standard, provisionally named C++1y.The code generator's performance is greatly increased, and the loopauto-vectorizer is now enabled at -Os and -O2 in addition to -O3. ThePowerPC backend has made several major improvements to code generationquality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZbackends have all seen major feature work.Release notes for llvm and clang can be found here:<http://llvm.org/releases/3.4/docs/ReleaseNotes.html><http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html>MFC after: 1 month
Enable llvm's integrated assembler for PowerPC, since it should now begood enough for typical usage.Requested by: rdivackyMFC after: 1 week
Upgrade our copy of llvm/clang to 3.3 release.Release notes are still in the works, these will follow soon.MFC after: 1 month
Upgrade our copy of llvm/clang to trunk r178860, in preparation of theupcoming 3.3 release (branching and freezing expected in a few weeks).Preliminary release notes can be found at the usual loca
Upgrade our copy of llvm/clang to trunk r178860, in preparation of theupcoming 3.3 release (branching and freezing expected in a few weeks).Preliminary release notes can be found at the usual location:<http://llvm.org/docs/ReleaseNotes.html>An MFC is planned once the actual 3.3 release is finished.
Allow us to build clang for ARM EABI. Clang and llvm use thearm-gnueabi-freebsd10.0 triple for EABI. Use this when we are on arm orarmv6 and are building for EABI.Reviewed by: dim
Upgrade our copy of llvm/clang to r168974, from upstream's release_32branch. This is effectively llvm/clang 3.2 RC2; the 3.2 release iscoming soon.
Upgrade our copy of llvm/clang to trunk r162107. With thanks toBenjamin Kramer and Joerg Sonnenberger for their input and fixes.
123