pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/gcc7 Add GCC 7.1.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/9d3985acb46e
branches:  trunk
changeset: 362019:9d3985acb46e
user:      maya <maya%pkgsrc.org@localhost>
date:      Wed May 03 00:21:03 2017 +0000

description:
Add GCC 7.1.0

GCC Java removed, package now uses ISL 0.16.1

Release notes:

We are proud to announce the next, major release of the
GNU Compiler Collection, 7.1.  This year we celebrated the 30th
anniversary of the first GCC beta release and this month
we will celebrate 30 years since the GCC 1.0 release.

GCC 7.1 is a major release containing substantial new
functionality not available in GCC 6.x or previous GCC releases.

The C++ frontend now has experimental support for all of the current C++17
draft, with the -std=c++1z and -std=gnu++1z options, and the libstdc++
library has most of the C++17 draft library features implemented too.

This releases features various improvements in the emitted diagnostics,
including improved locations, location ranges, suggestions for misspelled
identifiers, option names, fix-it hints and various new warnings
have been added.

The optimizers have been improved, with improvements appearing in all of
intra- and inter-procedural optimizations, link time optimizations and
various target backends, including, but not limited to, additions of store
merging pass, code hoisting optimization, loop splitting, and
shrink wrapping improvements.

The Address Sanitizer can now report uses of variables after leaving their
scope.  GCC now can be configured for OpenMP 4.5 offloading to NVidia PTX
GPGPUs.

Some code that compiled successfully with older GCC versions might require
some code adjustments, see http://gcc.gnu.org/gcc-7/porting_to.html for
details.

See

  https://gcc.gnu.org/gcc-7/changes.html

for more information about changes in GCC 7.1.

diffstat:

 lang/gcc7/DESCR                                                                     |    2 +
 lang/gcc7/Makefile                                                                  |  181 ++++++++++
 lang/gcc7/buildlink3.mk                                                             |   31 +
 lang/gcc7/distinfo                                                                  |   37 ++
 lang/gcc7/options.mk                                                                |  132 +++++++
 lang/gcc7/patches/patch-contrib_download__prerequisites                             |   15 +
 lang/gcc7/patches/patch-gcc_Makefile.in                                             |   15 +
 lang/gcc7/patches/patch-gcc_config.gcc                                              |   34 +
 lang/gcc7/patches/patch-gcc_config_arm_arm.h                                        |   20 +
 lang/gcc7/patches/patch-gcc_config_netbsd-protos.h                                  |   34 +
 lang/gcc7/patches/patch-gcc_config_netbsd.c                                         |  104 +++++
 lang/gcc7/patches/patch-gcc_config_netbsd.h                                         |   43 ++
 lang/gcc7/patches/patch-gcc_config_t-netbsd                                         |   28 +
 lang/gcc7/patches/patch-gcc_config_x-netbsd                                         |   12 +
 lang/gcc7/patches/patch-gcc_configure                                               |   13 +
 lang/gcc7/patches/patch-gcc_ggc-common.c                                            |   71 +++
 lang/gcc7/patches/patch-gcc_lto_lto.c                                               |   19 +
 lang/gcc7/patches/patch-gcc_system.h                                                |   27 +
 lang/gcc7/patches/patch-isl_configure                                               |   24 +
 lang/gcc7/patches/patch-libcilkrts_configure                                        |   13 +
 lang/gcc7/patches/patch-libcilkrts_runtime_os-unix.c                                |   40 ++
 lang/gcc7/patches/patch-libdecnumber_decNumber.c                                    |   13 +
 lang/gcc7/patches/patch-libffi_configure                                            |   13 +
 lang/gcc7/patches/patch-libffi_testsuite_libffi.call_float2.c                       |   13 +
 lang/gcc7/patches/patch-libgcc_crtstuff.c                                           |   13 +
 lang/gcc7/patches/patch-libgfortran_configure                                       |   13 +
 lang/gcc7/patches/patch-libgo_Makefile.in                                           |   17 +
 lang/gcc7/patches/patch-libsanitizer_configure.tgt                                  |   13 +
 lang/gcc7/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h             |   37 ++
 lang/gcc7/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__configure__char.cc |   58 +++
 lang/gcc7/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h           |   13 +
 lang/gcc7/patches/patch-libstdc++-v3_libsupc++_unwind-cxx.h                         |   12 +
 lang/gcc7/version.mk                                                                |    2 +
 33 files changed, 1112 insertions(+), 0 deletions(-)

diffs (truncated from 1244 to 300 lines):

