History log of /freebsd-current/usr.bin/clang/opt/Makefile
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 06c3fb27 02-Sep-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project main llvmorg-17-init-19304-gd0b54bb50e51, the
last commit before the upstream release/17.x branch was created.

PR: 273753
MFC after: 1 month


# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/

# f5761726 23-Jul-2023 Dimitry Andric <dim@FreeBSD.org>

Move LIBADD lines from usr.bin/clang/*/Makefile one level up

Some utilities under usr.bin/clang were only linked to libz, while most
others were linked to libz and libzstd. Make this consistent, and remove
repetition, by moving these LIBADD lines to usr.bin/clang/clang.prog.mk
and usr.bin/clang/clang.prog.mk.

MFC after: 3 days

# bdd1243d 14-Apr-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-16-init-18548-gb0daacf58f41

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16-init-18548-gb0daacf58f41.

PR: 271047
MFC after: 1 month


# 81ad6265 04-Jul-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15-init-15358-g53dc0f10787.

PR: 265425
MFC after: 2 weeks


# b1ae9102 26-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

Update build glue for extra clang/llvm tools (MK_CLANG_EXTRAS=yes).

# 0b57cec5 20-Dec-2019 Dimitry Andric <dim@FreeBSD.org>

Move all sources from the llvm project into contrib/llvm-project.

This uses the new layout of the upstream repository, which was recently
migrated to GitHub, and converted into a "monorepo". That is, most of
the earlier separate sub-projects with their own branches and tags were
consolidated into one top-level directory, and are now branched and
tagged together.

Updating the vendor area to match this layout is next.

# 67b158f6 01-Aug-2018 Dimitry Andric <dim@FreeBSD.org>

Update build blue to make WITH_CLANG_EXTRAS and WITH_CLANG_FULL work.

# 986e05bc 26-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

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 with
relative 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 build
peformance. The previous large number of very small libraries, each
with their own generated files and dependencies was slow to traverse
and 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.

# 7fff4413 19-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for clang and the llvm/clang extras.

# dbc595b2 06-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Some additional llvm tools need libz. While here, consistently use
LIBADD+=.

# ffa548ae 31-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Next part of updating llvm/clang build glue: getting the
WITH_CLANG_EXTRAS tools built.

# eacae6dc 03-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Fix LDADD/DPADD that should be LIBADD.

Sponsored by: EMC / Isilon Storage Division

# ebeff3f9 30-May-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r238337.

# 1ae6788e 26-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang library and binary Makefiles for 3.6.0 rc1.

# 47a80b92 07-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Add the AArch64 llvm backend to the build to allow for early testing and
to ease any rework of how clang is built to take arm64 in to account.

Submitted by: andrew
Reviewed by: andrew, emaste
Differential Revision: https://reviews.freebsd.org/D1446

# 046ffce1 24-Nov-2014 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang binary Makefiles.

# 137470fb 20-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Add Makefile glue to build the Sparc backend libraries and link them
into the clang executable.

# f785676f 16-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4 release. This version supports
all 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 loop
auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The
PowerPC backend has made several major improvements to code generation
quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ
backends 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


# 840f0971 16-Dec-2013 Dimitry Andric <dim@FreeBSD.org>

Enable llvm's integrated assembler for PowerPC, since it should now be
good enough for typical usage.

Requested by: rdivacky
MFC after: 1 week

# 139f7f9b 12-Apr-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r178860, in preparation of the
upcoming 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.


# 8a166caf 11-Feb-2013 Andrew Turner <andrew@FreeBSD.org>

Allow us to build clang for ARM EABI. Clang and llvm use the
arm-gnueabi-freebsd10.0 triple for EABI. Use this when we are on arm or
armv6 and are building for EABI.

Reviewed by: dim

# 3861d79f 03-Dec-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r168974, from upstream's release_32
branch. This is effectively llvm/clang 3.2 RC2; the 3.2 release is
coming soon.


# dff0c46c 16-Apr-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r154661, in preparation of the
upcoming 3.1 release (expected in a few weeks). Preliminary release
notes can be found at: <http://llvm.org/docs/ReleaseNotes.html>

MFC after: 2 weeks


# 6bb1cadd 05-Feb-2012 Dimitry Andric <dim@FreeBSD.org>

Add a WITH_CLANG_EXTRAS option for src.conf(5), disabled by default,
that builds the following additional llvm/clang tools:

- bugpoint
- llc
- lli
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-diff
- llvm-dis
- llvm-extract
- llvm-ld
- llvm-link
- llvm-mc
- llvm-nm
- llvm-objdump
- llvm-prof
- llvm-ranlib
- llvm-rtdyld
- llvm-stub
- macho-dump
- opt

These tools are mainly useful for people that want to manipulate llvm
bitcode (.bc) and llvm assembly language (.ll) files, or want to tinker
with llvm and clang themselves.

MFC after: 2 weeks


# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/


# f5761726 23-Jul-2023 Dimitry Andric <dim@FreeBSD.org>

Move LIBADD lines from usr.bin/clang/*/Makefile one level up

