./lang/llvm, Low Level Virtual Machine compiler infrastructure

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 19.1.7nb1, Package name: llvm-19.1.7nb1, Maintainer: pkgsrc-users

Low Level Virtual Machine (LLVM) is:

A compilation strategy designed to enable effective program optimization across
the entire lifetime of a program. LLVM supports effective optimization at
compile time, link-time (particularly interprocedural), run-time and offline
(i.e., after software is installed), while remaining transparent to developers
and maintaining compatibility with existing build scripts.

A virtual instruction set - LLVM is a low-level object code representation that
uses simple RISC-like instructions, but provides rich, language-independent,
type information and dataflow (SSA) information about operands. This combination
enables sophisticated transformations on object code, while remaining
light-weight enough to be attached to the executable. This combination is key to
allowing link-time, run-time, and offline transformations.

A compiler infrastructure - LLVM is also a collection of source code that
implements the language and compilation strategy. The primary components of the
LLVM infrastructure are the C & C++ front-end, a link-time optimization
framework with a growing set of global and interprocedural analyses and
transformations, static back-ends for the X86, X86-64, PowerPC 32/64, ARM,
Thumb, IA-64 and SPARC architectures, a back-end which emits portable C
code, and a Just-In-Time compiler for X86, X86-64, PowerPC 32/64 processors.


Required to run:
[textproc/libxml2]

Required to build:
[pkgtools/cwrappers] [lang/gcc5] [lang/python37]

Package options: llvm-target-bpf, llvm-target-hexagon, llvm-target-msp430, llvm-target-nvptx, llvm-target-systemz, llvm-target-x86, llvm-target-xcore, llvm-target-avr, llvm-target-lanai, llvm-target-arc, llvm-target-riscv, llvm-target-csky, llvm-target-m68k, llvm-target-ve, llvm-target-directx, llvm-target-loongarch, llvm-target-spirv, llvm-target-xtensa, llvm-target-aarch64, llvm-target-amdgpu, llvm-target-arm, llvm-target-mips, llvm-target-sparc, llvm-target-powerpc, llvm-target-webassembly, terminfo

Master sites:

Filesize: 66238.477 KB

Version history: (Expand)


CVS history: (Expand)


   2026-01-07 09:49:50 by Thomas Klausner | Files touched by this commit (2525)
Log message:
*: recursive bump for icu 78.1
   2025-06-29 23:10:48 by Benny Siegert | Files touched by this commit (3)
Log message:
llvm: use gcc 14 on NetBSD 9

Both base gcc (8) and gcc10 cause llvm to mis-compile lang/wasi-libc,
which is required for a Firefox build. With gcc14, I can successfully
build firefox128.

The GCC_REQD goes into version.mk, so that it also applies to clang
and LLVM-adjacent packages. It is also in buildlink3.mk, or Rust
will fail to build because libLLVM uses a different C++ ABI.

This is not really a fix but a mitigation. It is limited to NetBSD 9,
so there should be no breakage on other platforms.
   2025-06-21 23:38:49 by Havard Eidnes | Files touched by this commit (1)
Log message:
lang/llvm: On NetBSD/i386 9.x, force use of GCC >= 10.

Gcc8 which is otherwise used blows up with per-process VM
exhaustion, i.e. with memory allocation failure.
   2025-05-17 08:56:25 by Thomas Klausner | Files touched by this commit (1)
Log message:
llvm: fix PLIST for PKG_OPTIONS.llvm=-llvm-target-spirv

From Rob Whitlock in PR 59429.
   2025-05-14 22:56:57 by Makoto Fujiwara | Files touched by this commit (1)
Log message:
(lang/llvm) USE_CXX_FEATURES set to c++17 charconv, based on CMakefile.txt

adam@ wrote:
| CMakeFile.txt defines:
|
| # This C++ standard is required to build LLVM.
| set(LLVM_REQUIRED_CXX_STANDARD 17)
|
| Maybe we should keep c++17?

thanks,
   2025-05-14 00:49:14 by Makoto Fujiwara | Files touched by this commit (1)
Log message:
(lang/llvm) c++14 charconv is sufficient
   2025-05-14 00:02:54 by Makoto Fujiwara | Files touched by this commit (1)
Log message:
(lang/llvm) Fix build on NetBSD/amd64 9.4 (c++17 charconv)
   2025-05-09 21:37:16 by Thomas Klausner | Files touched by this commit (65)
Log message:
*: bump for llvm 19 (shlib major changed)