diff -r 9caecb8b5bf8 -r 9d3985acb46e lang/gcc7/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc7/DESCR   Wed May 03 00:21:03 2017 +0000
@@ -0,0 +1,2 @@
+The GNU Compiler Collection (GCC) includes front ends for C, C++, Objective-C,
+Fortran, and Go, as well as libraries for these languages.
diff -r 9caecb8b5bf8 -r 9d3985acb46e lang/gcc7/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc7/Makefile        Wed May 03 00:21:03 2017 +0000
@@ -0,0 +1,181 @@
+# $NetBSD: Makefile,v 1.1 2017/05/03 00:21:03 maya Exp $
+
+GCC_PKGNAME=           gcc7
+.include               "version.mk"
+
+DISTNAME=      gcc-${GCC7S_DIST_VERSION}
+PKGNAME=       ${GCC_PKGNAME}-${GCC7S_DIST_VERSION}
+## When bumping the PKGREVISION of this package the PKGREVISION of
+## lang/gcc7-libs needs to be bump to be at least 1 more than the
+## PKGREVISION of this package!
+CATEGORIES=    lang
+MASTER_SITES=  ${MASTER_SITE_GNU:=gcc/gcc-${GCC7S_DIST_VERSION}/}
+EXTRACT_SUFX=  .tar.bz2
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      http://gcc.gnu.org/
+COMMENT=       The GNU Compiler Collection (GCC) - 7.0 Release Series
+LICENSE=       gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3
+
+DISTFILES=             ${DEFAULT_DISTFILES}
+EXTRACT_ONLY=          ${DEFAULT_DISTFILES}
+
+NOT_FOR_PLATFORM=      Interix-*-*
+
+USE_LANGUAGES= c c++
+USE_TOOLS+=            gmake makeinfo sed:run tar:build
+
+GNU_CONFIGURE=         yes
+## Build outside ${WRKSRC}
+OBJDIR=                        ../build
+CONFIGURE_DIRS=                ${OBJDIR}
+CONFIGURE_SCRIPT=      ../${DISTNAME}/configure
+GCC_SUBPREFIX=         ${GCC_PKGNAME}
+GCC_PREFIX=            ${PREFIX}/${GCC_SUBPREFIX}
+GNU_CONFIGURE_PREFIX=  ${GCC_PREFIX}
+INFO_FILES=            yes
+CONFIGURE_ARGS+=       --disable-libstdcxx-pch
+
+UNLIMIT_RESOURCES+=    datasize
+UNLIMIT_RESOURCES+=    stacksize
+
+SUBST_CLASSES+=                vars
+SUBST_MESSAGE.vars=    Setting target machine name path in ${SUBST_FILES.vars}
+SUBST_STAGE.vars=      pre-configure
+SUBST_FILES.vars=      gcc/Makefile.in
+SUBST_VARS.vars=       GCC_TARGET_MACHINE
+
+.include "../../mk/bsd.prefs.mk"
+
+LANGS=                 c
+
+# In some cases LINKER_RPATH_FLAG needs a trailing space.
+LINKER_RPATH_FLAG:=    ${LINKER_RPATH_FLAG:S/-rpath/& /}
+
+## The Library rpath to use in end programs.
+LDFLAGS_FOR_TARGET=    ${LDFLAGS:M${COMPILER_RPATH_FLAG}*:N*/usr/lib*}
+
+# The "-static-libstdc++ -static-libgcc" flags are normally added to the
+# boot-ldflags by configure but because we are supply the boot-ldflags
+# we mash supply them.
+BOOT_LDFLAGS=          -static-libstdc++ -static-libgcc ${LDFLAGS_FOR_TARGET}
+# Needed on Darwin when LDFLAGS point to a SDK
+BOOT_LDFLAGS+=         ${LDFLAGS:M-Wl,-syslibroot*}
+# GCC does not understand this option; remove it, or stage build will fail
+BUILDLINK_TRANSFORM+=  rm:-stdlib=libc++
+
+.include "options.mk"
+
+## For graphite support.
+.if !empty(PKG_OPTIONS:Mgcc-graphite)
+
+post-extract:
+       ${TAR} -jxf ${DISTDIR}/${ISL16}.tar.bz2 -C ${WRKSRC}
+       ${MV} ${WRKSRC}/${ISL16} ${WRKSRC}/isl
+.endif
+
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-*)
+# on NetBSD, use the native SSP code in libc
+CONFIGURE_ARGS+=       --disable-libssp
+.else
+CONFIGURE_ARGS+=       --enable-libssp
+.endif
+
+## For target librarys and libjava programs.
+CONFIGURE_ENV+=                LDFLAGS_FOR_TARGET=${LDFLAGS_FOR_TARGET:Q}
+
+CONFIGURE_ARGS+=       --enable-languages=${LANGS:Q}
+CONFIGURE_ARGS+=       --enable-shared
+CONFIGURE_ARGS+=       --enable-long-long
+CONFIGURE_ARGS+=       --with-local-prefix=${GCC_PREFIX:Q}
+CONFIGURE_ARGS+=       --enable-threads=posix
+CONFIGURE_ARGS+=       --with-boot-ldflags=${BOOT_LDFLAGS:Q}
+CONFIGURE_ARGS.NetBSD+=        --with-gnu-ld --with-ld=/usr/bin/ld
+CONFIGURE_ARGS.NetBSD+=        --with-gnu-as --with-as=/usr/bin/as
+MAKE_ENV.NetBSD+=      ac_cv_func_clock_gettime=yes
+MAKE_ENV.NetBSD+=      ac_cv_func_gethostbyname_r=no
+MAKE_ENV.NetBSD+=      ac_cv_func_freelocale=no
+MAKE_ENV.NetBSD+=      ac_cv_func_newlocale=no
+MAKE_ENV.NetBSD+=      ac_cv_func_uselocale=no
+
+CONFIGURE_ARGS.DragonFly+=     --disable-bootstrap
+
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || !empty(MACHINE_PLATFORM:MLinux-*-i386)
+CONFIGURE_ARGS+=       --with-arch=i486 --with-tune=i486
+.endif
+
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || !empty(MACHINE_PLATFORM:MLinux-*-x86_64)
+CONFIGURE_ARGS+=       --with-arch=nocona --with-tune=nocona --with-fpmath=sse
+.endif
+
+.if !empty(MACHINE_PLATFORM:MDarwin-[0-8].*-*)
+CONFIGURE_ARGS+=       --with-dwarf2
+.endif
+
+
+# ${WRKSRC}/fixincludes/ looks for sed and compiles the path to sed into
+# a binary so we need to make sure we give it the installed sed and not
+# the tool wrapped one.
+MAKE_ENV+=             ac_cv_path_SED=${TOOLS_SED}
+MAKE_ENV+=             lt_cv_path_SED=${TOOLS_SED}
+
+# Determine whether to use binutils
+.if ${OPSYS} == "SunOS"
+.  if exists(/usr/sfw/bin/gobjdump)
+CONFIGURE_ENV+=                OBJDUMP=/usr/sfw/bin/gobjdump
+.  endif
+.  if exists(/usr/bin/ld)
+CONFIGURE_ARGS+=       --without-gnu-ld --with-ld=/usr/bin/ld
+.  else
+CONFIGURE_ARGS+=       --without-gnu-ld --with-ld=/usr/ccs/bin/ld
+.  endif
+.  if exists(/usr/sfw/bin/gas)
+CONFIGURE_ARGS+=       --with-gnu-as --with-as=/usr/sfw/bin/gas
+.  elif exists(/usr/ccs/bin/as)
+CONFIGURE_ARGS+=       --without-gnu-as --with-as=/usr/ccs/bin/as
+.  else
+BUILDLINK_DEPMETHOD.binutils=  full
+.    include "../../devel/binutils/buildlink3.mk"
+CONFIGURE_ARGS+=       --with-gnu-as --with-as=${PREFIX}/bin/gas
+.  endif
+.endif
+
+.if ${OS_VARIANT} == "SmartOS"
+SUBST_CLASSES+=                ccs
+SUBST_STAGE.ccs=       pre-configure
+SUBST_FILES.ccs=       contrib/make_sunver.pl
+SUBST_SED.ccs=         -e 's,/usr/ccs/bin,/usr/bin,g'
+.endif
+
+pre-configure:
+       ${RUN} cd ${WRKSRC} && ${MKDIR} ${OBJDIR}
+
+TEST_TARGET=   -k check || ${TRUE}
+pre-test:
+       ${RUN}                                                  \
+       if runtest --version >/dev/null 2>/dev/null ; then      \
+               : ;                                             \
+       else                                                    \
+         ${ECHO} "ERROR: Please install devel/dejagnu in order to run the test suite." ; \
+         exit 1 ;                                              \
+       fi
+post-test:
+       ${RUN} cd ${WRKSRC} && cd ${OBJDIR} &&          \
+       ${SHELL} ${WRKSRC}/contrib/test_summary >${WRKDIR}/test_summary.log
+       ${INFO_MSG} "Test summary are available in ${WRKDIR}/test_summary.log"
+
+post-install:
+       ${TEST} -f ${DESTDIR}${GCC_PREFIX}/bin/cc || \
+               ( cd ${DESTDIR}${GCC_PREFIX}/bin ; ${LN} -f gcc cc )
+.if !empty(MACHINE_PLATFORM:MSunOS-*-*86*) && ${OS_VERSION} != "5.11"
+       ${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m32 || ${TRUE}
+       ${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m64 || ${TRUE}
+.endif
+
+GENERATE_PLIST+= \
+       cd ${DESTDIR}${PREFIX} &&                                       \
+       ${FIND} ${GCC_SUBPREFIX} \( -type f -o -type l \) -print | ${SORT} ;
+
+.include "../../mk/dlopen.buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff -r 9caecb8b5bf8 -r 9d3985acb46e lang/gcc7/buildlink3.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc7/buildlink3.mk   Wed May 03 00:21:03 2017 +0000
@@ -0,0 +1,31 @@
+# $NetBSD: buildlink3.mk,v 1.1 2017/05/03 00:21:03 maya Exp $
+
+BUILDLINK_TREE+=       gcc7snapshot
+
+.if !defined(GCC7_BUILDLINK3_MK)
+GCC6SNAPSHOT_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.gcc7snapshot+=   gcc6>=${_GCC_REQD}
+BUILDLINK_ABI_DEPENDS.gcc7snapshot+=   gcc6>=7.0
+BUILDLINK_PKGSRCDIR.gcc7snapshot=      ../../wip/gcc7snapshot
+BUILDLINK_DEPMETHOD.gcc7snapshot?=     build
+
+BUILDLINK_FILES.gcc7snapshot=          #empty
+BUILDLINK_AUTO_VARS.gcc7snapshot=      no
+
+# Packages that link against shared libraries need a full dependency.
+#.if defined(_USE_GCC_SHLIB)
+#DEPENDS+=     {gcc7, gcc7-libs}>=${_GCC_REQD}:../../lang/gcc7-libs
+#ABI_DEPENDS+= {gcc7,gcc7-libs}>=7.0:../../lang/gcc7-libs
+#.endif
+
+pkgbase := gcc7snapshot
+.include "../../mk/pkg-build-options.mk"
+.if !empty(PKG_BUILD_OPTIONS.gcc7snapshot:Mgcc-java)
+.include "../../devel/zlib/buildlink3.mk"
+.endif
+
+.include "../../mk/dlopen.buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.endif # GCC7SNAPSHOT_BUILDLINK3_MK
+BUILDLINK_TREE+=       -gcc7snapshot
diff -r 9caecb8b5bf8 -r 9d3985acb46e lang/gcc7/distinfo
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc7/distinfo        Wed May 03 00:21:03 2017 +0000
@@ -0,0 +1,37 @@
+$NetBSD: distinfo,v 1.1 2017/05/03 00:21:03 maya Exp $
+
+SHA1 (gcc-7.1.0.tar.bz2) = 9f1e907f27eadefe7d5f7567c09e17805d9c8837
+RMD160 (gcc-7.1.0.tar.bz2) = a228dc45a09eda91b1a201d234f9013b3009b461
+SHA512 (gcc-7.1.0.tar.bz2) = b5d952be9a10f0e0926bb2868877d10544039d6d2f35ba0a08f51231dd622a007650764a03e173194701467547789ad7d2d9cbc10adcdf118d619cdedbd14aec
+Size (gcc-7.1.0.tar.bz2) = 84303533 bytes
+SHA1 (isl-0.16.1.tar.bz2) = c5a2b201bf05229647e73203c0bf2d9679d4d21f
+RMD160 (isl-0.16.1.tar.bz2) = 5a99db3fe0d0a1f6bbac1ed4448f2403495c55b2
+SHA512 (isl-0.16.1.tar.bz2) = c188667a84dc5bdddb4ab7c35f89c91bf15a8171f4fcaf41301cf285fb7328846d9a367c096012fec4cc69d244f0bc9e95d84c09ec097394cd4093076f2a041b
+Size (isl-0.16.1.tar.bz2) = 1626446 bytes
+SHA1 (patch-contrib_download__prerequisites) = 86c6c16e0e3e3a0bcb38579a8b4004f603fac1ca
+SHA1 (patch-gcc_Makefile.in) = c0f97c75ba1d37eae894141edd58bb36b734f651
+SHA1 (patch-gcc_config.gcc) = fea8288c22bb2c4dd44a5e77c8f92dee8f8f6b18
+SHA1 (patch-gcc_config_arm_arm.h) = 92c8bff1063e153fec4454e6dea5334a42b0dad6
+SHA1 (patch-gcc_config_netbsd-protos.h) = 6d28864b4ccc8c1a63fe28e43601b84b63a00633
+SHA1 (patch-gcc_config_netbsd.c) = 85f786bce881ef2fc348f98ef81fdbc001076183
+SHA1 (patch-gcc_config_netbsd.h) = 81891a83bb17b99fdb2c9381b8e8a1767391c695
+SHA1 (patch-gcc_config_t-netbsd) = 802ad5706aa7ca9629f8e237f08fbb1569d28846
+SHA1 (patch-gcc_config_x-netbsd) = 6dc3d78e26df62054ea29f98ca51592858e671e3
+SHA1 (patch-gcc_configure) = 15fb7af267b79965f83bc64ce8aad1279b0ea52d
+SHA1 (patch-gcc_ggc-common.c) = a5d2dba635859f5d680c3f80d7c30b42461c752b
+SHA1 (patch-gcc_lto_lto.c) = 825b632e2a7ff5777d4fbfdcf6f0ea3f64c4742b
+SHA1 (patch-gcc_system.h) = 4c959a6b1c4d524cbdf44cfb80f0e5758ec20783
+SHA1 (patch-isl_configure) = 36b37778ee13c0b364fb24d5864d6a9e65b29b7d
+SHA1 (patch-libcilkrts_configure) = 0d88069173cba34158f5b6b91d2d12ca81b0300c
+SHA1 (patch-libcilkrts_runtime_os-unix.c) = b25632587d9fbe8ff38377fe34cb16225355b521
+SHA1 (patch-libdecnumber_decNumber.c) = cec90e49c829bfc6ba1ec605d2fac7daaad62762
+SHA1 (patch-libffi_configure) = bcfbfe8abddc378e2de4a39ad0669583b37e0292
+SHA1 (patch-libffi_testsuite_libffi.call_float2.c) = 6321dde308579448c27c2b6e1e30633699dd145f
+SHA1 (patch-libgcc_crtstuff.c) = e3a3b02a26229992851f195b5701cb1b86c29efe
+SHA1 (patch-libgfortran_configure) = 869a60fd08edecf18a42732dcbf226bad1309394
+SHA1 (patch-libgo_Makefile.in) = 612987541f745c7be6835ce7fb7119884db294c3
+SHA1 (patch-libsanitizer_configure.tgt) = 0aff54104734b2cb21090e33f9304738946ea5a0
+SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h) = 014d442c885b9c51d1a4af05205279c274a9559d
+SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__configure__char.cc) = 06bba6da02344f76c26eed765a7cb022c035994e
+SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h) = 626fc1f9c035ac5cef30a92d525af4e778835ebf
+SHA1 (patch-libstdc++-v3_libsupc++_unwind-cxx.h) = 9784bfa4323f8498b36565d0fea28fce69ffdbb1
diff -r 9caecb8b5bf8 -r 9d3985acb46e lang/gcc7/options.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc7/options.mk      Wed May 03 00:21:03 2017 +0000
@@ -0,0 +1,132 @@
+# $NetBSD: options.mk,v 1.1 2017/05/03 00:21:03 maya Exp $
+
+PKG_OPTIONS_VAR=       PKG_OPTIONS.${GCC_PKGNAME}
+PKG_SUPPORTED_OPTIONS= nls gcc-inplace-math gcc-c++ gcc-fortran \
+                       gcc-go gcc-objc gcc-objc++ gcc-graphite
+PKG_SUGGESTED_OPTIONS= gcc-c++ gcc-fortran gcc-objc gcc-objc++ \
+                       gcc-graphite gcc-inplace-math
+
+.if ${OPSYS} == "NetBSD"
+PKG_SUGGESTED_OPTIONS+=        nls
+.elif ${OPSYS} == "Linux"
+PKG_SUGGESTED_OPTIONS+=        nls
+.elif ${OPSYS} == "DragonFly"
+PKG_SUGGESTED_OPTIONS+= nls
+.elif ${OPSYS} == "SunOS"
+PKG_SUGGESTED_OPTIONS+=        gcc-inplace-math
+.else
+.endif
+
+###
+### Determine if multilib is avalible.
+###
+MULTILIB_SUPPORTED?=   unknown
+.if !empty(MACHINE_PLATFORM:MLinux-*-x86_64)
+.  if exists(/usr/include/gnu/stubs-64.h) && \
+     !exists(/usr/include/gnu/stubs-32.h)
+MULTILIB_SUPPORTED=No
+.  else
+MULTILIB_SUPPORTED=Yes



Home | Main Index | Thread Index | Old Index