# $NetBSD: Makefile.common,v 1.7 2023/08/29 09:48:46 nia Exp $ # used by lang/gcc10-libjit/Makefile GCC_PKGNAME= gcc10 .include "version.mk" DISTNAME= gcc-${GCC10_DIST_VERSION} 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/ LICENSE= gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3 PATCHDIR= ${.CURDIR}/../../lang/gcc10/patches DISTINFO_FILE= ${.CURDIR}/../../lang/gcc10/distinfo DISTFILES= ${DEFAULT_DISTFILES} EXTRACT_ONLY= ${DEFAULT_DISTFILES} # Relocations result in a linker error on AArch64, but not x86. MKPIE_SUPPORTED= no CHECK_RELRO_SKIP+= ${GCC_PKGNAME}/lib/* NOT_FOR_PLATFORM= Interix-*-* USE_LANGUAGES= c c++ USE_TOOLS+= gmake makeinfo sed 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 # error: 'for' loop initial declarations are only allowed in C99 mode USE_CC_FEATURES+= c99 FORCE_C_STD= gnu99 UNLIMIT_RESOURCES+= datasize UNLIMIT_RESOURCES+= stacksize CHECK_PORTABILITY_SKIP+= contrib/* .include "options.mk" ## For graphite support. .if !empty(PKG_OPTIONS:Mgcc-graphite) EXTRACT_ONLY+= ${ISL16}.tar.bz2 post-extract: ${MV} ${WRKDIR}/${ISL16} ${WRKSRC}/isl .endif 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+= --without-zstd # causes build errors even when using lang/gcc10 to self-host. CONFIGURE_ARGS.SunOS+= --disable-libsanitizer # 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 .if !empty(PKGSRC_COMPILER:Mclang) || ${OPSYS} == "DragonFly" CONFIGURE_ARGS+= --disable-bootstrap .endif .if ${MACHINE_PLATFORM:MNetBSD-*-i386} || ${MACHINE_PLATFORM:MLinux-*-i386} CONFIGURE_ARGS+= --with-arch=i486 --with-tune=i486 .endif .if ${MACHINE_PLATFORM:MNetBSD-*-x86_64} || ${MACHINE_PLATFORM:MLinux-*-x86_64} CONFIGURE_ARGS+= --with-arch=nocona --with-tune=nocona --with-fpmath=sse .endif .if ${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 ${OPSYS} == "Linux" # glibc limitations, needs at least -O1 FORTIFY_SUPPORTED= no .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} CHECK_BUILTIN.zlib:= yes .include "../../devel/zlib/builtin.mk" CHECK_BUILTIN.zlib:= no .if ${USE_BUILTIN.zlib:tl} == yes CONFIGURE_ARGS+= --with-system-zlib .else CONFIGURE_ARGS+= --without-system-zlib .endif .include "../../mk/dlopen.buildlink3.mk" .include "../../mk/pthread.buildlink3.mk"