# $NetBSD: Makefile,v 1.22 2023/06/03 13:22:04 riastradh Exp $ PKGNAME= ${GCC_PKGNAME}-${GCC10_DIST_VERSION} ## When bumping the PKGREVISION of this package the PKGREVISION of ## lang/gcc10-libs needs to be bumped to be at least 1 more than the ## PKGREVISION of this package! COMMENT= The GNU Compiler Collection (GCC) - 10.0 Release Series LANGS= c .include "Makefile.common" # 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 .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} .if ${USE_CROSS_COMPILE:U:tl} == "yes" CONFIGURE_ENV+= CC_FOR_BUILD=${NATIVE_CC:Q} CONFIGURE_ENV+= CXX_FOR_BUILD=${NATIVE_CXX:Q} .endif CONFIGURE_ARGS+= --enable-languages=${LANGS:Q} CONFIGURE_ARGS+= --enable-shared CTF_FILES_SKIP+= */gengtype # CPU limit exceeded 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}; .include "../../mk/bsd.pkg.mk"