GCC 4.6.4 to GCC 4.7.3. This entails updating the lang/gcc port as
well as changing the default in Mk/bsd.default-versions.mk.
This adds powerpc64 as a supported architecture (and removes ia64,
though it can be supported by manually installing lang/gcc48).
New binaries %%GNU_HOST%%-gcc-ar47, %%GNU_HOST%%-gcc-nm47, and
%%GNU_HOST%%-gcc-ranlib47 are provided to support link-time
optimization (LTO) which scales significantly better.
And it adds support for indirect functions (IFUNCS), experimental
support for transactional memory in the compiler as well as a supporting
run-time library called libitm, a new string length optimization pass,
and support for atomic operations specifying the C++11/C11 memory model.
Version 3.1 of the OpenMP specification is now supported for the C,
C++, and Fortran compilers.
GCC accepts the options -std=c11 and -std=gnu11 for the C11 revision
of the ISO C standard which inlcude support for unicode strings,
nonreturning functions (_Noreturn and <stdnoreturn.h>), alignment
support (_Alignas, _Alignof, max_align_t, <stdalign.h>), and a
__builtin_complex built-in function.
The C++ frontend now accepts the -std=c++11, -std=gnu++11, and
-Wc++11-compat options and implements many C++11 features of the
language including extended friends syntax, explicit override
control, non-static data member initializers, user-defined literals,
alias declarations, delegating constructors, atomic classes, and more.
The C++ standard library and Fortran frontend have received many
improvements. See http://gcc.gnu.org/gcc-4.7/changes.html for an
extense list of changes; http://gcc.gnu.org/gcc-4.7/porting_to.html
for information on how to port to that new version.
PR: 182136
Supported by: Christoph Moench-Tegeder <cmt@burggraben.net> (fixing many ports)
Tested by: bdrewery (two -exp runs)
definition of the former from Mk/bsd.gcc.mk and add the latter --
still set to 4.6 -- to Mk/bsd.default-versions.mk.
Include Mk/bsd.default-versions.mk from Mk/bsd.gcc.mk to tie the
two together.
of some ports using this unexpectedly. There are no further instances
in the tree any more.
If there is an absolute need to refer to the GCC runtime directory that
cannot be covered by CFLAGS, LDFLAGS or the like, use _GCC_RUNTIME.
This hardly ever should be necessary, though. Avoid whenever possible!
USE_GCC=yes has been omitted though.
Remove USE_FORTRAN handling from bsd.port.mk and bsd.gcc.mk.
Minor cleanups in some ports like USE_GMAKE, NOPORTDOCS,...
Exp-run: bdrewery
Approved by: portmgr (bdrewery)
This also removes the g77 option of USE_FORTRAN, and USE_GCC now always
implies a dependency on binutils.
Reviewed by: bapt
Approved by: maintainer (gerald)
but six-and-a-half years after the upstream release of GCC 4.2.0 and
exactly two years after the removal of lang/gcc45 the time has come.
This reduces package name collisions around GCC related ports by 12.5%. [1]
Reported by: bapt [1]
Beware, this version of GCC is _not_ anywhere near ready for production
use. Use at your own risk, and rather don't use it for regular ports.
Submitted by: devzone.my@gmail.com
number schemes between FreeBSD and GCC, correct) the check for a valid
version specified by USE_GCC. [1]
If IGNORE is set, have test-gcc note that instead of showing its usual,
and in that case incorrect and useless, debugging output.
PR: 175252 [1]
Submitted by: Yamaya Takashi <yamayan@kbh.biglobe.ne.jp> [1]
a certain version of GCC is in the base, but also check the existence
of /usr/bin/gcc.
This unbreaks systems where GCC is not built as part of the world, and
instead relies on versions of GCC in the Ports Collection there.
PR: 175252
Submitted by: Yamaya Takashi <yamayan@kbh.biglobe.ne.jp>
a current version of GCC. This reduces churn for individual ports
and further increases consistency (in line with a canonical version
that we introduced with GCC_DEFAULT_VERSION earlier on and the older
USE_FORTRAN=yes).
On the way, make some comments more consistent.
Discussed with: linimon
the GCC run-time.
This extends revision r246991 (2010-01-02) and should not be necessary
in most cases since LDFLAGS already covers linking, but one can always
compile and link in one swoop, and this makes things consistent between
C and C++.
Feature safe: yes
Makefile. For systems where CC is gcc, this has no effect. For systems
where CC is clang, this forces the use of the base GCC suite. (Some
forward compatibility is also covered in the patch.)
Confirmed to have no ill-effects via multiple runs with gcc as CC:
http://pointyhat-west.isc.freebsd.org/errorlogs/amd64-errorlogs/e.8-exp-bcm.20121006012556.pointyhat-west/
and clang as CC:
http://pointyhat-west.isc.freebsd.org/errorlogs/amd64-errorlogs/e.9-exp-clang.20121005165436.pointyhat-west/
This change is necessary (but insufficient) for the upcoming switch to
clang as CC for the tier-1 architectures.
Finally, accept FORCE_BASE_CC_FOR_TESTING as an override for USE_GCC,
for those who wish to help debug ports with clang. It is an absolute
override; it overrides not only the value "any" but also any value such
as "4.4+".
Reviewed by: brooks, gerald
Approved by: maintainer (gerald)
run-time directory of the version of GCC in use.
As a side effect this fixes the inclusion of said directory into
CFLAGS and LDFLAGS (and FFLAGS where applicable). [1]
Reported by: Scott Allendorf <scott-allendorf@uiowa.edu> [1]
USE_GCC=4.6 and USE_GCC=4.6+ and generally whenever the default
version of GCC is employed.
This will significantly benefit tinderboxes and the larger, reasonably
conservative user base by reducing the amount of rebuilds.
Rename _GCC_BUILD_DEPENDS to _GCC_PORT, but still set _GCC_BUILD_DEPENDS
in the end for the sake of some ports relying on that.
PR: 169449
Discussed with: bf
No ports uses this directly any more via USE_GCC=4.5 and for the sake
of those nine that have USE_GCC=4.5+ we transparently rewrite this to
USE_GCC=4.6+ which has already happened for weeks for tinderbox builds.
Feature safe: yes
GCC (the one which also USE_FORTRAN=yes chooses) in case we do have
to install GCC in any case. Only if an acceptable version of GCC
is already present use that one.
This will ease the load on tinderboxes, further the use of current
versions of GCC, and minimize the need to download/carry several
versions of GCC for users of pre-built packages.
PR: 160507
Submitted by: bf
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
cad/salome and math/freemat needed some adjustments, apart from these
this looks like a far more easy upgrade than previous ones and according
to the upstream developers we do not even need to bump dependent ports
since GNU Fortran 4.4 and 4.5 are sufficiently compatible.
Tested by: erwin (and pointyhat)