This is an old revision of the document!
Versions of GCC
There are many versions of gcc 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.
Current versions in the tree
The usage column does not include ports that hardwire the version.
NOTYET See HardcodedLLVMVersions for that list.
| port | usage | status | comments |
| llvm60 | fallback via USES=xyz for GCC-based systems | obsolete | defined in Uses/compiler.mk |
| llvm70 | USES=obj (mostly gnustep-derived ports) | obsolete | defined in Mk/Uses/objc.mk; last changed as of r492056 |
| port | usage | status | comments |
| gcc4.8 | unsupported | ||
| gcc6 | TBD | unsupported | |
| gcc7 | unsupported | ||
| gcc8 | tree-wide default (powerpcspe) | supported | defined in Mk/bsd.default-versions.mk |
| gcc9 | tree-wide default (mips*, powerpc64) | supported | defined in Mk/bsd.default-versions.mk |
Dependency statistics
Processing INDEX-13 on amd64 20191202 (and deleting self-references) produces:
3 gcc4 0 gcc5 49 gcc6 2 gcc7 0 gcc8 1392 gcc9 0 gcc10
on poweprc64, gcc8 is needed to build gcc9, so the number is nonzeo (and large).