diff options
author | gerald <gerald@FreeBSD.org> | 2014-03-11 04:41:10 +0800 |
---|---|---|
committer | gerald <gerald@FreeBSD.org> | 2014-03-11 04:41:10 +0800 |
commit | 04c8ad7602e8fd91b79f4579967539bdd850665d (patch) | |
tree | 82527306aa3108dfd71eceb51029c5e47d78944a | |
parent | e9f032838d2a0f43f0171aeb5c9adf58f177b755 (diff) | |
download | freebsd-ports-gnome-04c8ad7602e8fd91b79f4579967539bdd850665d.tar.gz freebsd-ports-gnome-04c8ad7602e8fd91b79f4579967539bdd850665d.tar.zst freebsd-ports-gnome-04c8ad7602e8fd91b79f4579967539bdd850665d.zip |
Update the default version of GCC used in the Ports Collection from
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)
-rw-r--r-- | Mk/bsd.default-versions.mk | 2 | ||||
-rw-r--r-- | Mk/bsd.gcc.mk | 2 | ||||
-rw-r--r-- | lang/gcc/Makefile | 16 | ||||
-rw-r--r-- | lang/gcc/distinfo | 4 | ||||
-rw-r--r-- | lang/gcc/files/patch-unwind-ia64.h | 19 | ||||
-rw-r--r-- | lang/gcc/pkg-descr | 8 | ||||
-rw-r--r-- | lang/gcc/pkg-plist | 8 | ||||
-rw-r--r-- | lang/gcc47/Makefile | 2 |
8 files changed, 28 insertions, 33 deletions
diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk index 7885423f2032..d1f701fa3fb3 100644 --- a/Mk/bsd.default-versions.mk +++ b/Mk/bsd.default-versions.mk @@ -20,7 +20,7 @@ ${_l:U}_DEFAULT= ${lang:C/.*=//g} APACHE_DEFAULT?= 2.2 FPC_DEFAULT?= 2.6.2 -GCC_DEFAULT?= 4.6 +GCC_DEFAULT?= 4.7 LUA_DEFAULT?= 5.2 MYSQL_DEFAULT?= 5.5 PERL5_DEFAULT?= 5.16 diff --git a/Mk/bsd.gcc.mk b/Mk/bsd.gcc.mk index f8e535b017af..cc158ea5be70 100644 --- a/Mk/bsd.gcc.mk +++ b/Mk/bsd.gcc.mk @@ -19,7 +19,7 @@ # # Examples: # USE_GCC= yes # port requires a current version of GCC -# # (4.6 as of today, subject to change). +# # (4.7 as of today, subject to change). # USE_GCC= any # port requires GCC 4.2 or later. # USE_GCC= 4.8+ # port requires GCC 4.8 or later. # USE_GCC= 4.8 # port requires GCC 4.8. diff --git a/lang/gcc/Makefile b/lang/gcc/Makefile index 00971b65d412..2cdd83ba0472 100644 --- a/lang/gcc/Makefile +++ b/lang/gcc/Makefile @@ -2,13 +2,13 @@ # $FreeBSD$ PORTNAME= gcc -PORTVERSION= 4.6.4 +PORTVERSION= 4.7.3 CATEGORIES= lang java MASTER_SITES= ${MASTER_SITE_GCC} MASTER_SITE_SUBDIR= releases/gcc-${DISTVERSION} MAINTAINER= gerald@FreeBSD.org -COMMENT= GNU Compiler Collection 4.6 +COMMENT= GNU Compiler Collection 4.7 LICENSE= GPLv3 GPLv3RLE LICENSE_COMB= multi @@ -23,14 +23,14 @@ RUN_DEPENDS+= ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils BUILD_DEPENDS+= runtest:${PORTSDIR}/misc/dejagnu .endif -CONFLICTS= gcc46* +CONFLICTS= gcc47* # DISTVERSION relates to downloads, GCC_VERSION and SUFFIX to names # of executables and directories once installed. DISTVERSION= ${PORTVERSION} GCC_VERSION= ${PORTVERSION:C/(.+)\.[0-9]{8}/\1/} SUFFIX= ${PORTVERSION:C/([0-9]+).([0-9]+).*/\1\2/} -ONLY_FOR_ARCHS= amd64 i386 ia64 powerpc sparc64 +ONLY_FOR_ARCHS= amd64 i386 powerpc powerpc64 sparc64 USES= gmake iconv perl5 USE_BINUTILS= yes USE_BZIP2= yes @@ -55,6 +55,10 @@ CONFIGURE_TARGET= x86_64-portbld-${OPSYS:L}${OSREL} CONFIGURE_TARGET= ${ARCH}-portbld-${OPSYS:L}${OSREL} .endif +.if ${ARCH} == powerpc64 +CONFIGURE_ENV+= UNAME_m="powerpc64" +.endif + LANGUAGES:= c,c++,objc,fortran SRCDIR= ${WRKDIR}/gcc-${DISTVERSION} WRKSRC= ${WRKDIR}/build @@ -67,6 +71,7 @@ CONFIGURE_ARGS+=--disable-bootstrap ALL_TARGET= bootstrap-lean .endif CONFIGURE_ARGS+=--disable-nls \ + --enable-gnu-indirect-function \ --libdir=${TARGLIB} \ --libexecdir=${LIBEXEC} \ --program-suffix=${SUFFIX} \ @@ -91,7 +96,8 @@ INFO= gcc${SUFFIX}/cpp \ gcc${SUFFIX}/libgomp # Release tarballs (as opposed to snapshots) always carry this. #.if ${ARCH} != "ia64" && ${ARCH} != "powerpc" && ${ARCH} != "sparc64" -INFO+= gcc${SUFFIX}/libquadmath +INFO+= gcc${SUFFIX}/libquadmath \ + gcc${SUFFIX}/libitm #.endif .if ${PORT_OPTIONS:MJAVA} diff --git a/lang/gcc/distinfo b/lang/gcc/distinfo index 9214124401ed..224eeb63c482 100644 --- a/lang/gcc/distinfo +++ b/lang/gcc/distinfo @@ -1,2 +1,2 @@ -SHA256 (gcc-4.6.4.tar.bz2) = 35af16afa0b67af9b8eb15cafb76d2bc5f568540552522f5dc2c88dd45d977e8 -SIZE (gcc-4.6.4.tar.bz2) = 72006076 +SHA256 (gcc-4.7.3.tar.bz2) = 2f7c37eb4fc14422ff2358a9ef59c974a75ab41204ef0e49fc34ab1d8981a9c3 +SIZE (gcc-4.7.3.tar.bz2) = 82904224 diff --git a/lang/gcc/files/patch-unwind-ia64.h b/lang/gcc/files/patch-unwind-ia64.h deleted file mode 100644 index 265c82c77042..000000000000 --- a/lang/gcc/files/patch-unwind-ia64.h +++ /dev/null @@ -1,19 +0,0 @@ -2010-09-12 Gerald Pfeifer <gerald@pfeifer.com> - - PR target/45650 - * config/ia64/unwind-ia64.h: Do not mark _Unwind_FindTableEntry - hidden on FreeBSD. - -Index: gcc/config/ia64/unwind-ia64.h -=================================================================== ---- gcc/config/ia64/unwind-ia64.h (revision 164211) -+++ gcc/config/ia64/unwind-ia64.h (working copy) -@@ -40,4 +40,7 @@ - extern struct unw_table_entry * - _Unwind_FindTableEntry (void *pc, unsigned long *segment_base, - unsigned long *gp, struct unw_table_entry *ent) -- __attribute__ ((__visibility__ ("hidden"))); -+#ifndef __FreeBSD__ -+ __attribute__ ((__visibility__ ("hidden"))) -+#endif -+ ; diff --git a/lang/gcc/pkg-descr b/lang/gcc/pkg-descr index e2ba591daf6d..864e48a6ab05 100644 --- a/lang/gcc/pkg-descr +++ b/lang/gcc/pkg-descr @@ -1,11 +1,11 @@ GCC, the GNU Compiler Collection, supports a number of languages. This -port installs the C, C++, Fortran and Java front ends as gcc46, g++46, -gfortran46, and gcj46, respectively. +port installs the C, C++, Fortran and Java front ends as gcc47, g++47, +gfortran47, and gcj47, respectively. -It can be used interchangibly with the lang/gcc46 port which tracks +It can be used interchangibly with the lang/gcc47 port which tracks weekly upstream snapshots whereas this port will be updated less frequently, mostly in sync with upstream releases, and will move to -lang/gcc47 and later over time. +lang/gcc48 and later over time. WWW: http://gcc.gnu.org/ diff --git a/lang/gcc/pkg-plist b/lang/gcc/pkg-plist index 89a7b8a777fd..0c067e997773 100644 --- a/lang/gcc/pkg-plist +++ b/lang/gcc/pkg-plist @@ -2,11 +2,17 @@ bin/%%GNU_HOST%%-c++%%SUFFIX%% bin/%%GNU_HOST%%-g++%%SUFFIX%% bin/%%GNU_HOST%%-gcc%%SUFFIX%% bin/%%GNU_HOST%%-gcc-%%GCC_VERSION%% +bin/%%GNU_HOST%%-gcc-ar%%SUFFIX%% +bin/%%GNU_HOST%%-gcc-nm%%SUFFIX%% +bin/%%GNU_HOST%%-gcc-ranlib%%SUFFIX%% bin/%%GNU_HOST%%-gfortran%%SUFFIX%% bin/c++%%SUFFIX%% bin/cpp%%SUFFIX%% bin/g++%%SUFFIX%% bin/gcc%%SUFFIX%% +bin/gcc-ar%%SUFFIX%% +bin/gcc-nm%%SUFFIX%% +bin/gcc-ranlib%%SUFFIX%% bin/gcov%%SUFFIX%% bin/gfortran%%SUFFIX%% info/gcc%%SUFFIX%%/dir @@ -47,7 +53,7 @@ share/gcc-%%GCC_VERSION%%/python/libstdcxx/v6/printers.py %%JAVA%%bin/jcf-dump%%SUFFIX%% %%JAVA%%bin/jv-convert%%SUFFIX%% %%JAVA%%bin/rebuild-gcj-db%%SUFFIX%% -%%JAVA%%libdata/pkgconfig/libgcj-4.6.pc +%%JAVA%%libdata/pkgconfig/libgcj-4.7.pc %%JAVA%%man/man1/aot-compile%%SUFFIX%%.1.gz %%JAVA%%man/man1/gappletviewer%%SUFFIX%%.1.gz %%JAVA%%man/man1/gc-analyze%%SUFFIX%%.1.gz diff --git a/lang/gcc47/Makefile b/lang/gcc47/Makefile index fd8171cea9ee..8ab3291a8edf 100644 --- a/lang/gcc47/Makefile +++ b/lang/gcc47/Makefile @@ -24,6 +24,8 @@ RUN_DEPENDS+= ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils BUILD_DEPENDS+= runtest:${PORTSDIR}/misc/dejagnu .endif +CONFLICTS= gcc-4.7.* + # DISTVERSION relates to downloads, GCC_VERSION and SUFFIX to names # of executables and directories once installed. A PORTVERSION of # 4.Y.2.s20130808 results in values of 4.Y-20130808, 4.Y.2, and 4Y |