This is an old revision of the document!


Certain ports hardcode which GCC version they want.

By default, the Makevar LLVM_DEFAULT is globally defined by the ports infrastructure via Mk/bsd.default-versions.mk. Therefore, it should be under control of the user. MarkLinimon believes that this global Makevar should not be overridden in port Makefiles.

Some ports use the LLVM_DEFAULT Makevar, but some use their own, or, worse, hardcode a version number.

This is a common case – but see ObsoleteLLVMVersions for the maintenance hassles it causes.

In general these are symbolic definitions via LLVM_VER or similar.

Example:

{ {{ LLVM_VER= 80 BUILD_DEPENDS+= clang${LLVM_VER}:devel/llvm${LLVM_VER} } }}

:!: We should standardize on a variable name. In use: LLVM_VER LLVM_VERSION LLVMVER VBOX_LLVM_VER.

portname hardcoding
audio/csound 60
audio/faust 60
audio/faustlive 60
devel/cpp2py 60
devel/gnome-builder 60
devel/py-llvmlite 60
lang/crystal 60
devel/flang 70
devel/flang-clang 70
devel/youcompleteme 70
lang/ponyc 70
math/libpgmath 70
devel/creduce 80
devel/f18 80
devel/ikos 80
devel/include-what-you-use 80
graphics/blender 80
graphics/openshadinglanguage 80
math/saga 80
lang/pocl 90

  • hardcodedgccversions.1575276522.txt.gz
  • Last modified: 2019/12/02 08:48
  • by MarkLinimon