The issue that triggered my workaround in files/patch-gcc_tree-cfg.c
has been addressed upstream based on my report, so this local patch
can be removed. (It would conflict anyway.)
This requires two temporary patches to allow for building with
clang 3.4.1 (on FreeBSD 10.4) and trimming down an overeager check
that breaks Wine, for example.
Forward port revision 454177 from lang/gcc7: [1]
Make sure what we install is stripped (i.e., debug info is removed).
The straightforward way is setting INSTALL_TARGET to install-strip,
which is supported by the upstream GCC build machinery.
Unfortunately this fails when running as regular user (non-root)
since strip requires write permission to the files in question,
and we install binaries as r-xr-xr-x by default. To work around
that we need to set BINMODE to allow for write access by the user,
something that's common on GNU/Linux (which is why this probably
has not been noticed there). This is not necessary when running
as root.
(A different approach suggested was to set STRIP=true, alas that
leads to many files actually not being stripped. This is due to
GCC using its own script install-sh that in turn uses cp, chmod,
strip,... instead of our own install-* tools in many cases.)
Reported by: Ports QA Framework, miwi, sobomax [1]
Discussed with: tijl, miwi [1]
Differential Revision: https://reviews.freebsd.org/D10357 [1]
Remove the setting of CXXFLAGS / STAGE1_CXXFLAGS to -fbracket-depth=512
for armv6 which should not be required here (and is not for armv7 and
aarch64 according to tests done by andreast@).
Use .elif instead of distinct .if sequences for architecture-specific
settings, something I plan on rolling out throughout all lang/gcc* ports.
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++11-lang,
c++14-lang, c++0x, c11, or gcc-c++11-lib.
PR: 219275
Remove headers being created by GCC's fixincludes machinery from the
installation / packaging to avoid breakage when FreeBSD's headers are
changing afterwards. Several fellow committers have strongly indicated
that our headers do not need the kind of adjustments that GCC performs.
for the release and this first GCC 8 snapshot is still very close to that,
whereas the coming months are going to provide a rougher ride through
the development stages of GCC 8.