Most patch merges inspired from patrick's work on base-clang. Consumer
ports fixed/marked BROKEN as discussed with bcallah@ and rsadowski@.
powerpc tests and PLIST fixes from cwen@, thanks! rust-1.36 tests by
semarie@
All the work done by Brad except for some fixes from base by mortimer@
and patrick@
Tests: amd64 Brad, jsg@ and me, i386: Brad, mips64: visa@, sparc64 me.
No tests on powerpc but a test build with only the PowerPC backend
packages on amd64.
ports clang for ports that explicitly use clang to compile.
So put COMPILER_LINKS for those, so that we get the requested compiler, along
with -B support.
Noticed some oddities in WANTLIB for a few ports (libc++ and libc++abi which
had no business being there), this fixes the issue.
search path to ${WRKDIR}/bin. Ensures that the ld wrapper script needed
for USE_WXNEEDED gets used (clang was ignoring it otherwise).
Rework ccache support and gcc4/clang MODULES to use the same wrapper
generator as above, setting up a list of command names (cc, c++, etc) and
destinations (egcc, eg++, etc) as the port is processed, and writing the
wrappers in one place in bsd.port.mk, with an optional wrapper (e.g.
ccache), and with an echo to make it clear on screen/in log which
compiler binaries were chosen (easier than inspecting the wrapper
scripts) and whether ccache is used.
Initial wrapper using -B from espie, ccache bits from me, discussed
with/ok espie. Been through a bulk on i386.
C++11 codebase.
This brings in a number of improvements over 3.4 including..
X86 assembler with 16-bit support
Much improved SPARC backend
stack protector strong support
ok sthen@
enable it through symlinks in ${WRKDIR}/bin/, which were effectively
overriden by gcc4.port.mk or clang.port.mk - thus lying that ccache was
used while it was not.
Still investigating for a good solution to actually enable ccache support
for non-base compilers.
okay juanfra@, sthen@