| Summary: | Mk/Uses/compiler.mk: Broken after LLVM 10 import | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Ports & Packages | Reporter: | Jung-uk Kim <jkim> | ||||||||
| Component: | Ports Framework | Assignee: | Jung-uk Kim <jkim> | ||||||||
| Status: | Closed FIXED | ||||||||||
| Severity: | Affects Some People | CC: | dim, jinxiaoyong, portmgr, ports-bugs | ||||||||
| Priority: | --- | Keywords: | needs-qa, regression | ||||||||
| Version: | Latest | Flags: | jkim:
exp-run?
|
||||||||
| Hardware: | Any | ||||||||||
| OS: | Any | ||||||||||
| Bug Depends on: | |||||||||||
| Bug Blocks: | 244251 | ||||||||||
| Attachments: |
|
||||||||||
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.
Approved by portmgr 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 |
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.