Some utilities under usr.bin/clang were only linked to libz, while most
others were linked to libz and libzstd. Make this consistent, and remove
repetition, by moving these LIBADD lines to usr.bin/clang/clang.prog.mk
and usr.bin/clang/clang.prog.mk.

MFC after: 3 days


# bdd1243d 14-Apr-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-16-init-18548-gb0daacf58f41

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16-init-18548-gb0daacf58f41.

PR: 271047
MFC after: 1 month


# 81ad6265 04-Jul-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15-init-15358-g53dc0f10787.

PR: 265425
MFC after: 2 weeks


# b1ae9102 26-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

Update build glue for extra clang/llvm tools (MK_CLANG_EXTRAS=yes).

# 0b57cec5 20-Dec-2019 Dimitry Andric <dim@FreeBSD.org>

Move all sources from the llvm project into contrib/llvm-project.

This uses the new layout of the upstream repository, which was recently
migrated to GitHub, and converted into a "monorepo". That is, most of
the earlier separate sub-projects with their own branches and tags were
consolidated into one top-level directory, and are now branched and
tagged together.

Updating the vendor area to match this layout is next.

# 67b158f6 01-Aug-2018 Dimitry Andric <dim@FreeBSD.org>

Update build blue to make WITH_CLANG_EXTRAS and WITH_CLANG_FULL work.

# 986e05bc 26-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

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 with
relative 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 build
peformance. The previous large number of very small libraries, each
with their own generated files and dependencies was slow to traverse
and 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.

# 7fff4413 19-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for clang and the llvm/clang extras.

# dbc595b2 06-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Some additional llvm tools need libz. While here, consistently use
LIBADD+=.

# ffa548ae 31-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Next part of updating llvm/clang build glue: getting the
WITH_CLANG_EXTRAS tools built.

# eacae6dc 03-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Fix LDADD/DPADD that should be LIBADD.

Sponsored by: EMC / Isilon Storage Division

# ebeff3f9 30-May-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r238337.

# 1ae6788e 26-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang library and binary Makefiles for 3.6.0 rc1.

# 47a80b92 07-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Add the AArch64 llvm backend to the build to allow for early testing and
to ease any rework of how clang is built to take arm64 in to account.

Submitted by: andrew
Reviewed by: andrew, emaste
Differential Revision: https://reviews.freebsd.org/D1446

# 046ffce1 24-Nov-2014 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang binary Makefiles.

# 137470fb 20-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Add Makefile glue to build the Sparc backend libraries and link them
into the clang executable.

# f785676f 16-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4 release. This version supports
all 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 loop
auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The
PowerPC backend has made several major improvements to code generation
quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ
backends 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


# 840f0971 16-Dec-2013 Dimitry Andric <dim@FreeBSD.org>

Enable llvm's integrated assembler for PowerPC, since it should now be
good enough for typical usage.

Requested by: rdivacky
MFC after: 1 week

