obsoletellvmversions

This is an old revision of the document!


There are many versions of llvm in the ports tree.

  • It is painful for builders (especially the ones using qemu) to have so many versions.
  • Some only exist to satisfy dependencies.

This page discusses the list of ports that we should try to update to reduce the dependencies.

The usage column does not include ports that hardwire the version (except for the llvm35 entry).

port usage status comments
llmv35 lang/pure and dependents obsolete tracking bug for removal
llvm60 tree-wide default defined in Mk/Uses/compiler.mk
llvm70 objc-dependent ports defined in Mk/Uses/objc.mk
llvm80 relatively new PR to make llvm80 the new tree-wide default
llvm90 brand new PR to test llvm90 as the new tree-wide default

Processing INDEX-12 20190805 (and deleting self-references) produces:

 13 /tmp/llvm3
  0 /tmp/llvm4
  0 /tmp/llvm5
 31 /tmp/llvm6
127 /tmp/llvm7
250 /tmp/llvm8
  0 /tmp/llvm9

For architectures that support llvm in base, the default version is determined by whatever is installed in base.

For other architectures, if a port sets USES=compiler, clang60 will be set if:

  • COMPILER_ARGS:Mc++17-lang
  • COMPILER_ARGS:Mc++14-lang
  • COMPILER_ARGS:Mc++11-lang
  • COMPILER_ARGS:Mc++0x
  • COMPILER_ARGS:Mc11

See Uses/compiler.mk for the code.

:!: These data are stale.

Here are the data from powerpc64 INDEX-13 built 20181214. As of this date, the base compiler is still gcc4.2.1.

llvm35 15 same as above
llvm40 5
llvm60 169
llvm70 13

  • obsoletellvmversions.1565163615.txt.gz
  • Last modified: 2019/08/07 07:40
  • by MarkLinimon