head	1.2;
access;
symbols
	pkgsrc-2026Q1:1.1.0.8
	pkgsrc-2026Q1-base:1.1
	pkgsrc-2025Q4:1.1.0.6
	pkgsrc-2025Q4-base:1.1
	pkgsrc-2025Q3:1.1.0.4
	pkgsrc-2025Q3-base:1.1
	pkgsrc-2025Q2:1.1.0.2
	pkgsrc-2025Q2-base:1.1;
locks; strict;
comment	@# @;


1.2
date	2026.04.04.01.29.41;	author js;	state Exp;
branches;
next	1.1;
commitid	g4qx9XNb89mE2AAG;

1.1
date	2025.06.15.12.51.35;	author js;	state Exp;
branches;
next	;
commitid	pPFU1zunMUk7eZYF;


desc
@@


1.2
log
@cross/ppc-morphos-gcc: One more baserel fix

Also use baserel for const - after all, something in a const might refer to
something that gets relocated, so needs to be accessed baserel as well.
@
text
@# $NetBSD: Makefile,v 1.1 2025/06/15 12:51:35 js Exp $

DISTNAME=	gcc-15.1.0
PKGREVISION=	1
PKGNAME=	ppc-morphos-${DISTNAME}
CATEGORIES=	cross
MASTER_SITES=	${MASTER_SITE_GNU:=gcc/gcc-${PKGVERSION_NOREV}/}
EXTRACT_SUFX=	.tar.xz

MAINTAINER=	js@@NetBSD.org
HOMEPAGE=	https://www.morphos-team.net/
COMMENT=	GCC for ppc-morphos
LICENSE=	gnu-gpl-v3

DEPENDS+=		ppc-morphos-binutils-[0-9]*:../../cross/ppc-morphos-binutils
DEPENDS+=		ppc-morphos-sdk-[0-9]*:../../cross/ppc-morphos-sdk

GNU_CONFIGURE=		yes
USE_LANGUAGES=		c c++
USE_TOOLS+=		xzcat gtar patch autoconf gsed gmake perl makeinfo

OBJDIR=			../build
CONFIGURE_DIRS=		${OBJDIR}
CONFIGURE_SCRIPT=	${WRKSRC}/configure
GNU_CONFIGURE_PREFIX=	${PREFIX}/gg
CONFIGURE_ARGS+=	--target=ppc-morphos
CONFIGURE_ARGS+=	--with-plugin-ld=no
CONFIGURE_ARGS+=	--enable-languages=c,c++,objc,obj-c++
CONFIGURE_ARGS+=	--with-sysroot=${PREFIX}/gg
CONFIGURE_ARGS+=	--libexecdir=${PREFIX}/gg/lib
CONFIGURE_ARGS+=	--oldincludedir=${PREFIX}/gg/include
CONFIGURE_ARGS+=	--program-prefix=ppc-morphos-
CONFIGURE_ARGS+=	--enable-threads=morphos
CONFIGURE_ARGS+=	--disable-bootstrap
CONFIGURE_ARGS+=	--enable-version-specific-runtime-libs
CONFIGURE_ARGS+=	--disable-nls
# Used by a sub-configure, therefore needs to be passed via MAKE_ENV.
MAKE_ENV+=		gcc_cv_have_tls=no

# Relocations result in a linker error.
MKPIE_SUPPORTED=	no

CHECK_PORTABILITY_SKIP+=	contrib/*
CHECK_PORTABILITY_SKIP+=	libgo/mksysinfo.sh

pre-patch:
	# Out of memory with gpatch on Darwin, so use nbpatch.
	${RUN} cd ${WRKSRC} && ${PATCH} -p1 <${FILESDIR}/gcc-15-morphos.diff
	${RUN} cd ${WRKSRC} && ${PATCH} -p0 <${FILESDIR}/fpic.diff
	${RUN} cd ${WRKSRC} && ${PATCH} -p1 <${FILESDIR}/fix-fenv-for-crossbuild.diff
	${RUN} cd ${WRKSRC} && ${PATCH} -p1 <${FILESDIR}/morphos-std-filesystem-path.diff
	${RUN} cd ${WRKSRC} && ${PATCH} -p1 <${FILESDIR}/morphos-std-fastfloat.diff
	${RUN} cd ${WRKSRC} && ${PATCH} -p0 <${FILESDIR}/fix-saveds.diff
	${RUN} cd ${WRKSRC} && ${PATCH} -p0 <${FILESDIR}/objc-saveds.diff
	${RUN} find ${WRKSRC} -name configure -print0 | xargs -0 -r perl -i.orig -p -e "s|toolexecdir='\\\$$\(libdir\)/gcc/\\\$$\(target_alias\)'|toolexecdir='\\\$$(libdir)/gcc-lib/\\\$$(target_alias)'|g;"
	${RUN} find ${WRKSRC} -name Makefile.in -print0 | xargs -0 -r perl -i.orig -p -e "s|= \\\$$\(libexecdir\)/gcc/\\\$$\(real_target_noncanonical\)|= \\\$$(libexecdir)/gcc-lib/\\\$$(real_target_noncanonical)|g;s|= \\\$$\(libdir\)/gcc/\\\$$\(target_noncanonical\)|= \\\$$(libdir)/gcc-lib/\\\$$(target_noncanonical)|g;"

post-patch:
	# Change /gg to ${PREFIX}/gg
	${RUN} cd ${WRKSRC} && \
		gsed -i 's,/gg/,${PREFIX}/gg/,g' \
			gcc/config/rs6000/morphos.h && \
		gsed -i 's,/gg$$,${PREFIX}/gg,g' gcc/config.host
	${RUN} cd ${WRKSRC}/libcc1 && autoreconf
	${RUN} cd ${WRKSRC}/libstdc++-v3 && autoreconf
	${RUN} cd ${WRKSRC} && ${MKDIR} ${OBJDIR}

post-install:
	${RUN} rm -f ${DESTDIR}${PREFIX}/gg/share/info/dir

.include "../../devel/gmp/buildlink3.mk"
.include "../../math/mpfr/buildlink3.mk"
.include "../../math/mpcomplex/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
@


1.1
log
@Add cross/ppc-morphos-gcc 15.1.0

Includes patchset from unreleased MorphOS 3.20 beta SDK with permission.

No version suffix anymore since the idea is to only maintain one version in
pkgsrc.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.9 2025/06/09 16:00:48 js Exp $
d4 1
@