# 139f7f9b 12-Apr-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r178860, in preparation of the
upcoming 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.


# 8a166caf 11-Feb-2013 Andrew Turner <andrew@FreeBSD.org>

Allow us to build clang for ARM EABI. Clang and llvm use the
arm-gnueabi-freebsd10.0 triple for EABI. Use this when we are on arm or
armv6 and are building for EABI.

Reviewed by: dim

# 3861d79f 03-Dec-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r168974, from upstream's release_32
branch. This is effectively llvm/clang 3.2 RC2; the 3.2 release is
coming soon.


# dff0c46c 16-Apr-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r154661, in preparation of the
upcoming 3.1 release (expected in a few weeks). Preliminary release
notes can be found at: <http://llvm.org/docs/ReleaseNotes.html>

MFC after: 2 weeks


# 6bb1cadd 05-Feb-2012 Dimitry Andric <dim@FreeBSD.org>

Add a WITH_CLANG_EXTRAS option for src.conf(5), disabled by default,
that builds the following additional llvm/clang tools:

- bugpoint
- llc
- lli
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-diff
- llvm-dis
- llvm-extract
- llvm-ld
- llvm-link
- llvm-mc
- llvm-nm
- llvm-objdump
- llvm-prof
- llvm-ranlib
- llvm-rtdyld
- llvm-stub
- macho-dump
- opt

These tools are mainly useful for people that want to manipulate llvm
bitcode (.bc) and llvm assembly language (.ll) files, or want to tinker
with llvm and clang themselves.

MFC after: 2 weeks


# 81ad6265 04-Jul-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15-init-15358-g53dc0f10787.

PR: 265425
MFC after: 2 weeks


# b1ae9102 26-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

Update build glue for extra clang/llvm tools (MK_CLANG_EXTRAS=yes).

# 0b57cec5 20-Dec-2019 Dimitry Andric <dim@FreeBSD.org>

Move all sources from the llvm project into contrib/llvm-project.

This uses the new layout of the upstream repository, which was recently
migrated to GitHub, and converted into a "monorepo". That is, most of
the earlier separate sub-projects with their own branches and tags were
consolidated into one top-level directory, and are now branched and
tagged together.

Updating the vendor area to match this layout is next.

# 67b158f6 01-Aug-2018 Dimitry Andric <dim@FreeBSD.org>

Update build blue to make WITH_CLANG_EXTRAS and WITH_CLANG_FULL work.

# 986e05bc 26-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

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 with
relative 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 build
peformance. The previous large number of very small libraries, each
with their own generated files and dependencies was slow to traverse
and 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.

# 7fff4413 19-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for clang and the llvm/clang extras.

# dbc595b2 06-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Some additional llvm tools need libz. While here, consistently use
LIBADD+=.

# ffa548ae 31-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Next part of updating llvm/clang build glue: getting the
WITH_CLANG_EXTRAS tools built.

# eacae6dc 03-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Fix LDADD/DPADD that should be LIBADD.

Sponsored by: EMC / Isilon Storage Division

# ebeff3f9 30-May-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r238337.

# 1ae6788e 26-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang library and binary Makefiles for 3.6.0 rc1.

# 47a80b92 07-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Add the AArch64 llvm backend to the build to allow for early testing and
to ease any rework of how clang is built to take arm64 in to account.

Submitted by: andrew
Reviewed by: andrew, emaste
Differential Revision: https://reviews.freebsd.org/D1446

# 046ffce1 24-Nov-2014 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang binary Makefiles.

# 137470fb 20-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Add Makefile glue to build the Sparc backend libraries and link them
into the clang executable.

# f785676f 16-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4 release. This version supports
all 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 loop
auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The
PowerPC backend has made several major improvements to code generation
quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ
backends 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


# 840f0971 16-Dec-2013 Dimitry Andric <dim@FreeBSD.org>

Enable llvm's integrated assembler for PowerPC, since it should now be
good enough for typical usage.

Requested by: rdivacky
MFC after: 1 week

