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 llvm10-10.0.1_12:
BE_AMDGPU=off: AMD GPU backend (required by mesa)
CLANG=on: Build clang
COMPILER_RT=off: Sanitizer libraries
DOCS=on: Build and/or install documentation
EXTRAS=off: Extra clang tools
GOLD=off: Build the LLVM Gold plugin for LTO
LIT=off: Install lit and FileCheck test tools
LLD=on: Install lld, the LLVM linker
LLDB=off: Install lldb, the LLVM debugger
OPENMP=off: Install libomp, the LLVM OpenMP runtime library
PYCLANG=off: 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=on: Backend(s) for this architecture (X86)
BE_STANDARD=off: All non-experimental backends
===> Use 'make config' to modify these settings
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/llvm10: Mark DEPRECATED
- No longer supported by upstream and no other cinsumers left
- Set EXPIRATION_DATE 2024-03-31
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/llvm10: un-deprecate, shrink default build
Remove expiration and deprecation as Arm platforms will require llvm10
as long as we support lang/ghc810.
Reduce the default builds to just the native backend(s), lld, and clang.
This is more than lang/ghc810 needs (it just needs LLVM), but also
covers lang/silq until its dependency on lld is removed.
devel/llvm10: actually fix build with llvm17
I failed to apply the actual patch and committed the ports patch
instead. It applies because it just creates files.
PR: 273959
Fixes: 50e51d2680b4 devel/llvm10: fix build with llvm17
devel/llvm10: deprecate, set short expiration
All dependent ports appear not to depend on llvm10 in practice and I've
submitted PRs for them. Set an expiration (somewhat shorter than ideal)
so llvm10 doesn't end up in 2023Q4.
PR: 273963, 273964, 273977
devel/llvm10: fix build with llvm17
Fix openmp linker scripts for llvm17.
Use base system libelf and don't link against libffi.
Reformat multi-line OPTION_CMAKE_ON variable.
Co-authored-by: Dimitry Andric <dim@FreeBSD.org>
Co-authored-by: Ivan Rozhuk <rozhuk.im@gmail.com>
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/llvm10: Use swig40 instead of swig
Some issues for swig 4.1.1 has been fixed in patch-swig. However, it still does
not build successfully, Therefore, use swig40 instead of swig for now.
PR: 270720
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>
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 )
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
*/*: 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/llvm*: Fix BE_NATIVE on aarch64
Fix two bugs in native-only backend support (BE_NATIVE). First, ARCH
is aarch64 not arm64. Second, consistently spell AArch64 not AAarch64
(extra 'a').
Because this only effects aarch64 in a non-default configuration, skip
the PORTREVISION bump that is technically required to reduce excess
heating in common cases.
Reported by: Mark Millard
llvm10: Avoid untracked ncurses depend
Force linkage with the base system's ncurses in lldb and disable
terminfo to avoid untracked dependencies when ncurses is installed from
ports. Ideally we'd also use the base libtinfo, but I have been unable
to find a way to force it to be used.
PR: 252120
MFH: 2021Q1
devel/llvm10: fix libllvm runtime on powerpc64 head
llvmpipe on powerpc64 head is broken without this.
This patch seems to have been droppen after llvm90
devel/llvm10: really fix the AT_EXECPATH fallback =(
It turns out that I made not one but *two* mistakes in applying this patch
from the version that I had sent upstream. This one is not an extra
semicolon, but rather not dereferencing p... p may never hit AT_NULL, but *p
certainly will.
The problem was isolated and the fix identified + tested by Andrew Gierth.
Reported by: Andrew Gierth <andrew_tao173 riddles org uk>
MFH: 2020Q4 (blanket: build fix)
Bump port revion after r553456
The patch to openmp was either ignored or the build was broken depending
on different aspects of the build environment. Now that it applies, the
pkg contents change...
PR: 250530
Reported by: John Hein
devel/llvm10: unbreak CLANG=off after r552611
$ make clean patch WITHOUT="CLANG EXTRAS LLDB PYCLANG"
[...]
===> Applying FreeBSD patches for llvm10-10.0.1_2 from
/usr/ports/devel/llvm10/files
No file to patch. Skipping...
1 out of 1 hunks ignored--saving rejects to
tools/clang/lib/Basic/Targets.cpp.rej
Can't create tools/clang/lib/Basic/Targets.cpp.rej, output is in
/tmp/patchr6bzSW7ml24: No such file or directory
===> FAILED Applying FreeBSD patch-tools_clang_lib_Basic_Targets.cpp
devel/llvm10: fix the patch added in r552764
A stray semicolon would cause llvm binaries to segfault as they
always get the wrong "executable path" on 12.1/11.4. Only test built on
-CURRENT, which doesn't use this path. =(
Pointy hat: kevans
PR: 250478, 250448
MFH: 2020Q4 (implicit, build fix)
devel/llvm10: fix hand-rolled AT_EXECPATH search for older FreeBSD
This was committed in base r360875 and upstream 21e5e1724, which was after
LLVM10 branched and has not been backported.
This failure would only have been noticed if AT_EXECPATH was missing, and
qemu-user-static does not currently provide AT_EXECPATH. As such, any
execution of llvm10 binaries under qemu-user-static immediately segfaulted.
Reported by: Daniel Tihanyi <daniel.tihanyi@tetragir.com>, jbeich
Approved by: brooks (maintainer)
MFH: 2020Q4
Minor fixes.
Unbreak OPENMP in some cases.
Fix C++ library selection for some target values.
PR: 248384, 248386
Submitted by: Greg V
Differential Revision: https://reviews.freebsd.org/D24420
devel/llvm*: Avoid extraneous escapes
All of these single quotes are safe on their own, as they're enclosed in
double quotes. Removes the escapes, because they're currently passed through
to the underlying regex engine as \' to be interpreted as '.
A future change will forbid this escape, then an even further future change
will actually imbue \' with special meaning based on GNU interpretation
("end of subject").
No PORTREVISION bump or rebuild is needed, as they're functionally
equivalent.
PR: 247058
Approved by: koobs (mentor), brooks (maintainer)
MFH: 2020Q2 (blanket: trivial build fix)
devel/llvm*: Upgrade Sphinx dependency to 3.X
This avoids conflicts between Sphinx ports when not using Poudriere.
PR: 246500
Approved by: brooks (maintainer)
Update Sphinx
- Repocopy textproc/py-sphinx to textproc/py-sphinx18
Update it to 1.8.5 (latest version from 1.8.X).
This version supports Python 2 and 3.
Add test target.
- textproc/py-sphinx: Update to 3.0.2
Python 3 only (3.5+).
Add test target.
- Mk/Uses/python.mk: Add PY_SPHINX
(Only the first 15 lines of the commit message are shown above )
Revert upstream 18bfb3a.
The commit in question causes miscompiliation of VirtualBox. Efforts to
create a reproducer are underway, but quite complicated.
Submitted by: kevans
Sponsored by: DARPA
Update to 10.0.0 release.
Add a patch disabling wrapping of qsort in ASAN as the current wrapper
is reported to be broken.[1]
Reported by: bdrewery
Sponsored by: DARPA
devel/llvm10: remove ELFv2 option to fix patch target
ELFv2 patches are now upstreamed and having them in ports actually breaks patch
target:
=======================<phase: patch >============================
===> Patching for llvm10-10.0.0.r1
===> Applying extra patch patches for llvm10-10.0.0.r1
===> Applying extra patch patches for llvm10-10.0.0.r1
1 out of 1 hunks failed--saving rejects to
tools/clang/lib/Basic/Targets/PPC.h.rej
=> extra patch patch patch-tools_clang_lib_Basic_Targets_PPC.h failed to apply
cleanly.
=> Patch(es) patch-lib_Target_PowerPC_PPCTargetMachine.cpp applied cleanly.
Approved by: portmgr (fix build blanket)
Restore the clang EXTRAS option.
Add a USES=lua for LLDB as it now picks up lua if installed. Let it
know which version to link to since it seems to prefer 5.3 even when
USES=lua prefers 5.2.
Submitted by: C Williams
Differential Revision: https://reviews.freebsd.org/D23583
Add LLVM 10.0.0rc1
Due to the added digit from 9 to 10 and the fact that ##.1.# releases
are vanishingly rare, use llvm10 rather than llvm100 for the name.
EXTRAS are currently disabled due to configure errors.
Sponsored by: DARPA