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.

portname hardcoding
sysutils/memtest86+ 4.8
sysutils/uefi-edk2-bhyve-csm 4.8
uefi-edk2-bhyve 4.8
cad/ghdl 6
graphics/impressive 6
lang/gnat_util 6
devel/xtensa-esp32-elf 7
graphics/bugle 7

  • hardcodedgccversions.1575276879.txt.gz
  • Last modified: 2019/12/02 08:54
  • by MarkLinimon