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.
===> The following configuration options are available for llvm13-13.0.1_11:
BE_AMDGPU=on: AMD GPU backend (required by mesa)
BE_WASM=on: WebAssembly backend (required by firefox via wasi)
CLANG=on: Build clang
COMPILER_RT=on: Sanitizer libraries
DOCS=on: Build and/or install documentation
EXTRAS=on: Extra clang tools
FLANG=off: Flang FORTRAN compiler
LIT=on: Install lit and FileCheck test tools
LLD=on: Install lld, the LLVM linker
MLIR=off: Multi-Level Intermediate Representation
OPENMP=on: Install libomp, the LLVM OpenMP runtime library
PYCLANG=on: Install python bindings to libclang
====> Options available for the single BACKENDS: you have to select exactly one of them
BE_FREEBSD=off: Backends for FreeBSD architectures
BE_NATIVE=off: Backend(s) for this architecture (X86)
BE_STANDARD=on: All non-experimental backends
===> Use 'make config' to modify these settings
devel/llvm13: remove FLANG and MLIR from the default build
It would be surprising if anyone was using these ancient versions so
stop wasting build time for most people.
devel/llvm13: Remove the LLDB option and fix plist with DOCS
LLDB's Python script interpreter fails to build with Python 3.13
(PyEval_ThreadsInitialized was removed), which blocks switching the
default Python version to 3.13. Rather than patching an old debugger,
remove the LLDB option as discussed in PR 292105: LLDB remains available
from devel/llvm18 and later and from the base system.
This also drops the swig build dependency and the lua53 and libedit
library dependencies.
While here, fix the plist with DOCS enabled: the openmp and flang
HTML documentation leaves an empty _sources directory behind, and
check-plist fails with orphaned directories. Remove them;
devel/llvm12 does the same for openmp (a4f732450dd3).
PR: 299421
devel/llvm??: Add Mips back to standard backends
I'd forgotten that STANDARD_BACKENDS is includes _FREEBSD_BACKENDS so
Mips dropped out of the list when it was removed from _FREEBSD_BACKENDS.
PR: 295111
Fixes: 2a7c0561200c ("all: drop support for FreeBSD 13, mips and risc64sf")
all: drop support for FreeBSD 13, mips and risc64sf
Reviewed by: many (*)
Differential Revision: https://reviews.freebsd.org/D55624
Differential Revision: https://reviews.freebsd.org/D55642 (merged in from bofh)
many (*)
acm arrowd brooks cmt dch decke dinoex eduardo fluffy fuz gahr garga
jbeich joerg jrm kai kenrap martymac matthew mfechner michaelo mizhka
nobutaka pkubaj se tagattie thj
Anton Saietskii
GenericRikka
Gert Doering
Jan Bramkamp
Oleh Hushchenkov
Oleksandr Kryvulia
Ralf van der Enden
Yamagi
desktop kde python tcltk office
devel/llvm13: fix build with clang 21
Recent versions of clang complain about explicit copy constructors,
leading to errors similar to:
In file included from
/wrkdirs/usr/ports/devel/llvm13/work/llvm-project-13.0.1.src/llvm/tools/sancov/sancov.cpp:16:
In file included from
/wrkdirs/usr/ports/devel/llvm13/work/llvm-project-13.0.1.src/llvm/include/llvm/MC/MCContext.h:12:
/wrkdirs/usr/ports/devel/llvm13/work/llvm-project-13.0.1.src/llvm/include/llvm/ADT/DenseMap.h:128:16:
warning: variable 'NumEntries' set but not used [-Wunused-but-set-variable]
128 | unsigned NumEntries = getNumEntries();
| ^
/wrkdirs/usr/ports/devel/llvm13/work/llvm-project-13.0.1.src/llvm/tools/sancov/sancov.cpp:512:42:
error: chosen constructor is explicit in copy-initialization
512 | return SpecialCaseList::createOrDie({{ClBlacklist}},
| ^~~~~~~~~~~~~
/usr/include/c++/v1/string:1153:64: note: explicit constructor declared here
1153 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit
basic_string(const _Tp& __t) {
(Only the first 15 lines of the commit message are shown above )
devel/llvm13: don't build gold plugin when disabled
Disabling the GOLD option didn't actually disable building the plugin,
it just didn't install it in the package. Actually stop traversing into
the directory when the option disabled so we don't end up needing
devel/binutils.
PR: 291247
Sponsored by: DARPA, AFRL
devel/llvm*: flip LICENSE_FILE_BSD3CLAUSE setting [NFC]
The location of this license file moved in LLVM 16. Since I'm doing
cleanup in this area and the split of ports is about 50/50, switch to
setting the old location in the older ports so the newer ports set fewer
variables.
Sponsored by: DARPA, AFRL
devel/llvm*: LICENSE_DIR simplification
WRKSRC moved to the top of the source tree with llvm12. As a result,
LICENSE_DIR became ${WRKSRC}/llvm. Given that llvm11 the only port that
wasn't setting LICENSE_DIR, flip the script and default to
${WRKSRC}/llvm with llvm11 overriding.
Sponsored by: DARPA, AFRL
devel/llvm*: Always define LLVM2 license [NFC]
All LLVM ports in the tree use the Apache License 2.0 with LLVM
Exceptions license so cerntralize the definition.
Sponsored by: DARPA, AFRL
devel/llvm13: fix build with clang 19
Clang 19 now implements CWG 96 [1], which requires a template argument
list after a 'template' keyword, resulting in errors similar to:
/wrkdirs/usr/ports/devel/llvm13/work/llvm-project-13.0.1.src/flang/include/flang/Evaluate/integer.h:310:32:
error: a template argument list is expected after a name prefixed by the
template keyword [-Wmissing-template-arg-list-after-template-kw]
310 | auto back{FROM::template ConvertSigned(result.value)};
| ^
Upstream has committed a fix to their main branch [2], but it does not
apply cleanly to 13.0.1, so add a backported patch.
[1] https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#96
[2]
https://github.com/llvm/llvm-project/commit/7bc7672925f8154be3b8220365d3f269ac43621c
PR: 281486
Approved by: brooks (maintainer)
MFH: 2024Q3
devel/llvm13: fix build with libc++ 19
As noted in the libc++ 19 release notes [1], std::char_traits<> is now
only provided for char, char8_t, char16_t, char32_t and wchar_t, and any
instantiation for other types will fail.
This causes devel/llvm13 to fail to compile with clang 19 and libc++
19, resulting in errors similar to:
/usr/include/c++/v1/string:820:42: error: implicit instantiation of
undefined template 'std::char_traits<unsigned char>'
820 | static_assert(is_same<_CharT, typename
traits_type::char_type>::value,
| ^
/wrkdirs/usr/ports/devel/llvm13/work-default/llvm-project-13.0.1.src/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp:595:34:
note: in instantiation of template class 'std::basic_string<unsigned char>'
requested here
638 | std::basic_string<uint8_t> zeros(reg_info.byte_size, '\0');
| ^
(Only the first 15 lines of the commit message are shown above )
devel/llvm*: Remove unnecessary C/CFLAGS definitions
As of 3c5189a0fd4c82addfb659024bf28c5006bf88f7
there's no need to define DNDEBUG manually
PR: 277909
Approved by: portmgr (maintainer timeout, 2+ weeks)
devel/llvm*: Sanitize MANPREFIX
Not bumping as there is no change in PKG. This should have been done in
my previous commit.
Approved by: portmgr (blanket)
devel/llvm1[0123456]: Fix build
After the EOL of stable/12 sparc related codes were removed which broke
the build. This patches fixes those builds and also the consumers.
Thanks to dim@ for tha patches.
Approved by: portmgr (blanket)
*/*: Sunset 12.4-RELEASE/12-STABLE from ports tree
- Remove all references to defunct ARCH arm
- Remove all references to defunct ARCH sparc64
- Remove x11-drivers/xf86-video-sunffb which requires defunct sparc64
ARCH
- Remove sysutils/afbinit requires defunct sparc64 ARCH
- Remove all references to bktr driver
- Remove all references to defunct FreeBSD_12
- Remove all references to OSVERSION/OSREL corresponding to 12
- Remove conditionals in Mk/Uses/cabal.mk
- Remove sparc reference from Mk/Uses/qt-dist.mk
- Remove BROKEN_sparc64/NOT_FOR_ARCH=sparc64
- Remove BROKEN_FreeBSD_12* from:
- Remove OpenSSL patches from:
- Remove conditional flags for OSVERSION >= 1300000 to fixed flags.
Also move conditional flags for non sparc64/arm ARCH to fixed flags.
Reviewed by: brooks, jbeich, rene, salvadore
Differential Revision: https://reviews.freebsd.org/D42068
devel/llvm1[234567]: enable qsort sanatizer wrapper
I'd disabled it in 10.0.0 when it was found to be broken. It was then
fixed in LLVM 12, but the patch was never never removed and I propogated
it along for several year.
Reported by: Brad Smith <brad@comstyle.com>
See also: https://github.com/llvm/llvm-project/issues/46176
devel/llvm13: fix openmp library depends
Use base system libelf and don't link with libffi.
Reformat long and/or multi-line OPTION_FOO variables.
PR: 273801
Co-authored-by: Ivan Rozhuk <rozhuk.im@gmail.com>
devel/llvm13: arm and aarch64 improvements
Change clang to allow -m32 on arm64. This is a backport from upstream
and will be merged to FreeBSD head soon. See D40943 for more info.
Remove an obsolete patch which breaks arm64. [0]
When BE_NATIVE is specified on aarch64, include the ARM (32-bit)
backend.
PR: 271616 [0]
Reported by: jfc@mit.edu [0]
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568>
devel/llvm*: Consistently use python:3.7+
llvm12 was inappropriately constrained to 3.6-3.9 breaking the ability
to set 3.10 as the default. llvm11 just specified "python", but there's
no need to keep 2.7 support around. The rest had obsolete 3.6+ entries.
No functional change: This is not expected to change the version of
python used.
PR: 270978
MFH: 2023Q2
Reported by: michael.osipov@siemens.com
Sponsored by: DARPA
devel/llvm*: Fix CONFLICT on cmark
If the user has the textproc/cmark package installed, the py*-CommonMark
package will fail to install. This in turn leads to build failures down
the line when sphinx tries to load commonmark. The result is confusing
and potentially wastes a lot of build time so just conflict upfront.
The previous code attempted to do this, but I'd listed the conflict
incorrectly in 2019. :(
PR: 239636
Reported by: Stephen Roznowski <sjrbulk@verizon.net>
devel/llvm1[2345]: fix build with clang 15
When building llvm12 through llvm15 with clang 15 as host compiler, and
when compiler-rt is enabled, there will be errors due to float16
support, similar to:
In file included from
/wrkdirs/usr/ports/devel/llvm15/work/llvm-project-15.0.6.src/compiler-rt/lib/builtins/extendhfsf2.c:11:
In file included from
/wrkdirs/usr/ports/devel/llvm15/work/llvm-project-15.0.6.src/compiler-rt/lib/builtins/fp_extend_impl.inc:38:
/wrkdirs/usr/ports/devel/llvm15/work/llvm-project-15.0.6.src/compiler-rt/lib/builtins/fp_extend.h:44:9:
error: _Float16 is not supported on this target
typedef _Float16 src_t;
^
This is because compiler-rt's CMake infrastructure detects float16
support at configure time, while targeting 'pure' x86_64, but then
builds parts of its tree also targeting i386.
(Only the first 15 lines of the commit message are shown above )
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
devel/llvm13: fix hangs with CPUTYPE=skylake-avx512
Merge commit e8305c0b8f49 from llvm git (by Simon Pilgrim)
[X86] combineX86ShuffleChain - don't fold to truncate(concat(V1,V2)) if it
was already a PACK op
Fixes #55050
PR: 264480
MFH: 2022Q2
Sponsored by: DARPA, AFRL
textproc/libxml2: bump all LIB_DEPENDS consumers
This is a separate commit to facilitate easier cherry-picking for
quarterly.
PR: 262853, 262940, 262877, 263126
Approved by: fluffy (mentor)
textproc/libxml2: bump all dependencies
This should make sure that all dependent ports will pick
up the new version commited with a13ec21cd733f67a9fc0dc00ab45268bdc236246
devel/lvm13: fix build without LLDB
While here, correctly identify several scanbuild-related files as being
part of clang.
PR: 261374
Reported by: pkubaj
devel/llvm13: update to 13.0.1
Disable FLANG on armv6 and armv7. It's not 32-bit clean and many
systems lack the RAM to build it natively.
Disable LLDB on riscv64, there is no riscv64 support. [0]
PR: 261374 [0]
MFH: 2022Q1
devel/llvm1[23]: Add BE_WASM option
When set, always build the WebAssembly backend (now required by Firefox
via wasi). This option effects BE_FREEBSD and BE_NATIVE. It has no
effect on BE_STANDARD.
This option is enabled by default.
*/*: Remove redundant '-*' from CONFLICTS definitions
The conflict checks compare the patterns first against the package
names without version (as reported by "pkg query "%n"), then - if
there was no match - agsinst the full package names including the
version (as reported by "pkg query "%n-%v").
Approved by: portmgr (blanket)
devel/llvm13: bump PORTREVISON
The patch fixed in d326758c32dff2938c1da97c0df5926612c3efa2 broke
non-powerpc platforms so we need a bump for all platforms.
Requested by: kib
devel/llvm13: revert to the older powerpc64 fix
The newer one apparently causes a regression on amd64 freestanding binaries.
While here, fix some whitespace issues in Makefile.
Submitted by: adalava
devel/llvm13: fix building software with -fstack-protector-strong
Apply https://reviews.llvm.org/D109090
Fixes immediate segfault when executing binaries built by the port's compiler
with -fstack-protector-strong.
Submitted by: adalava
devel/llvm13: fix BE_NATIVE build
Handle new per-backend Exegesis libraries. Awkwardly, they use the
opposite convention of all other per-arch binaries so add (hopefuly
temporary) machinery to support libLLVM<Foo><Arch>.a libraries.
PR: 258897
MFH: 2021Q4
Sponsored by: DARPA
devel/llvm13: Disable OpenMP amdgcn bit code
Fix a typo in 79207f500c9bf7daf9c1517d71f71b4a2950300f so it actually
has an effect.
PR: 258706
Reported by: pkubaj
Sponsored by: DARPA
devel/llvm13: Disable OpenMP amdgcn bit code
Due to a bug in the CMakefiles these build for aarch64 and maybe
ppc64le. This resulted in plist breakage for aarch64.
It would be straightforward to enable them for amd64, but I have no way
to test them and the current CMake bits build them for linux targets so
I suspect they won't work.
PR: 258706
Reviewed by: jbeich
Sponsored by: DARPA
devel/llvm13: Fix install without FLANG
Add f18 to the set of FLANG commands to it it linked as f1813
(awkward...) and only in the plist when FLANG is built.
Reported by: kib
Sponsored by: DARPA
devel/llvm13: enable FLANG by default
The FLANG option was broken and accidently not enabled by default.
Include in plist and update build depends to allow docs to build.
Reported by: fluffy
Sponsored by: DARPA
devel/llvm13: assorted build/plist fixes
Disable compiler-rt on FreeBSD 11 as it doesn't compile with current
patches.
Correct plist issues preventing packaging in certain situations.
PR: 258062
Sponsored by: DARPA
devel/llvm13: Update to 13.0.0rc1, connect
This port is derived from devel/llvm12 and adds support for the flang
Fortran compiler extracted from devel/llvm-devel.
Sponsored by: DARPA