svn commit: r347808 - in head: Mk lang/gcc lang/gcc/files lang/gcc47
Gerald Pfeifer
gerald at FreeBSD.org
Mon Mar 10 20:41:12 UTC 2014
Author: gerald
Date: Mon Mar 10 20:41:10 2014
New Revision: 347808
URL: http://svnweb.freebsd.org/changeset/ports/347808
QAT: https://qat.redports.org/buildarchive/r347808/
Log:
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 at burggraben.net> (fixing many ports)
Tested by: bdrewery (two -exp runs)
Deleted:
head/lang/gcc/files/patch-unwind-ia64.h
Modified:
head/Mk/bsd.default-versions.mk
head/Mk/bsd.gcc.mk
head/lang/gcc/Makefile
head/lang/gcc/distinfo
head/lang/gcc/pkg-descr
head/lang/gcc/pkg-plist
head/lang/gcc47/Makefile
Modified: head/Mk/bsd.default-versions.mk
==============================================================================
--- head/Mk/bsd.default-versions.mk Mon Mar 10 20:00:49 2014 (r347807)
+++ head/Mk/bsd.default-versions.mk Mon Mar 10 20:41:10 2014 (r347808)
@@ -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
Modified: head/Mk/bsd.gcc.mk
==============================================================================
--- head/Mk/bsd.gcc.mk Mon Mar 10 20:00:49 2014 (r347807)
+++ head/Mk/bsd.gcc.mk Mon Mar 10 20:41:10 2014 (r347808)
@@ -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.
Modified: head/lang/gcc/Makefile
==============================================================================
--- head/lang/gcc/Makefile Mon Mar 10 20:00:49 2014 (r347807)
+++ head/lang/gcc/Makefile Mon Mar 10 20:41:10 2014 (r347808)
@@ -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 at 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:${PORT
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
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}
Modified: head/lang/gcc/distinfo
==============================================================================
--- head/lang/gcc/distinfo Mon Mar 10 20:00:49 2014 (r347807)
+++ head/lang/gcc/distinfo Mon Mar 10 20:41:10 2014 (r347808)
@@ -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
Modified: head/lang/gcc/pkg-descr
==============================================================================
--- head/lang/gcc/pkg-descr Mon Mar 10 20:00:49 2014 (r347807)
+++ head/lang/gcc/pkg-descr Mon Mar 10 20:41:10 2014 (r347808)
@@ -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/
Modified: head/lang/gcc/pkg-plist
==============================================================================
--- head/lang/gcc/pkg-plist Mon Mar 10 20:00:49 2014 (r347807)
+++ head/lang/gcc/pkg-plist Mon Mar 10 20:41:10 2014 (r347808)
@@ -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/libstdc
%%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
Modified: head/lang/gcc47/Makefile
==============================================================================
--- head/lang/gcc47/Makefile Mon Mar 10 20:00:49 2014 (r347807)
+++ head/lang/gcc47/Makefile Mon Mar 10 20:41:10 2014 (r347808)
@@ -24,6 +24,8 @@ RUN_DEPENDS+= ${LOCALBASE}/bin/as:${PORT
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
More information about the svn-ports-all
mailing list