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 llvm39-3.9.1_8:
CLANG=on: Build clang
COMPILER_RT=on: Sanitizer libraries
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
Remove a needless include of vm/pmap.h which broke the i386 build with
COMPILER_RT enabled on recent CURRENT.
Rename files as if EXTRA_PATCHS+=compiler-rt were used, but don't use it
due to compiler-rt's odd location in WRKDIR.
No functional change.
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
Apply the changes from FreeBSD r314883:
Pull in r291403 from upstream clang trunk (by Richard Smith):
PR30305: Implement proposed DR resolution to prevent slicing via
inherited constructor.
The rule we use is that a construction of a class type T from an
argument of type U cannot use an inherited constructor if U is the
same as T or is derived from T (or if the initialization would first
convert it to such a type). This (approximately) matches the rule in
use by GCC, and matches the current proposed DR resolution.
Pull in r291955 from upstream clang trunk (by Richard Smith):
(Only the first 15 lines of the commit message are shown above )
Disable LLVM_LINK_LLVM_DYLIB for now.
The resulting llvm-nm binary has a command line parsing bug and is
unusable which breaks chromium builds.
Reported by: cpm
Allow build on non-clang using architectures such as powerpc.
Mark broken on FreeBSD 9. This is somewhat more agressive than
necessicary, but I'm not sure what the correct conditional is and 9.x is
supported for 22 more days.
Call the correct clang format.
PR: 215135
Submitted by: matthew@reztek.cz
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
Import Clang's r280672 into our devel/llvm39 port
This revision is what's needed to make Clang work for CloudABI on ARMv6.
By pulling in this change, the ARMv6 cross compiler set up by the
cloudabi-toolchain port seems functional.
In the process, I did have to replace some ${RMDIR}s by ${RM} -rf, as it
tried to delete nonexistent directories. Brooks, do you know what's up
with that?
Submitted by: ed
Differential Revision: https://reviews.freebsd.org/D8078
Upgrade to 3.9.0 release.
Improve support for -fopenmp with a hack inspired by a submission from
Johannes Dieterich <dieterich@ogolem.org>.
Implement a number of improvments submitted by lightside@gmx.com:
- Add license information
- Use VAR option helper for _USES_PYTHON variable
- Add libxml2 to USE_GNOME for CLANG option
- Sort variables for options (e.g. GOLD_*)
Add USES=execinfo for LLDB.
PR: 203223, 212334