Created attachment 212373 [details] Allow compiler major version > 9 USES=compiler is broken since LLVM 10 import. For example, "make -V COMPILER_VERSION" gives nothing.
Mk/Uses/objc.mk has to be patched too
The diff looks good to me, it's basically the same as what mhorne did in base r352033 for bsd.compiler.mk, and what I did in base r357661 for lld.
Created attachment 212385 [details] Allow compiler major version > 9 Add a patch for objc.mk.
Approved by portmgr
A commit references this bug: Author: jkim Date: Fri Mar 13 16:41:54 UTC 2020 New revision: 528363 URL: https://svnweb.freebsd.org/changeset/ports/528363 Log: Support compiler version >= 10. PR: 244781 Approved by: portmgr (antoine) Changes: head/Mk/Uses/compiler.mk head/Mk/Uses/objc.mk
With the new commit to compiler.mk, I'm getting $ make -V COMPILER_VERSION 801 801) $ clang --version FreeBSD clang version 8.0.1 (tags/RELEASE_801/final 366581) (based on LLVM 8.0.1) Target: x86_64-unknown-freebsd12.1 Thread model: posix InstalledDir: /usr/bin So every ports that compares COMPILER_VERSION would treat it as a string and error out. I made a simple change to fix this $ svnlite diff Index: compiler.mk =================================================================== --- compiler.mk (revision 528366) +++ compiler.mk (working copy) @@ -79,7 +79,7 @@ _CCVERSION_${_CC_hash}= ${_CCVERSION} PORTS_ENV_VARS+= _CCVERSION_${_CC_hash} .endif -COMPILER_VERSION= ${_CCVERSION:M[0-9]*.[0-9]*:tW:C/([0-9]+)\.([0-9])\.*/\1\2/g} +COMPILER_VERSION= ${_CCVERSION:M[0-9]*.[0-9]*:tW:C/([0-9]+)\.([0-9]).*/\1\2/g} .if ${_CCVERSION:Mclang} COMPILER_TYPE= clang .else
Re-open, this was reverted because this breaks on versions < 10
Created attachment 212390 [details] Allow compiler major version > 9 Please try this.
A commit references this bug: Author: jkim Date: Fri Mar 13 21:46:35 UTC 2020 New revision: 528379 URL: https://svnweb.freebsd.org/changeset/ports/528379 Log: Support compiler version >= 10 (again). PR: 244781 Approved by: portmgr (antoine) Changes: head/Mk/Uses/compiler.mk head/Mk/Uses/objc.mk