The LLVM Project is a collection of modular and reusable compiler and
toolchain technologies.
This port includes Clang (a C/C++/Objective-C compiler), LLD (a linker),
LLDB (a debugger), an OpenMP runtime library, and the LLVM infrastructure
these are built on.
WWW: http://llvm.org/
===> The following configuration options are available for llvm38-3.8.1_14:
CLANG=on: Build clang
DOCS=on: Build and/or install documentation
EXTRAS=on: Extra clang tools
GOLD=on: Build the LLVM Gold plugin for LTO
LIT=on: Install lit and FileCheck test tools
LLD=on: Install lld, the LLVM linker
LLDB=on: Install lldb, the LLVM debugger
OPENMP=on: Install libomp, the LLVM OpenMP runtime library
===> Use 'make config' to modify these settings
Set an expiration date of next Saturday.
I'd like this port gone before the 2019Q2 branch is created. The last
dependency (security/klee) has a patch to switch to llvm60.
PR: 230468
Change cmake default behaviour to outsource.
Ports that build out of source now simply can use "USES=cmake"
instead of "USES=cmake:outsource". Ports that fail to build
out of source now need to specify "USES=cmake:insource".
I tried to only set insource where explictely needed.
PR: 232038
Exp-run by: antoine
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
Use exec in wrapper to avoid an extra shell process sticking around.
I purposely didn't bump PORTREVISION for this as it's not really
worth a rebuild even though technically required.
Approved by: brooks
Limit LLVM builds to linking a single binary at a time.
Regular builds can requires multiple gigabytes of memory at Debug builds
can exceed 100GB. This should help low-memory systems such as
Raspberry-Pis and VMs.
Submitted by: dim
Switch from ninja to Makefiles to work around bugs in generated ninja code.
The Makefile code generates broken installs for sanatizer bits so
remove the COMPILER_RT option as this port exists entierly to support
devel/gps and devel/klee and they can live without the sanatizers.
Submitted by: arrowd (in concept)
Sponsored by: DARPA, AFRL
Bump PORTREVISION for ports depending on the canonical version of GCC
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.
This includes ports
- featuring USE_GCC=yes or USE_GCC=any,
- featuring USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and those
- with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.
PR: 222542
devel/llvm*: Fix wrapper scripts to support symlinking to them
The wrapper scripts currently do not resolve the real path to $0:
$ install -l rs /usr/local/bin/clang50 gcc
$ ./gcc
./gcc: /usr/local/llvm50/bin/gcc: not found
Here /usr/local/llvm50/bin/clang should be called not
/usr/local/llvm50/bin/gcc.
Approved by: brooks (maintainer)
Differential Revision: https://reviews.freebsd.org/D14727
Bump PORTREVISION for ports depending on the canonical version of GCC
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++11-lang,
c++14-lang, c++0x, c11, or gcc-c++11-lib.
PR: 219275
Make ninja opt-out in cmake.mk
Using ninja instead of make (1) can lead to significant speed ups while
building.
Therefore switch from having the ninja generator opt-in to having it opt-out.
Previously cmake-ports that wanted to use ninja could set
CMAKE_NINJA=yes
now, ports that do not work with ninja can set
cmake:<existing args>,noninja
Note, that needing this should be an exception and most often points to a broken
cmake of the port.
The ports using cmake were modified
* removed USES=gmake, if ninja is used
* removed MAKE_ARGS, if ninja is used
* added the cmake-argument noninja if necessary
PR: 219629
PR: 213331
Exp-run by: antoine
Reviewed by: rakuco
Differential Revision: https://reviews.freebsd.org/D10748
Remove the misspelled ONLY_FOR_ARCH definitions, which referred to an
arch we no longer support in any case.
Approved by: portmgr (tier-2 blanket), "just fix it"
The LLDB option requires CLANG so make it imply CLANG.
Attempt to reduce the size of WITH_DEBUG builds. Reports suggest they
are still enormous.
Garbage collect some FreeBSD 9.x bits.
Bump PORTREVISIONs for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using using Mk/bsd.octave.mk which in turn has USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
c++11-lang, c++0x, c11, or gcc-c++11-lib.
PR: 216707
Update devel/cmake* to 3.7.1 [1]
Due to an upstream commit [2] we need now to pass
CMAKE_INSTALL_MANDIR:PATH="share/man" in the
devel/llvm-* ports, and fix the plist of net/remmina.
Further add an upstream patch to math/plplot to
fix the build with 3.7.1.
[1] https://cmake.org/cmake/help/v3.7/release/3.7.html
[2] https://github.com/kitware/cmake/commit/956054
PR: 214975
Approved by: rakuco (mentor)
Exp-run by: antoine
Add a hack to make -fopenmp work inspired by a submission from
Johannes Dieterich <dieterich@ogolem.org>.
This differs from the submission in that it adds the library directly
to the linker command line. I chose not to add the llvm library to the
search path because that would (e.g.) make it hard to link something
that uses a different version of llvm.
Remove builds of i386 sanitizers on amd64.
The cmake build system would attempt to check if -m32 builds worked and
then add those files. There are an infinite number of reasons why -m32
might not work on a given system so rip out the test to ensure a
consistant build.
PR: 209029
Build compiler-rt on i386 and amd64.
It should be possible to enable on other other architectures, but I have no
way to build the PLIST_FILES variables.
PR: 208900, 208923
Update to 3.8.0 RC3.
Update the version in the clang-format patch. [0]
Attempt make ccc-analyzer have a usable default. [1]
PR: 207065 [1]
Submitted by: kpneal@pobox.com [0]
Add a port of llvm 3.8.0rc1.
clang and lldb metaports to follow along with a new compiler-rt78 port.
LLDB builds with shared libraries are currently broken so I've disabled
shared library builds. Tools should start faster, but the package are
much larger.