<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/clang/libllvmexecutionengine, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>Completely revamp the way llvm, clang and lldb are built.</title>
<updated>2016-08-26T22:44:22+00:00</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2016-08-26T22:44:22+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=986e05bc2a18e58ffe5ad5c944e4c188d01a4462'/>
<id>986e05bc2a18e58ffe5ad5c944e4c188d01a4462</id>
<content type='text'>
* 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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.
</pre>
</div>
</content>
</entry>
<entry>
<title>DIRDEPS_BUILD: Update clang dependencies after r296417.</title>
<updated>2016-03-08T21:26:44+00:00</updated>
<author>
<name>Bryan Drewery</name>
<email>bdrewery@FreeBSD.org</email>
</author>
<published>2016-03-08T21:26:44+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f51eac06ce2352c576777d0a8e2b42a8d2e528d4'/>
<id>f51eac06ce2352c576777d0a8e2b42a8d2e528d4</id>
<content type='text'>
Sponsored by:	EMC / Isilon Storage Division
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sponsored by:	EMC / Isilon Storage Division
</pre>
</div>
</content>
</entry>
<entry>
<title>Next part of updating llvm/clang build glue: getting the</title>
<updated>2015-12-31T17:37:35+00:00</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2015-12-31T17:37:35+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ffa548ae3e01619b2dd07d722eb8a00a711928bd'/>
<id>ffa548ae3e01619b2dd07d722eb8a00a711928bd</id>
<content type='text'>
WITH_CLANG_EXTRAS tools built.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
WITH_CLANG_EXTRAS tools built.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge ^/head r284188 through r284643.</title>
<updated>2015-06-20T19:34:50+00:00</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2015-06-20T19:34:50+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=76aeda8ad4e2c1ae78bf1388a5d6e793d84d8c53'/>
<id>76aeda8ad4e2c1ae78bf1388a5d6e793d84d8c53</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>new depends</title>
<updated>2015-06-16T23:37:19+00:00</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2015-06-16T23:37:19+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=2ef6d5a7b9254348e585e80e43049e1f3a2f7c99'/>
<id>2ef6d5a7b9254348e585e80e43049e1f3a2f7c99</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add META_MODE support.</title>
<updated>2015-06-13T19:20:56+00:00</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2015-06-13T19:20:56+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ccfb965433c67f3bda935a3cdf334be2e3c4348d'/>
<id>ccfb965433c67f3bda935a3cdf334be2e3c4348d</id>
<content type='text'>
Off by default, build behaves normally.
WITH_META_MODE we get auto objdir creation, the ability to
start build from anywhere in the tree.

Still need to add real targets under targets/ to build packages.

Differential Revision:       D2796
Reviewed by: brooks imp
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Off by default, build behaves normally.
WITH_META_MODE we get auto objdir creation, the ability to
start build from anywhere in the tree.

Still need to add real targets under targets/ to build packages.

Differential Revision:       D2796
Reviewed by: brooks imp
</pre>
</div>
</content>
</entry>
<entry>
<title>Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk</title>
<updated>2015-05-30T15:39:49+00:00</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2015-05-30T15:39:49+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ebeff3f9b4f3a7459c712833bbb7179b357681de'/>
<id>ebeff3f9b4f3a7459c712833bbb7179b357681de</id>
<content type='text'>
r238337.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
r238337.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge sync of head</title>
<updated>2015-05-27T01:19:58+00:00</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2015-05-27T01:19:58+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=98e0ffaefb0f241cda3a72395d3be04192ae0d47'/>
<id>98e0ffaefb0f241cda3a72395d3be04192ae0d47</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge llvm 3.6.0rc4 from ^/vendor/llvm/dist, merge clang 3.6.0rc4 from</title>
<updated>2015-02-19T22:20:19+00:00</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2015-02-19T22:20:19+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b09980d164a93b277e787f450466f3690ca034c5'/>
<id>b09980d164a93b277e787f450466f3690ca034c5</id>
<content type='text'>
^/vendor/clang/dist, resolve conflicts, and update patches.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
^/vendor/clang/dist, resolve conflicts, and update patches.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update llvm and clang library and binary Makefiles for 3.6.0 rc1.</title>
<updated>2015-01-26T18:48:27+00:00</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2015-01-26T18:48:27+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=1ae6788e516b0849e16085dbc4f035ec6e86b09a'/>
<id>1ae6788e516b0849e16085dbc4f035ec6e86b09a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