# 139f7f9b 12-Apr-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r178860, in preparation of the
upcoming 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.


# 8a166caf 11-Feb-2013 Andrew Turner <andrew@FreeBSD.org>

Allow us to build clang for ARM EABI. Clang and llvm use the
arm-gnueabi-freebsd10.0 triple for EABI. Use this when we are on arm or
armv6 and are building for EABI.

Reviewed by: dim

# 3861d79f 03-Dec-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r168974, from upstream's release_32
branch. This is effectively llvm/clang 3.2 RC2; the 3.2 release is
coming soon.


# dff0c46c 16-Apr-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r154661, in preparation of the
upcoming 3.1 release (expected in a few weeks). Preliminary release
notes can be found at: <http://llvm.org/docs/ReleaseNotes.html>

MFC after: 2 weeks


# 6bb1cadd 05-Feb-2012 Dimitry Andric <dim@FreeBSD.org>

Add a WITH_CLANG_EXTRAS option for src.conf(5), disabled by default,
that builds the following additional llvm/clang tools:

- bugpoint
- llc
- lli
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-diff
- llvm-dis
- llvm-extract
- llvm-ld
- llvm-link
- llvm-mc
- llvm-nm
- llvm-objdump
- llvm-prof
- llvm-ranlib
- llvm-rtdyld
- llvm-stub
- macho-dump
- opt

These tools are mainly useful for people that want to manipulate llvm
bitcode (.bc) and llvm assembly language (.ll) files, or want to tinker
with llvm and clang themselves.

MFC after: 2 weeks


# b1ae9102 26-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

Update build glue for extra clang/llvm tools (MK_CLANG_EXTRAS=yes).


# 0b57cec5 20-Dec-2019 Dimitry Andric <dim@FreeBSD.org>

Move all sources from the llvm project into contrib/llvm-project.

This uses the new layout of the upstream repository, which was recently
migrated to GitHub, and converted into a "monorepo". That is, most of
the earlier separate sub-projects with their own branches and tags were
consolidated into one top-level directory, and are now branched and
tagged together.

Updating the vendor area to match this layout is next.


# 67b158f6 01-Aug-2018 Dimitry Andric <dim@FreeBSD.org>

Update build blue to make WITH_CLANG_EXTRAS and WITH_CLANG_FULL work.


# 986e05bc 26-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

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 with
relative 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 build
peformance. The previous large number of very small libraries, each
with their own generated files and dependencies was slow to traverse
and 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.


# 7fff4413 19-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for clang and the llvm/clang extras.


# dbc595b2 06-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Some additional llvm tools need libz. While here, consistently use
LIBADD+=.


# ffa548ae 31-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Next part of updating llvm/clang build glue: getting the
WITH_CLANG_EXTRAS tools built.


# eacae6dc 03-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Fix LDADD/DPADD that should be LIBADD.

Sponsored by: EMC / Isilon Storage Division


# ebeff3f9 30-May-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r238337.


# 1ae6788e 26-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang library and binary Makefiles for 3.6.0 rc1.


# 47a80b92 07-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Add the AArch64 llvm backend to the build to allow for early testing and
to ease any rework of how clang is built to take arm64 in to account.

Submitted by: andrew
Reviewed by: andrew, emaste
Differential Revision: https://reviews.freebsd.org/D1446


# 046ffce1 24-Nov-2014 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang binary Makefiles.


# 137470fb 20-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Add Makefile glue to build the Sparc backend libraries and link them
into the clang executable.


# 840f0971 16-Dec-2013 Dimitry Andric <dim@FreeBSD.org>

Enable llvm's integrated assembler for PowerPC, since it should now be
good enough for typical usage.

Requested by: rdivacky
MFC after: 1 week


# 8a166caf 11-Feb-2013 Andrew Turner <andrew@FreeBSD.org>

Allow us to build clang for ARM EABI. Clang and llvm use the
arm-gnueabi-freebsd10.0 triple for EABI. Use this when we are on arm or
armv6 and are building for EABI.

Reviewed by: dim