File:  [cvs.NetBSD.org] / pkgsrc / lang / gcc3 / Attic / Makefile.common
Revision 1.28: download - view: text, annotated - select for diffs
Thu Feb 25 14:42:55 2016 UTC (8 years, 9 months ago) by jperkin
Branches: MAIN
CVS tags: pkgsrc-2019Q3-base, pkgsrc-2019Q3, pkgsrc-2019Q2-base, pkgsrc-2019Q2, pkgsrc-2019Q1-base, pkgsrc-2019Q1, pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3, pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1, pkgsrc-2017Q4-base, pkgsrc-2017Q4, pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1, pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3, pkgsrc-2016Q2-base, pkgsrc-2016Q2, pkgsrc-2016Q1-base, pkgsrc-2016Q1, HEAD
Use OPSYSVARS.

# $NetBSD: Makefile.common,v 1.28 2016/02/25 14:42:55 jperkin Exp $
#
# used by lang/gcc3/language.mk
# used by lang/gcc3-c/Makefile

GCC_VERSION=	3.3.6
DISTNAME=	gcc-${GCC_VERSION}
CATEGORIES=	lang
MASTER_SITES=	${MASTER_SITE_GNU:=gcc/gcc-${GCC_VERSION}/}
EXTRACT_SUFX=	.tar.bz2

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	http://www.gnu.org/software/gcc/gcc.html

NOT_FOR_PLATFORM=	Darwin-*-* Interix-*-* DragonFly-*-*

USE_TOOLS+=		gmake
MAKEFLAGS+=		GMAKE_LOCALE=no
HAS_CONFIGURE=		yes

PATCHDIR=		${.CURDIR}/../../lang/gcc3/patches
DISTINFO_FILE=		${.CURDIR}/../../lang/gcc3/distinfo

.include "../../mk/bsd.prefs.mk"

# Make location overridable, to allow ping-pong bootstraps.
GCC3_DEFAULT_SUBPREFIX=		gcc3
GCC3_INSTALLTO_SUBPREFIX?=	${GCC3_DEFAULT_SUBPREFIX}
.if ${GCC3_INSTALLTO_SUBPREFIX} != ${GCC3_DEFAULT_SUBPREFIX}
GCC3_PKGMODIF=		_${GCC3_INSTALLTO_SUBPREFIX}
.endif

GCC_SUBPREFIX=		${GCC3_INSTALLTO_SUBPREFIX}
GCC_PREFIX=		${PREFIX}/${GCC_SUBPREFIX}
CONFIGURE_ARGS+=	--prefix=${GCC_PREFIX:Q}
PLIST_SUBST+=		GCC_SUBPREFIX=${GCC_SUBPREFIX:Q}
FILES_SUBST+=		GCC_PREFIX=${GCC_PREFIX:Q}
FILES_SUBST+=		PKGNAME=${PKGNAME:Q}
MESSAGE_SUBST+=		GCC_PREFIX=${GCC_PREFIX}

BUILDLINK_PASSTHRU_RPATHDIRS+=	${GCC_PREFIX}

MAKE_ENV+=		SHELL=${CONFIG_SHELL}

# These come from $WRKSRC/Makefile.in
ALL_GCC=	all-gcc
ALL_GCC_C=	$$(ALL_GCC) all-target-newlib all-target-libgloss
ALL_GCC_CXX=	$$(ALL_GCC_C) all-target-libstdc++-v3

# Support threads and building of crt*.o on post-1.6 -current.
# Use buildlink to avoid a GNU pth package.
.if ${OPSYS} == "NetBSD" && exists(/usr/include/pthread.h)
GCC_PLATFORM=		${MACHINE_GNU_ARCH}--netbsdelf2.0
PTHREAD_OPTS+=		require native
.  include "../../mk/pthread.buildlink3.mk"
.else
GCC_PLATFORM=		${MACHINE_GNU_PLATFORM}
.endif
CONFIGURE_ARGS+=	--host=${GCC_PLATFORM:Q}
PLIST_SUBST+=		GCC_PLATFORM=${GCC_PLATFORM:Q}

