Received: by mail.netbsd.org (Postfix, from userid 605) id 7C62284D62; Sun, 10 May 2020 15:02:47 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id 049DA84D60 for ; Sun, 10 May 2020 15:02:47 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([IPv6:::1]) by localhost (mail.netbsd.org [IPv6:::1]) (amavisd-new, port 10025) with ESMTP id iZnhCJ4brDfX for ; Sun, 10 May 2020 15:02:45 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.netbsd.org [199.233.217.197]) by mail.netbsd.org (Postfix) with ESMTP id 0C09F84CDA for ; Sun, 10 May 2020 15:02:45 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id 05FCAFB27; Sun, 10 May 2020 15:02:45 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_158912296422790" MIME-Version: 1.0 Date: Sun, 10 May 2020 15:02:44 +0000 From: "Maya Rashish" Subject: CVS commit: pkgsrc/lang To: pkgsrc-changes@NetBSD.org Reply-To: maya@netbsd.org X-Mailer: log_accum Message-Id: <20200510150245.05FCAFB27@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: pkgsrc-changes.NetBSD.org Precedence: bulk List-Unsubscribe: This is a multi-part message in MIME format. --_----------=_158912296422790 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Module Name: pkgsrc Committed By: maya Date: Sun May 10 15:02:44 UTC 2020 Modified Files: pkgsrc/lang: Makefile Added Files: pkgsrc/lang/gcc10: DESCR Makefile buildlink3.mk distinfo options.mk version.mk pkgsrc/lang/gcc10/patches: patch-contrib_download__prerequisites patch-fixincludes_inclhack.def patch-gcc_Makefile.in patch-gcc_config_aarch64_aarch64-builtins.c patch-gcc_configure patch-gcc_ggc-common.c patch-gcc_lto_lto.c patch-gcc_targhooks.c patch-isl_configure patch-libffi_configure patch-libffi_testsuite_libffi.call_float2.c patch-libgcc_crtstuff.c patch-libgfortran_io_io.h patch-libstdc++-v3_libsupc++_new__opa.cc Log Message: add gcc10 GCC version 10.1.0 Release notes: https://gcc.gnu.org/gcc-10/changes.html To generate a diff of this commit: cvs rdiff -u -r1.558 -r1.559 pkgsrc/lang/Makefile cvs rdiff -u -r0 -r1.1 pkgsrc/lang/gcc10/DESCR pkgsrc/lang/gcc10/Makefile \ pkgsrc/lang/gcc10/buildlink3.mk pkgsrc/lang/gcc10/distinfo \ pkgsrc/lang/gcc10/options.mk pkgsrc/lang/gcc10/version.mk cvs rdiff -u -r0 -r1.1 \ pkgsrc/lang/gcc10/patches/patch-contrib_download__prerequisites \ pkgsrc/lang/gcc10/patches/patch-fixincludes_inclhack.def \ pkgsrc/lang/gcc10/patches/patch-gcc_Makefile.in \ pkgsrc/lang/gcc10/patches/patch-gcc_config_aarch64_aarch64-builtins.c \ pkgsrc/lang/gcc10/patches/patch-gcc_configure \ pkgsrc/lang/gcc10/patches/patch-gcc_ggc-common.c \ pkgsrc/lang/gcc10/patches/patch-gcc_lto_lto.c \ pkgsrc/lang/gcc10/patches/patch-gcc_targhooks.c \ pkgsrc/lang/gcc10/patches/patch-isl_configure \ pkgsrc/lang/gcc10/patches/patch-libffi_configure \ pkgsrc/lang/gcc10/patches/patch-libffi_testsuite_libffi.call_float2.c \ pkgsrc/lang/gcc10/patches/patch-libgcc_crtstuff.c \ pkgsrc/lang/gcc10/patches/patch-libgfortran_io_io.h \ pkgsrc/lang/gcc10/patches/patch-libstdc++-v3_libsupc++_new__opa.cc Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_158912296422790 Content-Disposition: inline Content-Length: 30207 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Modified files: Index: pkgsrc/lang/Makefile diff -u pkgsrc/lang/Makefile:1.558 pkgsrc/lang/Makefile:1.559 --- pkgsrc/lang/Makefile:1.558 Sat May 9 19:07:43 2020 +++ pkgsrc/lang/Makefile Sun May 10 15:02:44 2020 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.558 2020/05/09 19:07:43 leot Exp $ +# $NetBSD: Makefile,v 1.559 2020/05/10 15:02:44 maya Exp $ # COMMENT= Programming languages @@ -63,6 +63,7 @@ SUBDIR+= gambc SUBDIR+= gauche SUBDIR+= gawk SUBDIR+= gcc-aux +SUBDIR+= gcc10 SUBDIR+= gcc2 SUBDIR+= gcc3 SUBDIR+= gcc3-c Added files: Index: pkgsrc/lang/gcc10/DESCR diff -u /dev/null pkgsrc/lang/gcc10/DESCR:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/DESCR Sun May 10 15:02:44 2020 @@ -0,0 +1,2 @@ +The GNU Compiler Collection (GCC) includes front ends for C, C++, Objective-C, +Fortran, and Go. Index: pkgsrc/lang/gcc10/Makefile diff -u /dev/null pkgsrc/lang/gcc10/Makefile:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/Makefile Sun May 10 15:02:44 2020 @@ -0,0 +1,202 @@ +# $NetBSD: Makefile,v 1.1 2020/05/10 15:02:44 maya Exp $ + +GCC_PKGNAME= gcc10 +.include "version.mk" + +DISTNAME= gcc-${GCC10_DIST_VERSION} +PKGNAME= ${GCC_PKGNAME}-${GCC10_DIST_VERSION} +## When bumping the PKGREVISION of this package the PKGREVISION of +## lang/gcc10-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-${GCC10_DIST_VERSION}/} +EXTRACT_SUFX= .tar.xz + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= https://gcc.gnu.org/ +COMMENT= The GNU Compiler Collection (GCC) - 10.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= c99 c++ +USE_TOOLS+= gmake makeinfo sed:run tar:build +USE_TOOLS.NetBSD+= gsed + +GNU_CONFIGURE= yes +GNU_CONFIGURE_STRICT= no +## 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 + +CHECK_PORTABILITY_SKIP+= contrib/* + +.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*} ${LDFLAGS:M-Wl,-z*} + +# 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++ + +# Disable fixincludes on SmartOS, header changes result in broken includes +# being generated, see https://github.com/joyent/pkgsrc-legacy/issues/270 +.if ${OS_VARIANT} == "SmartOS" +SUBST_CLASSES+= fixinc +SUBST_STAGE.fixinc= pre-configure +SUBST_FILES.fixinc= gcc/Makefile.in +SUBST_SED.fixinc= -e "s,\./fixinc.sh,-c true," +.endif + +.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 +# Match base libstdc++ major +SUBST_CLASSES+= libstdc +SUBST_STAGE.libstdc= pre-configure +SUBST_FILES.libstdc= libstdc++-v3/configure +SUBST_MESSAGE.libstdc= Bumping libstdc++ major to 7 +SUBST_SED.libstdc= -e 's,libtool_VERSION=6:,libtool_VERSION=7:,g' +.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} +# multilib on Darwin requires fat-binaries +CONFIGURE_ARGS.Darwin+= --disable-multilib +.if !empty(OSX_SDK_PATH) +CONFIGURE_ARGS.Darwin+= --with-sysroot=${OSX_SDK_PATH} +.endif +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 +MAKE_ENV.SunOS+= ac_cv_func_mkostemp=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= -j ${MAKE_JOBS} -k check || ${TRUE} +TEST_DEPENDS+= dejagnu-[0-9]*:../../devel/dejagnu + +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}; + +CHECK_BUILTIN.zlib:= yes +.include "../../devel/zlib/builtin.mk" +CHECK_BUILTIN.zlib:= no +.if !empty(USE_BUILTIN.zlib:M[yY][eE][sS]) +CONFIGURE_ARGS+= --with-system-zlib +.include "../../devel/zlib/buildlink3.mk" +.else +CONFIGURE_ARGS+= --without-system-zlib +.endif +.include "../../mk/dlopen.buildlink3.mk" +.include "../../mk/pthread.buildlink3.mk" +.include "../../mk/bsd.pkg.mk" Index: pkgsrc/lang/gcc10/buildlink3.mk diff -u /dev/null pkgsrc/lang/gcc10/buildlink3.mk:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/buildlink3.mk Sun May 10 15:02:44 2020 @@ -0,0 +1,24 @@ +# $NetBSD: buildlink3.mk,v 1.1 2020/05/10 15:02:44 maya Exp $ + +BUILDLINK_TREE+= gcc10 + +.if !defined(GCC10_BUILDLINK3_MK) +GCC10_BUILDLINK3_MK:= + +BUILDLINK_API_DEPENDS.gcc10+= gcc10>=${_GCC_REQD} +BUILDLINK_ABI_DEPENDS.gcc10+= gcc10>=10.0 +BUILDLINK_PKGSRCDIR.gcc10= ../../lang/gcc10 +BUILDLINK_DEPMETHOD.gcc10?= build + +BUILDLINK_PASSTHRU_DIRS+= ${BUILDLINK_PREFIX.gcc10}/gcc10 + +BUILDLINK_FILES.gcc10= # empty +BUILDLINK_AUTO_VARS.gcc10= no + +pkgbase := gcc10 +.include "../../mk/pkg-build-options.mk" +.include "../../mk/dlopen.buildlink3.mk" +.include "../../mk/pthread.buildlink3.mk" +.endif + +BUILDLINK_TREE+= -gcc10 Index: pkgsrc/lang/gcc10/distinfo diff -u /dev/null pkgsrc/lang/gcc10/distinfo:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/distinfo Sun May 10 15:02:44 2020 @@ -0,0 +1,24 @@ +$NetBSD: distinfo,v 1.1 2020/05/10 15:02:44 maya Exp $ + +SHA1 (gcc-10.1.0.tar.xz) = 1af8d963e4a74d05a8f2d0f795ea52d2b91f6c50 +RMD160 (gcc-10.1.0.tar.xz) = eb9c7a9c10fbe5b4ff84818b280248ab97d17769 +SHA512 (gcc-10.1.0.tar.xz) = 0cb2a74c793face751f42bc580960b00e2bfea785872a0a2155f1f1dbfaa248f9591b67f4322db0f096f8844aca9243bc02732bda106c3b6e43b02bb67eb3096 +Size (gcc-10.1.0.tar.xz) = 74591240 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) = 9cdcde21ab174052911447d20762ddfd40aa8791 +SHA1 (patch-fixincludes_inclhack.def) = 7b00974d3f52a8364190a607f52a5d7e8a6db41a +SHA1 (patch-gcc_Makefile.in) = c0f97c75ba1d37eae894141edd58bb36b734f651 +SHA1 (patch-gcc_config_aarch64_aarch64-builtins.c) = f4d8ab855d0755dfe533053cedde6940cb837ce0 +SHA1 (patch-gcc_configure) = 6a2d8eeeed2bf08c3c81291178e669dc91c913ce +SHA1 (patch-gcc_ggc-common.c) = 3e325767922ab7d2079fdb9a3d6b6aa531a2fea5 +SHA1 (patch-gcc_lto_lto.c) = 7bd85ac8ade76a28c394f6fbe5d495f91824f79f +SHA1 (patch-gcc_targhooks.c) = b28d8a9696d07bbfb00b7d8c55193ba99447ff1d +SHA1 (patch-isl_configure) = 5523c76d95b229b3cd25461b4c2b7af24bf2534e +SHA1 (patch-libffi_configure) = 22006b20d7f655e2455a7ad613d676703b6c1ccc +SHA1 (patch-libffi_testsuite_libffi.call_float2.c) = 27b84a11378fb648dfaad0c70abedd77a0a1c1a8 +SHA1 (patch-libgcc_crtstuff.c) = a16d465039de00c195cf0694560140a9c38f3a25 +SHA1 (patch-libgfortran_io_io.h) = d44676239a7f45e42054d24bd5224f43c20055c0 +SHA1 (patch-libstdc++-v3_libsupc++_new__opa.cc) = 4183b00a5ee6e61524da4755c825a0c08fd01ed6 Index: pkgsrc/lang/gcc10/options.mk diff -u /dev/null pkgsrc/lang/gcc10/options.mk:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/options.mk Sun May 10 15:02:44 2020 @@ -0,0 +1,163 @@ +# $NetBSD: options.mk,v 1.1 2020/05/10 15:02:44 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 \ + always-libgcc +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 always-libgcc +.else +.endif + +.include "../../mk/compiler.mk" +.if empty(PKGSRC_COMPILER:Mgcc) +PKG_SUGGESTED_OPTIONS+= always-libgcc +.endif + +### +### Determine if multilib is avalible. +### +MULTILIB_SUPPORTED?= unknown +.if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) +. if exists(/usr/include/x86_64-linux-gnu/gnu) +_GNU_INCLUDE_DIR= /usr/include/x86_64-linux-gnu/gnu +. else +_GNU_INCLUDE_DIR= /usr/include/gnu +. endif +. if exists(${_GNU_INCLUDE_DIR}/stubs-64.h) && \ + !exists(${_GNU_INCLUDE_DIR}/stubs-32.h) +MULTILIB_SUPPORTED= No +. else +MULTILIB_SUPPORTED= Yes +. endif +.endif +.if !empty(MULTILIB_SUPPORTED:M[Yy][Ee][Ss]) +PKG_SUPPORTED_OPTIONS+= gcc-multilib +PKG_SUGGESTED_OPTIONS+= gcc-multilib +.endif + +.include "../../mk/bsd.options.mk" + +### +### Don't install libgcc if it's older than the system one +### +.if empty(PKG_OPTIONS:Malways-libgcc) + +. for _libdir_ in ${_OPSYS_LIB_DIRS} +. if exists(${_libdir_}) +BASE_LIBGCC!= find ${_libdir_} -name libgcc_s.so +BASE_LIBGCC_MATCH_STRING!= ${ECHO} ${BASE_LIBGCC} ${GCC10_DIST_VERSION} | \ + ${AWK} -f ../../mk/scripts/larger_symbol_version.awk +. if ${BASE_LIBGCC_MATCH_STRING:Mnewer} +DELETE_INSTALLED_LIBGCC= yes +. endif +. endif +. endfor + +. if ${DELETE_INSTALLED_LIBGCC:Uno} +post-install: delete-installed-libgcc + +.PHONY: delete-installed-libgcc +delete-installed-libgcc: + ${FIND} ${DESTDIR} -name 'libgcc_s.so*' -delete + +. endif + +.endif + +### +### Native Language Support +### +.if !empty(PKG_OPTIONS:Mnls) +USE_TOOLS+= msgfmt +CONFIGURE_ARGS+= --enable-nls +CONFIGURE_ARGS+= --with-libiconv-prefix=${BUILDLINK_PREFIX.iconv} +MAKE_ENV+= ICONVPREFIX=${BUILDLINK_PREFIX.iconv} +.include "../../converters/libiconv/buildlink3.mk" +.include "../../devel/gettext-lib/buildlink3.mk" +.else +CONFIGURE_ARGS+= --disable-nls +.endif + +### +### Multilib Support +### +.if (!empty(MULTILIB_SUPPORTED:M[Yy][Ee][Ss]) && \ + empty(PKG_OPTIONS:Mgcc-multilib) ) || \ + !empty(MULTILIB_SUPPORTED:M[Nn][Oo]) +CONFIGURE_ARGS+= --disable-multilib +.endif + +### +### Build math libraries in place +### +.if !empty(PKG_OPTIONS:Mgcc-inplace-math) +. include "../../devel/gmp/inplace.mk" +. include "../../math/mpcomplex/inplace.mk" +. include "../../math/mpfr/inplace.mk" +.else +CONFIGURE_ARGS+= --with-gmp=${BUILDLINK_PREFIX.gmp} +CONFIGURE_ARGS+= --with-mpc=${BUILDLINK_PREFIX.mpcomplex} +CONFIGURE_ARGS+= --with-mpfr=${BUILDLINK_PREFIX.mpfr} +LIBS.SunOS+= -lgmp +. include "../../devel/gmp/buildlink3.mk" +. include "../../math/mpcomplex/buildlink3.mk" +. include "../../math/mpfr/buildlink3.mk" +.endif + + +### +### Graphite Support +### +.if !empty(PKG_OPTIONS:Mgcc-graphite) +ISL16= isl-0.16.1 +SITES.${ISL16}.tar.bz2= ${MASTER_SITE_GNU:=gcc/infrastructure/} +DISTFILES+= ${ISL16}.tar.bz2 +.endif + +### +### Optional languages +### Ada could be added although there is a bootstrapping issue. See +### ../gcc34-ada for guidance +### + +.if !empty(PKG_OPTIONS:Mgcc-objc++) +. if empty(PKG_OPTIONS:Mgcc-c++) +PKG_OPTIONS+= gcc-c++ +. endif +. if empty(PKG_OPTIONS:Mgcc-objc) +PKG_OPTIONS+= gcc-objc +. endif +LANGS+= obj-c++ +.endif + +.if !empty(PKG_OPTIONS:Mgcc-objc) +LANGS+= objc +.endif + +.if !empty(PKG_OPTIONS:Mgcc-go) +LANGS+= go +.endif + +.if !empty(PKG_OPTIONS:Mgcc-fortran) +LANGS+= fortran +.endif + +.if !empty(PKG_OPTIONS:Mgcc-c++) +LANGS+= c++ +USE_TOOLS+= perl +CONFIGURE_ARGS+= --enable-__cxa_atexit +CONFIGURE_ARGS+= --with-gxx-include-dir=${GCC_PREFIX}/include/c++/ +.else +CONFIGURE_ARGS+= --disable-build-with-cxx +CONFIGURE_ARGS+= --disable-build-poststage1-with-cxx +.endif Index: pkgsrc/lang/gcc10/version.mk diff -u /dev/null pkgsrc/lang/gcc10/version.mk:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/version.mk Sun May 10 15:02:44 2020 @@ -0,0 +1,2 @@ +# $NetBSD: version.mk,v 1.1 2020/05/10 15:02:44 maya Exp $ +GCC10_DIST_VERSION:= 10.1.0 Index: pkgsrc/lang/gcc10/patches/patch-contrib_download__prerequisites diff -u /dev/null pkgsrc/lang/gcc10/patches/patch-contrib_download__prerequisites:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/patches/patch-contrib_download__prerequisites Sun May 10 15:02:44 2020 @@ -0,0 +1,17 @@ +$NetBSD: patch-contrib_download__prerequisites,v 1.1 2020/05/10 15:02:44 maya Exp $ + +Non-portable test + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90142 + +--- contrib/download_prerequisites.orig 2017-04-11 16:34:07.000000000 +0000 ++++ contrib/download_prerequisites +@@ -122,7 +122,7 @@ md5_check() { + md5_checksum_output=$(md5 -r "${file_to_check}") + # Grab the text before the first space + md5_checksum_detected="${md5_checksum_output%% *}" +- [ "${md5_checksum_expected}" == "${md5_checksum_detected}" ] \ ++ [ "${md5_checksum_expected}" = "${md5_checksum_detected}" ] \ + || die "Cannot verify integrity of possibly corrupted file ${file_to_check}" + echo "${file_to_check}: OK" + } Index: pkgsrc/lang/gcc10/patches/patch-fixincludes_inclhack.def diff -u /dev/null pkgsrc/lang/gcc10/patches/patch-fixincludes_inclhack.def:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/patches/patch-fixincludes_inclhack.def Sun May 10 15:02:44 2020 @@ -0,0 +1,36 @@ +$NetBSD: patch-fixincludes_inclhack.def,v 1.1 2020/05/10 15:02:44 maya Exp $ + +A workaround for Catalina SDK bug from +https://github.com/Homebrew/homebrew-core/pull/44762 + +--- fixincludes/inclhack.def.orig 2020-03-04 08:29:59.000000000 +0000 ++++ fixincludes/inclhack.def +@@ -1269,6 +1269,28 @@ fix = { + }; + + /* ++ * macOS 10.15 does not define __OSX_AVAILABLE_STARTING on ++ * non-clang compilers. ++ */ ++fix = { ++ hackname = darwin_availability; ++ mach = "*-*-darwin*"; ++ files = Availability.h; ++ select = "#endif /\\* __OSX_AVAILABLE_STARTING \\*/"; ++ c_fix = format; ++ c_fix_arg = <<- _EOFix_ ++ #endif /* __OSX_AVAILABLE_STARTING */ ++ #ifndef __OSX_AVAILABLE_STARTING ++ #define __OSX_AVAILABLE_STARTING(_osx, _ios) ++ #define __OSX_AVAILABLE_BUT_DEPRECATED(_osxIntro, _osxDep, _iosIntro, _iosDep) ++ #define __OSX_AVAILABLE_BUT_DEPRECATED_MSG(_osxIntro, _osxDep, _iosIntro, _iosDep, _msg) ++ #endif ++ _EOFix_; ++ ++ test_text = "#endif /* __OSX_AVAILABLE_STARTING */"; ++}; ++ ++/* + * macOS 10.12 uses __attribute__((availability)) + * unconditionally. + */ Index: pkgsrc/lang/gcc10/patches/patch-gcc_Makefile.in diff -u /dev/null pkgsrc/lang/gcc10/patches/patch-gcc_Makefile.in:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/patches/patch-gcc_Makefile.in Sun May 10 15:02:44 2020 @@ -0,0 +1,15 @@ +$NetBSD: patch-gcc_Makefile.in,v 1.1 2020/05/10 15:02:44 maya Exp $ + +Add gcc libdir to a programs rpath so that _this gcc's_ support libraries +are found. + +--- gcc/Makefile.in.orig 2017-04-18 18:10:27.000000000 +0000 ++++ gcc/Makefile.in +@@ -2112,6 +2112,7 @@ prefix.o: $(BASEVER) + # Language-independent files. + + DRIVER_DEFINES = \ ++ -DLINK_LIBGCC_SPEC="\"%D $(LINKER_RPATH_FLAG) $(prefix)//lib/%M $(LINKER_RPATH_FLAG) $(libdir)/%M \"" \ + -DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \ + -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \ + -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc/\" \ Index: pkgsrc/lang/gcc10/patches/patch-gcc_config_aarch64_aarch64-builtins.c diff -u /dev/null pkgsrc/lang/gcc10/patches/patch-gcc_config_aarch64_aarch64-builtins.c:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/patches/patch-gcc_config_aarch64_aarch64-builtins.c Sun May 10 15:02:44 2020 @@ -0,0 +1,17 @@ +$NetBSD: patch-gcc_config_aarch64_aarch64-builtins.c,v 1.1 2020/05/10 15:02:44 maya Exp $ + +initialise subtarget builtins so cabs*() are renamed. + +--- gcc/config/aarch64/aarch64-builtins.c.orig 2017-01-20 21:03:41.000000000 +0000 ++++ gcc/config/aarch64/aarch64-builtins.c 2018-11-10 00:44:41.905576216 +0000 +@@ -1303,6 +1303,10 @@ aarch64_general_init_builtins (void) + + if (TARGET_MEMTAG) + aarch64_init_memtag_builtins (); ++ ++#ifdef SUBTARGET_INIT_BUILTINS ++ SUBTARGET_INIT_BUILTINS; ++#endif + } + + /* Implement TARGET_BUILTIN_DECL for the AARCH64_BUILTIN_GENERAL group. */ Index: pkgsrc/lang/gcc10/patches/patch-gcc_configure diff -u /dev/null pkgsrc/lang/gcc10/patches/patch-gcc_configure:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/patches/patch-gcc_configure Sun May 10 15:02:44 2020 @@ -0,0 +1,15 @@ +$NetBSD: patch-gcc_configure,v 1.1 2020/05/10 15:02:44 maya Exp $ + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90143 + +--- gcc/configure.orig 2015-09-30 23:06:11.000000000 +0000 ++++ gcc/configure +@@ -28321,7 +28321,7 @@ case "$target" in + gcc_cv_target_dl_iterate_phdr=no + fi + ;; +- *-*-dragonfly* | *-*-freebsd*) ++ *-*-dragonfly* | *-*-freebsd* | *-*-netbsd* ) + if grep dl_iterate_phdr $target_header_dir/sys/link_elf.h > /dev/null 2>&1; then + gcc_cv_target_dl_iterate_phdr=yes + else Index: pkgsrc/lang/gcc10/patches/patch-gcc_ggc-common.c diff -u /dev/null pkgsrc/lang/gcc10/patches/patch-gcc_ggc-common.c:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/patches/patch-gcc_ggc-common.c Sun May 10 15:02:44 2020 @@ -0,0 +1,51 @@ +$NetBSD: patch-gcc_ggc-common.c,v 1.1 2020/05/10 15:02:44 maya Exp $ + +--- gcc/ggc-common.c.orig 2014-12-10 03:45:40.000000000 +0000 ++++ gcc/ggc-common.c +@@ -591,6 +591,8 @@ gt_pch_restore (FILE *f) + size_t i; + struct mmap_info mmi; + int result; ++ struct line_maps * old_line_table = line_table; ++ location_t old_input_loc = input_location; + + /* Delete any deletable objects. This makes ggc_pch_read much + faster, as it can be sure that no GCable objects remain other +@@ -603,7 +605,7 @@ gt_pch_restore (FILE *f) + for (rt = gt_pch_scalar_rtab; *rt; rt++) + for (rti = *rt; rti->base != NULL; rti++) + if (fread (rti->base, rti->stride, 1, f) != 1) +- fatal_error (input_location, "cannot read PCH file: %m"); ++ { line_table = old_line_table; input_location = old_input_loc; fatal_error (input_location, "cannot read PCH file: %m"); } + + /* Read in all the global pointers, in 6 easy loops. */ + for (rt = gt_ggc_rtab; *rt; rt++) +@@ -611,23 +613,23 @@ gt_pch_restore (FILE *f) + for (i = 0; i < rti->nelt; i++) + if (fread ((char *)rti->base + rti->stride * i, + sizeof (void *), 1, f) != 1) +- fatal_error (input_location, "cannot read PCH file: %m"); ++ { line_table = old_line_table; input_location = old_input_loc; fatal_error (input_location, "cannot read PCH file: %m"); } + + if (fread (&mmi, sizeof (mmi), 1, f) != 1) +- fatal_error (input_location, "cannot read PCH file: %m"); ++ { line_table = old_line_table; input_location = old_input_loc; fatal_error (input_location, "cannot read PCH file: %m"); } + + result = host_hooks.gt_pch_use_address (mmi.preferred_base, mmi.size, + fileno (f), mmi.offset); + if (result < 0) +- fatal_error (input_location, "had to relocate PCH"); ++ { line_table = old_line_table; input_location = old_input_loc; fatal_error (input_location, "had to relocate PCH"); } + if (result == 0) + { + if (fseek (f, mmi.offset, SEEK_SET) != 0 + || fread (mmi.preferred_base, mmi.size, 1, f) != 1) +- fatal_error (input_location, "cannot read PCH file: %m"); ++ { line_table = old_line_table; input_location = old_input_loc; fatal_error (input_location, "cannot read PCH file: %m"); } + } + else if (fseek (f, mmi.offset + mmi.size, SEEK_SET) != 0) +- fatal_error (input_location, "cannot read PCH file: %m"); ++ { line_table = old_line_table; input_location = old_input_loc; fatal_error (input_location, "cannot read PCH file: %m"); } + + ggc_pch_read (f, mmi.preferred_base); + Index: pkgsrc/lang/gcc10/patches/patch-gcc_lto_lto.c diff -u /dev/null pkgsrc/lang/gcc10/patches/patch-gcc_lto_lto.c:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/patches/patch-gcc_lto_lto.c Sun May 10 15:02:44 2020 @@ -0,0 +1,19 @@ +$NetBSD: patch-gcc_lto_lto.c,v 1.1 2020/05/10 15:02:44 maya Exp $ + +Better fallback for netbsd<8 lacking WALLSIG. + +--- gcc/lto/lto.c.orig 2018-01-03 21:42:12.000000000 +0000 ++++ gcc/lto/lto.c +@@ -2321,7 +2321,11 @@ wait_for_child () + do + { + #ifndef WCONTINUED +-#define WCONTINUED 0 ++# ifdef WALLSIG ++# define WCONTINUED WALLSIG ++# else ++# define WCONTINUED 0 ++# endif + #endif + int w = waitpid (0, &status, WUNTRACED | WCONTINUED); + if (w == -1) Index: pkgsrc/lang/gcc10/patches/patch-gcc_targhooks.c diff -u /dev/null pkgsrc/lang/gcc10/patches/patch-gcc_targhooks.c:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/patches/patch-gcc_targhooks.c Sun May 10 15:02:44 2020 @@ -0,0 +1,17 @@ +$NetBSD: patch-gcc_targhooks.c,v 1.1 2020/05/10 15:02:44 maya Exp $ + +PR pkg/53436 +netbsd can't handle hidden reference to stack_chk_fail_local. +(note: this code is only happening if targeting i386) + +--- gcc/targhooks.c.orig 2018-01-13 18:00:59.000000000 +0000 ++++ gcc/targhooks.c +@@ -919,7 +919,7 @@ default_external_stack_protect_fail (voi + tree + default_hidden_stack_protect_fail (void) + { +-#ifndef HAVE_GAS_HIDDEN ++#if !defined(HAVE_GAS_HIDDEN) || defined(__NetBSD__) || defined(__sun) + return default_external_stack_protect_fail (); + #else + tree t = stack_chk_fail_decl; Index: pkgsrc/lang/gcc10/patches/patch-isl_configure diff -u /dev/null pkgsrc/lang/gcc10/patches/patch-isl_configure:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/patches/patch-isl_configure Sun May 10 15:02:44 2020 @@ -0,0 +1,26 @@ +$NetBSD: patch-isl_configure,v 1.1 2020/05/10 15:02:44 maya Exp $ + +Make test portable + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90144 + +--- isl/configure.orig 2016-01-14 17:26:10.000000000 +0000 ++++ isl/configure +@@ -17561,7 +17561,7 @@ else + fi + + +- if test "x$with_int" == "ximath-32"; then ++ if test "x$with_int" = "ximath-32"; then + SMALL_INT_OPT_TRUE= + SMALL_INT_OPT_FALSE='#' + else +@@ -17569,7 +17569,7 @@ else + SMALL_INT_OPT_FALSE= + fi + +-if test "x$with_int" == "ximath-32"; then : ++if test "x$with_int" = "ximath-32"; then : + + + $as_echo "#define USE_SMALL_INT_OPT /**/" >>confdefs.h Index: pkgsrc/lang/gcc10/patches/patch-libffi_configure diff -u /dev/null pkgsrc/lang/gcc10/patches/patch-libffi_configure:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/patches/patch-libffi_configure Sun May 10 15:02:44 2020 @@ -0,0 +1,16 @@ +$NetBSD: patch-libffi_configure,v 1.1 2020/05/10 15:02:44 maya Exp $ + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90146 +https://github.com/libffi/libffi/issues/485 + +--- libffi/configure.orig 2013-06-01 17:03:49.000000000 +0000 ++++ libffi/configure +@@ -12689,7 +12689,7 @@ case "$target" in + $as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h + + ;; +- *-apple-darwin1* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris*) ++ *-apple-darwin1* | *-*-freebsd* | *-*-kfreebsd* | *-*-netbsd* | *-*-openbsd* | *-pc-solaris*) + + $as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h + Index: pkgsrc/lang/gcc10/patches/patch-libffi_testsuite_libffi.call_float2.c diff -u /dev/null pkgsrc/lang/gcc10/patches/patch-libffi_testsuite_libffi.call_float2.c:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/patches/patch-libffi_testsuite_libffi.call_float2.c Sun May 10 15:02:44 2020 @@ -0,0 +1,15 @@ +$NetBSD: patch-libffi_testsuite_libffi.call_float2.c,v 1.1 2020/05/10 15:02:44 maya Exp $ + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90146 + +--- libffi/testsuite/libffi.call/float2.c.orig 2013-06-01 17:08:18.000000000 +0000 ++++ libffi/testsuite/libffi.call/float2.c +@@ -45,7 +45,7 @@ int main (void) + /* This is ifdef'd out for now. long double support under SunOS/gcc + is pretty much non-existent. You'll get the odd bus error in library + routines like printf(). */ +- printf ("%Lf, %Lf, %Lf, %Lf\n", ld, ldblit(f), ld - ldblit(f), LDBL_EPSILON); ++ printf ("%Lf, %Lf, %Lf, %Lf\n", (long double)ld, (long double)ldblit(f), (long double)(ld - ldblit(f)), (long double)LDBL_EPSILON); + #endif + + /* These are not always the same!! Check for a reasonable delta */ Index: pkgsrc/lang/gcc10/patches/patch-libgcc_crtstuff.c diff -u /dev/null pkgsrc/lang/gcc10/patches/patch-libgcc_crtstuff.c:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/patches/patch-libgcc_crtstuff.c Sun May 10 15:02:44 2020 @@ -0,0 +1,15 @@ +$NetBSD: patch-libgcc_crtstuff.c,v 1.1 2020/05/10 15:02:44 maya Exp $ + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90147 + +--- libgcc/crtstuff.c.orig 2017-01-01 12:07:43.000000000 +0000 ++++ libgcc/crtstuff.c +@@ -81,7 +81,7 @@ call_ ## FUNC (void) \ + #endif + + #if defined(TARGET_DL_ITERATE_PHDR) && \ +- (defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__)) ++ (defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)) + #define BSD_DL_ITERATE_PHDR_AVAILABLE + #endif + Index: pkgsrc/lang/gcc10/patches/patch-libgfortran_io_io.h diff -u /dev/null pkgsrc/lang/gcc10/patches/patch-libgfortran_io_io.h:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/patches/patch-libgfortran_io_io.h Sun May 10 15:02:44 2020 @@ -0,0 +1,18 @@ +$NetBSD: patch-libgfortran_io_io.h,v 1.1 2020/05/10 15:02:44 maya Exp $ + +Don't declare old_locale* an internal_proto to avoid linking problems + +--- libgfortran/io/io.h.orig 2018-01-07 10:17:52.000000000 +0000 ++++ libgfortran/io/io.h +@@ -57,11 +57,8 @@ extern locale_t c_locale; + internal_proto(c_locale); + #else + extern char* old_locale; +-internal_proto(old_locale); + extern int old_locale_ctr; +-internal_proto(old_locale_ctr); + extern __gthread_mutex_t old_locale_lock; +-internal_proto(old_locale_lock); + #endif + + Index: pkgsrc/lang/gcc10/patches/patch-libstdc++-v3_libsupc++_new__opa.cc diff -u /dev/null pkgsrc/lang/gcc10/patches/patch-libstdc++-v3_libsupc++_new__opa.cc:1.1 --- /dev/null Sun May 10 15:02:44 2020 +++ pkgsrc/lang/gcc10/patches/patch-libstdc++-v3_libsupc++_new__opa.cc Sun May 10 15:02:44 2020 @@ -0,0 +1,17 @@ +$NetBSD: patch-libstdc++-v3_libsupc++_new__opa.cc,v 1.1 2020/05/10 15:02:44 maya Exp $ + +Ensure we can find SunOS std::aligned_alloc if using it. + +--- libstdc++-v3/libsupc++/new_opa.cc.orig 2020-03-04 08:30:03.000000000 +0000 ++++ libstdc++-v3/libsupc++/new_opa.cc +@@ -57,6 +57,10 @@ extern "C" + } + #endif + ++#if defined(__sun) && _GLIBCXX_HAVE_ALIGNED_ALLOC ++using std::aligned_alloc; ++#endif ++ + namespace __gnu_cxx { + #if _GLIBCXX_HAVE_ALIGNED_ALLOC + using ::aligned_alloc; --_----------=_158912296422790--