CONFIGURE_ARGS.AIX+=	--disable-aix64

.if ${OPSYS} == "NetBSD"
.  if !defined(USE_BINUTILS)
AS_PATH:=   ${AS}
.    for _dir_ in ${PATH:C/\:/ /g}
.      if empty(AS_PATH:M/*)
.        if exists(${_dir_}/${AS})
AS_PATH:=   ${_dir_}/${AS}
.        endif
.      endif
.    endfor
.    if !empty(AS_PATH:M${LOCALBASE}/*)
USE_BINUTILS=	YES
.    else
AS_VERSION!=	${AS_PATH} --version | ${AWK} '{			\
		    split($$3, v, /[.]/);				\
		    printf "%02d%02d%02d%02d\n",v[1],v[2],v[3],v[4];	\
		    exit;						\
		}'
USE_BINUTILS!=	${TEST} ${AS_VERSION} -lt 02130201 && ${ECHO} YES || ${ECHO} NO
.    endif
MAKEFLAGS+=	USE_BINUTILS=${USE_BINUTILS:Q}
.  endif
.endif

.if defined(USE_BINUTILS) && !empty(USE_BINUTILS:M[yY][eE][sS])
DEPENDS+=		binutils>=2.13.2.1:../../devel/binutils
CONFIGURE_ARGS+=	--with-as=${LOCALBASE}/${MACHINE_GNU_PLATFORM}/bin/as
.endif

OPSYSVARS+=			GCC_SHARED_ARG
GCC_SHARED_ARG.${OPSYS}?=	--disable-shared
GCC_SHARED_ARG.FreeBSD=		--enable-shared
GCC_SHARED_ARG.IRIX=		--enable-shared
GCC_SHARED_ARG.Linux=		--enable-shared
GCC_SHARED_ARG.NetBSD=		--enable-shared
GCC_SHARED_ARG.SunOS=		--enable-shared
CONFIGURE_ARGS+=		${GCC_SHARED_ARG}

# gcc3 sub-packages must be built with gcc3.
.if defined(PKGNAME) && empty(PKGNAME:Mgcc3-c-[0-9]*)
ONLY_FOR_COMPILER+=	gcc
PKGSRC_COMPILER:=	gcc ${PKGSRC_COMPILER}
GCC_REQD+=		${GCC_VERSION}
.endif

.include "../../mk/compiler.mk"

.if ${OPSYS} == "IRIX"
.  if !empty(PKGSRC_COMPILER:Mmipspro*)
CONFIGURE_ENV+= SGI_ABI="n32"
MAKE_ENV+=	SGI_ABI="n32"
.  endif
.endif

GCC_ARCHSUBDIR=	${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${GCC_VERSION}
GCC_ARCHDIR=	${PREFIX}/${GCC_ARCHSUBDIR}

.if defined(INSTLIBS)
WRAPPEES+=		LIBTOOL

.PHONY: scrub-libtool-archives
post-build: scrub-libtool-archives
scrub-libtool-archives:
.  for lafile in ${INSTLIBS}
	${LIBTOOL} --mode=unwrap -o ${WRKSRC}/${GCC_PLATFORM}/${lafile}
.  endfor
.endif

# Create the directories for the build, patch the ltconfig script to
# always use "sunos" shared library numbering (for consistent PLISTs
# across platforms), and touch all the necessary files so that they're
# not regenerated after the configure script is run.
#
pre-configure:
	${MKDIR} ${BUILD_DIRS}
	cd ${WRKSRC}; for file in ltconfig boehm-gc/ltconfig; do	\
		${MV} -f $$file $$file.bak;				\
		${SED} -e "s|\(version_type\)=linux|\1=sunos|g"		\
			$$file.bak > $$file;				\
		${CHMOD} +x $$file;					\
	done
	cd ${WRKSRC} && contrib/gcc_update --touch

CVSweb <webmaster@jp.NetBSD.org>