head	1.47;
access;
symbols
	perseant-exfatfs-base-20261102:1.47
	perseant-exfatfs-base-20250801:1.47
	perseant-exfatfs-base-20240630:1.47
	cjep_sun2x:1.47.0.44
	cjep_sun2x-base:1.47
	cjep_staticlib_x-base1:1.47
	cjep_staticlib_x:1.47.0.42
	cjep_staticlib_x-base:1.47
	phil-wifi-20200421:1.47
	phil-wifi-20200411:1.47
	phil-wifi-20200406:1.47
	pgoyette-compat-merge-20190127:1.47
	pgoyette-compat-20190127:1.47
	pgoyette-compat-20190118:1.47
	pgoyette-compat-1226:1.47
	pgoyette-compat-1126:1.47
	pgoyette-compat-1020:1.47
	pgoyette-compat-0930:1.47
	pgoyette-compat-0906:1.47
	pgoyette-compat-0728:1.47
	pgoyette-compat-0625:1.47
	pgoyette-compat-0521:1.47
	pgoyette-compat-0502:1.47
	pgoyette-compat-0422:1.47
	pgoyette-compat-0415:1.47
	pgoyette-compat-0407:1.47
	pgoyette-compat-0330:1.47
	pgoyette-compat-0322:1.47
	pgoyette-compat-0315:1.47
	pgoyette-compat:1.47.0.40
	pgoyette-compat-base:1.47
	perseant-stdc-iso10646:1.47.0.38
	perseant-stdc-iso10646-base:1.47
	prg-localcount2-base3:1.47
	prg-localcount2-base2:1.47
	prg-localcount2-base1:1.47
	prg-localcount2:1.47.0.36
	prg-localcount2-base:1.47
	pgoyette-localcount-20170426:1.47
	bouyer-socketcan-base1:1.47
	pgoyette-localcount-20170320:1.47
	bouyer-socketcan:1.47.0.34
	bouyer-socketcan-base:1.47
	pgoyette-localcount-20170107:1.47
	pgoyette-localcount-20161104:1.47
	localcount-20160914:1.47
	pgoyette-localcount-20160806:1.47
	pgoyette-localcount-20160726:1.47
	pgoyette-localcount:1.47.0.32
	pgoyette-localcount-base:1.47
	netbsd-5-2-3-RELEASE:1.47
	netbsd-5-1-5-RELEASE:1.47
	yamt-pagecache-base9:1.47
	yamt-pagecache-tag8:1.47
	tls-earlyentropy:1.47.0.28
	tls-earlyentropy-base:1.47
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.47
	riastradh-drm2-base3:1.47
	netbsd-5-2-2-RELEASE:1.47
	netbsd-5-1-4-RELEASE:1.47
	netbsd-5-2-1-RELEASE:1.47
	netbsd-5-1-3-RELEASE:1.47
	agc-symver:1.47.0.30
	agc-symver-base:1.47
	tls-maxphys-base:1.47
	yamt-pagecache-base8:1.47
	netbsd-5-2:1.47.0.26
	yamt-pagecache-base7:1.47
	netbsd-5-2-RELEASE:1.47
	netbsd-5-2-RC1:1.47
	yamt-pagecache-base6:1.47
	yamt-pagecache-base5:1.47
	yamt-pagecache-base4:1.47
	netbsd-5-1-2-RELEASE:1.47
	netbsd-5-1-1-RELEASE:1.47
	yamt-pagecache-base3:1.47
	yamt-pagecache-base2:1.47
	yamt-pagecache:1.47.0.24
	yamt-pagecache-base:1.47
	bouyer-quota2-nbase:1.47
	bouyer-quota2:1.47.0.22
	bouyer-quota2-base:1.47
	matt-nb5-pq3:1.47.0.20
	matt-nb5-pq3-base:1.47
	netbsd-5-1:1.47.0.18
	netbsd-5-1-RELEASE:1.47
	netbsd-5-1-RC4:1.47
	netbsd-5-1-RC3:1.47
	netbsd-5-1-RC2:1.47
	netbsd-5-1-RC1:1.47
	netbsd-5-0-2-RELEASE:1.47
	netbsd-5-0-1-RELEASE:1.47
	jym-xensuspend-nbase:1.47
	netbsd-5-0:1.47.0.16
	netbsd-5-0-RELEASE:1.47
	netbsd-5-0-RC4:1.47
	netbsd-5-0-RC3:1.47
	netbsd-5-0-RC2:1.47
	jym-xensuspend:1.47.0.14
	jym-xensuspend-base:1.47
	netbsd-5-0-RC1:1.47
	netbsd-5:1.47.0.12
	netbsd-5-base:1.47
	mjf-devfs2:1.47.0.10
	mjf-devfs2-base:1.47
	yamt-pf42-base4:1.47
	yamt-pf42-base3:1.47
	hpcarm-cleanup-nbase:1.47
	yamt-pf42-base2:1.47
	yamt-pf42:1.47.0.8
	yamt-pf42-base:1.47
	keiichi-mipv6:1.47.0.6
	keiichi-mipv6-base:1.47
	cube-autoconf:1.47.0.4
	cube-autoconf-base:1.47
	hpcarm-cleanup:1.47.0.2
	hpcarm-cleanup-base:1.47
	netbsd-3-1-1-RELEASE:1.46
	netbsd-3-0-3-RELEASE:1.46
	netbsd-3-1:1.46.0.12
	netbsd-3-1-RELEASE:1.46
	netbsd-3-0-2-RELEASE:1.46
	netbsd-3-1-RC4:1.46
	netbsd-3-1-RC3:1.46
	netbsd-3-1-RC2:1.46
	netbsd-3-1-RC1:1.46
	netbsd-3-0-1-RELEASE:1.46
	netbsd-3-0:1.46.0.10
	netbsd-3-0-RELEASE:1.46
	netbsd-3-0-RC6:1.46
	netbsd-3-0-RC5:1.46
	netbsd-3-0-RC4:1.46
	netbsd-3-0-RC3:1.46
	netbsd-3-0-RC2:1.46
	netbsd-3-0-RC1:1.46
	netbsd-2-0-3-RELEASE:1.46
	netbsd-2-1:1.46.0.8
	netbsd-2-1-RELEASE:1.46
	netbsd-2-1-RC6:1.46
	netbsd-2-1-RC5:1.46
	netbsd-2-1-RC4:1.46
	netbsd-2-1-RC3:1.46
	netbsd-2-1-RC2:1.46
	netbsd-2-1-RC1:1.46
	netbsd-2-0-2-RELEASE:1.46
	netbsd-3:1.46.0.6
	netbsd-3-base:1.46
	netbsd-2-0-1-RELEASE:1.46
	netbsd-2:1.46.0.4
	netbsd-2-base:1.46
	netbsd-2-0-RELEASE:1.46
	netbsd-2-0-RC5:1.46
	netbsd-2-0-RC4:1.46
	netbsd-2-0-RC3:1.46
	netbsd-2-0-RC2:1.46
	netbsd-2-0-RC1:1.46
	netbsd-2-0:1.46.0.2
	netbsd-2-0-base:1.46
	netbsd-1-6-PATCH002-RELEASE:1.41
	netbsd-1-6-PATCH002:1.41
	netbsd-1-6-PATCH002-RC4:1.41
	netbsd-1-6-PATCH002-RC3:1.41
	netbsd-1-6-PATCH002-RC2:1.41
	netbsd-1-6-PATCH002-RC1:1.41
	netbsd-1-6-PATCH001:1.41
	netbsd-1-6-PATCH001-RELEASE:1.41
	netbsd-1-6-PATCH001-RC3:1.41
	netbsd-1-6-PATCH001-RC2:1.41
	netbsd-1-6-PATCH001-RC1:1.41
	fvdl_fs64_base:1.44
	netbsd-1-6-RELEASE:1.41
	netbsd-1-6-RC3:1.41
	netbsd-1-6-RC2:1.41
	netbsd-1-6-RC1:1.41
	netbsd-1-6:1.41.0.2
	netbsd-1-6-base:1.41
	netbsd-1-5-PATCH003:1.10.2.2
	netbsd-1-5-PATCH002:1.10.2.1
	netbsd-1-5-PATCH001:1.10.2.1
	netbsd-1-5-RELEASE:1.10.2.1
	netbsd-1-5-BETA2:1.10.2.1
	netbsd-1-5-BETA:1.10.2.1
	netbsd-1-4-PATCH003:1.8
	netbsd-1-5-ALPHA2:1.10
	netbsd-1-5:1.10.0.2
	netbsd-1-5-base:1.10
	netbsd-1-4-PATCH002:1.8
	wrstuden-devbsize-19991221:1.9
	wrstuden-devbsize:1.8.0.4
	wrstuden-devbsize-base:1.9
	comdex-fall-1999:1.9.0.2
	comdex-fall-1999-base:1.9
	netbsd-1-4-PATCH001:1.8
	netbsd-1-4-RELEASE:1.8
	netbsd-1-4:1.8.0.2
	netbsd-1-4-base:1.8;
locks; strict;
comment	@# @;


1.47
date	2006.06.02.22.16.19;	author mrg;	state dead;
branches;
next	1.46;

1.46
date	2003.10.28.07.38.57;	author lukem;	state Exp;
branches;
next	1.45;

1.45
date	2003.06.01.02.09.31;	author thorpej;	state Exp;
branches;
next	1.44;

1.44
date	2002.09.17.23.18.33;	author thorpej;	state Exp;
branches;
next	1.43;

1.43
date	2002.08.19.15.01.35;	author lukem;	state Exp;
branches;
next	1.42;

1.42
date	2002.08.19.09.46.40;	author lukem;	state Exp;
branches;
next	1.41;

1.41
date	2002.03.28.09.58.09;	author jmc;	state Exp;
branches;
next	1.40;

1.40
date	2002.03.26.23.10.58;	author fredette;	state Exp;
branches;
next	1.39;

1.39
date	2002.03.24.22.23.43;	author bjh21;	state Exp;
branches;
next	1.38;

1.38
date	2002.02.11.21.36.35;	author tv;	state Exp;
branches;
next	1.37;

1.37
date	2002.01.02.09.17.48;	author tron;	state Exp;
branches;
next	1.36;

1.36
date	2001.12.14.16.55.14;	author thorpej;	state Exp;
branches;
next	1.35;

1.35
date	2001.12.12.17.27.50;	author thorpej;	state Exp;
branches;
next	1.34;

1.34
date	2001.12.12.09.30.55;	author lukem;	state Exp;
branches;
next	1.33;

1.33
date	2001.12.12.08.58.45;	author lukem;	state Exp;
branches;
next	1.32;

1.32
date	2001.12.12.01.48.58;	author tv;	state Exp;
branches;
next	1.31;

1.31
date	2001.12.11.23.43.04;	author thorpej;	state Exp;
branches;
next	1.30;

1.30
date	2001.12.02.12.23.52;	author jmc;	state Exp;
branches;
next	1.29;

1.29
date	2001.12.02.03.06.55;	author jmc;	state Exp;
branches;
next	1.28;

1.28
date	2001.11.28.14.29.13;	author tv;	state Exp;
branches;
next	1.27;

1.27
date	2001.11.28.04.39.55;	author tv;	state Exp;
branches;
next	1.26;

1.26
date	2001.10.31.16.27.32;	author tv;	state Exp;
branches;
next	1.25;

1.25
date	2001.08.09.16.10.56;	author mrg;	state Exp;
branches;
next	1.24;

1.24
date	2001.07.26.11.28.21;	author mrg;	state Exp;
branches;
next	1.23;

1.23
date	2001.07.19.22.13.23;	author matt;	state Exp;
branches;
next	1.22;

1.22
date	2001.07.19.18.06.19;	author matt;	state Exp;
branches;
next	1.21;

1.21
date	2001.07.19.12.51.05;	author tv;	state Exp;
branches;
next	1.20;

1.20
date	2001.07.19.06.14.27;	author mrg;	state Exp;
branches;
next	1.19;

1.19
date	2001.07.18.20.20.01;	author tv;	state Exp;
branches;
next	1.18;

1.18
date	2001.07.18.18.29.02;	author tv;	state Exp;
branches;
next	1.17;

1.17
date	2001.07.13.19.54.28;	author matt;	state Exp;
branches;
next	1.16;

1.16
date	2001.01.08.08.29.59;	author itojun;	state Exp;
branches;
next	1.15;

1.15
date	2001.01.04.09.17.42;	author itojun;	state Exp;
branches;
next	1.14;

1.14
date	2001.01.04.09.10.25;	author itojun;	state Exp;
branches;
next	1.13;

1.13
date	2000.11.20.05.47.41;	author matt;	state Exp;
branches;
next	1.12;

1.12
date	2000.08.21.14.05.25;	author msaitoh;	state Exp;
branches;
next	1.11;

1.11
date	2000.08.17.00.28.07;	author msaitoh;	state Exp;
branches;
next	1.10;

1.10
date	2000.03.05.05.41.04;	author shin;	state Exp;
branches
	1.10.2.1;
next	1.9;

1.9
date	99.09.29.13.19.14;	author takemura;	state Exp;
branches;
next	1.8;

1.8
date	99.02.24.17.18.26;	author drochner;	state Exp;
branches
	1.8.4.1;
next	1.7;

1.7
date	99.02.13.02.54.23;	author lukem;	state Exp;
branches;
next	1.6;

1.6
date	98.11.23.09.29.56;	author mrg;	state Exp;
branches;
next	1.5;

1.5
date	98.11.23.09.22.22;	author mrg;	state Exp;
branches;
next	1.4;

1.4
date	98.09.27.18.48.10;	author christos;	state Exp;
branches;
next	1.3;

1.3
date	98.09.27.18.05.10;	author christos;	state Exp;
branches;
next	1.2;

1.2
date	98.08.28.19.05.54;	author tv;	state Exp;
branches;
next	1.1;

1.1
date	98.08.17.17.06.59;	author tv;	state Exp;
branches;
next	;

1.10.2.1
date	2000.08.21.18.12.43;	author msaitoh;	state Exp;
branches;
next	1.10.2.2;

1.10.2.2
date	2002.03.27.09.57.36;	author he;	state Exp;
branches;
next	;

1.8.4.1
date	99.12.27.18.29.14;	author wrstuden;	state Exp;
branches;
next	;


desc
@@


1.47
log
@remove support for building (with) GCC 2.95.  also:
- always install <stdbool.h>
- don't generate a fake one for vax / gettext.
@
text
@#	$NetBSD: Makefile,v 1.46 2003/10/28 07:38:57 lukem Exp $

REQUIRETOOLS=	yes
NOLINT=		# defined

.include <bsd.own.mk>

LIB=		gcc

.if exists(${.CURDIR}/${MACHINE_ARCH}.mk) && ${MKGCC} != "no"
.include "${.CURDIR}/${MACHINE_ARCH}.mk"

DIST=		${NETBSDSRCDIR}/gnu/dist/toolchain
GNUHOSTDIST=	${DIST}
GCCARCH=	${NETBSDSRCDIR}/gnu/usr.bin/gcc/arch/${MACHINE_ARCH}

GCPPFLAGS=	${G_LIBGCC2_CFLAGS} ${G_MAYBE_USE_COLLECT2} ${G_INCLUDES}
CPPFLAGS+=	-I${.CURDIR}
CPPFLAGS+=	-I${GCCARCH} ${GCPPFLAGS:M-D*} ${GCPPFLAGS:M-I*:N-I.*} \
		-I${DIST}/gcc/cp

LIB2FUNCS=	${G_LIB2FUNCS:=.c}
.if defined(G_LIB2FUNCS_EH)
LIB2FUNCS_EH=	${G_LIB2FUNCS_EH:=.c}
.endif
CXX_LIB2FUNCS=	${G_CXX_LIB2FUNCS:Mop*:S/opdel.o/opdelete.o/:.o=.cc}

SRCS+=		${LIB2FUNCS} ${LIB2FUNCS_EH} ${CXX_LIB2FUNCS} \
		${G_CXX_LIB2FUNCS:Nop*:.o=.cc} ${G_LIB2ADD:M*.c:T}
OBJS+=		${G_LIB2FUNCS_EH:=.o}

# XXX fp-bit.c should be removed from this list after some grace period.
CLEANFILES+=	${LIB2FUNCS} ${CXX_LIB2FUNCS} dp-bit.c _eh.c fp-bit.c

${LIB2FUNCS}: ${.CURDIR}/Makefile
	printf '#define L${.PREFIX}\n#include <libgcc2.c>\n' >${.TARGET}

.if defined(G_LIB2FUNCS_EH)
${LIB2FUNCS_EH}: ${.CURDIR}/Makefile
	printf '#define L${.PREFIX}\n#include <libgcc2.c>\n' >${.TARGET}

${G_LIB2FUNCS_EH:=.o}:
	${COMPILE.c} -fexceptions -o ${.TARGET} ${.IMPSRC}

${G_LIB2FUNCS_EH:=.po}:
	${COMPILE.c} -pg -fexceptions -o ${.TARGET} ${.IMPSRC}

${G_LIB2FUNCS_EH:=.so}:
	${COMPILE.c} ${CPICFLAGS} -fexceptions -o ${.TARGET} ${.IMPSRC}
.endif	# G_LIB2FUNCS_EH

${CXX_LIB2FUNCS}: ${.CURDIR}/Makefile
	printf '#define L_op_${.PREFIX:S/^op//}\n#include <new1.cc>\n#include <new2.cc>\n' >${.TARGET}

dp-bit.c: ${.CURDIR}/Makefile
	printf '#define FLOAT\n#include <fp-bit.c>\n' >${.TARGET}

INCS=		exception new new.h typeinfo
INCSDIR=	/usr/include/g++

.PATH: ${DIST}/gcc ${DIST}/gcc/cp ${DIST}/gcc/cp/inc ${DIST}/gcc/config \
	${G_CONFIGDIR}

.include <bsd.lib.mk>

${OBJS} ${SOBJS} ${POBJS}: ${.CURDIR}/${MACHINE_ARCH}.mk
.else
.include <bsd.prog.mk> # do nothing
.endif

.cc: # disable .cc->NULL transform
@


1.46
log
@Move the rule to disable .cc -> NULL transforms, so it works again.
Fixes "includes" when exception.cc is newer than inc/exception.
Noted in private mail by Havard Eidnes.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.45 2003/06/01 02:09:31 thorpej Exp $
@


1.45
log
@* If MKGCC == no, don't build this library, which is bundled with the
  compiler.
* Set GNUHOSTDIST (transitional, for use with new mknative).
* Add -I${.CURDIR} to CPPFLAGS (to support a future change).
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.44 2002/09/17 23:18:33 thorpej Exp $
a9 2
.cc: # disable .cc->NULL transform

d70 2
@


1.44
log
@* Eliminate the USE_NEW_TOOLCHAIN variable.  Instead, split it into
  two variables:

  TOOLCHAIN_MISSING -- set to "yes" on platforms for which there is
  no working in-tree toolchain (hppa, ns32k, sh5, x86_64).

  EXTERNAL_TOOLCHAIN -- if defined by the user, points to the root of
  an external toolchain (e.g. /usr/local/gnu).  This enables the cross-build
  framework even for TOOLCHAIN_MISSING platforms.

  If TOOLCHAIN_MISSING is set to "yes", MKGDB, MKBFD, and MKGCC are all
  unconditionally set to "no", since the bits are not there to build.

  If EXTERNAL_TOOLCHAIN is set, MKGCC is unconditionally set to "no",
  since the external toolchain's compiler is not in-sync with the
  in-tree compiler support components (e.g. libgcc).

* Set MACHINE_CPU much earlier in bsd.own.mk, so that more tests in
  that file can use it.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.43 2002/08/19 15:01:35 lukem Exp $
d12 1
a12 1
.if exists(${.CURDIR}/${MACHINE_ARCH}.mk)
d16 1
d20 1
@


1.43
log
@Explicitly move setting of NOxxx (et al) to the top of the Makefile
(before including <bsd.own.mk>)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.42 2002/08/19 09:46:40 lukem Exp $
a11 2
.if defined(USE_NEW_TOOLCHAIN)

a68 80
.endif

.else
#
# XXX - BEGIN - Old toolchain build goop - delete when everything migrated - XXX
#
HAVE_GCC28!=	${CXX} --version | egrep "^(2\.8|egcs)" ; echo

.if !empty(HAVE_GCC28)
MKPIC:=		no
MKPROFILE:=	no

DIST=		${NETBSDSRCDIR}/gnu/dist/gcc
ARCH=		${NETBSDSRCDIR}/gnu/usr.bin/egcs/arch

.if exists(${ARCH}/${MACHINE_ARCH})
ARCHSUBDIR= ${MACHINE_ARCH}
.elif exists(${ARCH}/${MACHINE_CPU})
ARCHSUBDIR= ${MACHINE_CPU}
.else
.BEGIN:
	@@echo no egcs/arch/${MACHINE_ARCH} nor egcs/arch/${MACHINE_CPU} exists
	@@false
.endif

CPPFLAGS+=	-I${ARCH}/${ARCHSUBDIR} -I${ARCH} \
		-I${DIST}/config -I${DIST}/cp -I${DIST}

LIB2OBJS=	__gcc_bcmp.o _varargs.o __dummy.o _eprintf.o _bb.o _shtab.o \
		_clear_cache.o _trampoline.o __main.o _exit.o _ctors.o \
		_pure.o
.if (${MACHINE_ARCH} == "m68k") || (${MACHINE_ARCH} == "i386") || \
    (${MACHINE_ARCH} == "sparc64")
LIB2OBJS+=	_fixxfdi.o _fixunsxfdi.o _floatdixf.o _fixunsxfsi.o
.endif
.if (${MACHINE_ARCH} == "vax")
LIB2OBJS+=	_udiv_w_sdiv.o
.endif
.if (${MACHINE_ARCH} == "sh3eb") || (${MACHINE_ARCH} == "sh3el") || \
    (${MACHINE_ARCH} == "arm")
LIB2OBJS+=	_fixunsdfsi.o _fixunssfsi.o
.endif
OBJS+=		${LIB2OBJS}

# Extra code to include in libgcc2 for C++ support.
SRCS+=		tinfo.cc tinfo2.cc new.cc exception.cc frame.c
OBJS+=		${NEW1OBJS} ${NEW2OBJS}
CXXFLAGS+=	-I${DIST}/cp/inc
LIB2OBJS+=	_eh.o
NEW1OBJS=	_op_new.o _op_newnt.o
NEW2OBJS=	_op_vnew.o _op_vnewnt.o _op_delete.o _op_delnt.o \
		_op_vdel.o _op_vdelnt.o

INCS=		exception new new.h typeinfo
INCSDIR=	/usr/include/g++

${NEW1OBJS}: new1.cc
	${COMPILE.cc} -DL$* -o $@@ $>
${NEW2OBJS}: new2.cc
	${COMPILE.cc} -DL$* -o $@@ $>

${LIB2OBJS}: libgcc2.c
	${COMPILE.c} -DL$* -o $@@ $>

afterinstall:
	@@if [ ! -f _eh.o ]; then\
		echo '***** You should rebuild and reinstall libgcc.a using the new egcs'; \
		echo '***** compiler in order to include all the necessary C++ support.'; \
	fi

.PATH:		${DIST} ${DIST}/cp ${DIST}/cp/inc

.include <bsd.lib.mk>
.else
# Do nothing. (PROG undefined)
.include <bsd.prog.mk>
.endif
#
# XXX - END - Old toolchain build goop - delete when everything migrated - XXX
#
@


1.42
log
@Use ${NETBSDSRCDIR}/some/path instead of ${.CURDIR}/../../../some/path (etc).
(Reduces make output by ~ 20%)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.41 2002/03/28 09:58:09 jmc Exp $
a3 2

LIB=		gcc
d7 2
@


1.41
log
@Remove check for sparc64 which adds -msoft-quad-float as that is now the
default for the compiler on sparc64.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.40 2002/03/26 23:10:58 fredette Exp $
d17 2
a18 3
TOP=		${.CURDIR}/../..
DIST=		${TOP}/dist/toolchain
GCCARCH=	${TOP}/usr.bin/gcc/arch/${MACHINE_ARCH}
d83 2
a84 2
DIST=		${.CURDIR}/../../dist/gcc
ARCH=		${.CURDIR}/../../usr.bin/egcs/arch
@


1.40
log
@Added ${G_CONFIGDIR} to .PATH.  This is needed on m68000 so that
libgcc1 gets built.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.39 2002/03/24 22:23:43 bjh21 Exp $
a23 4

.if (${MACHINE_ARCH} == "sparc64")
CFLAGS+=        -msoft-quad-float
.endif
@


1.39
log
@MACHINE_ARCH can't be "arm26" any more.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.38 2002/02/11 21:36:35 tv Exp $
d68 2
a69 1
.PATH: ${DIST}/gcc ${DIST}/gcc/cp ${DIST}/gcc/cp/inc ${DIST}/gcc/config
@


1.38
log
@Skip building anything if the target's .mk files are missing.  (Allows the
toolchain to be built in segments, or not at all if the in-tree toolchain
is inappropriate for the target.)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.37 2002/01/02 09:17:48 tron Exp $
d114 1
a114 1
    (${MACHINE_ARCH} == "arm26") || (${MACHINE_ARCH} == "arm")
@


1.37
log
@Add "_eh.c" to list of files which are supposed to get cleaned.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.36 2001/12/14 16:55:14 thorpej Exp $
d14 1
d73 3
@


1.36
log
@Kludge to make old toolchain builds work again after the NOxxx changes.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.35 2001/12/12 17:27:50 thorpej Exp $
d39 1
a39 1
CLEANFILES+=	${LIB2FUNCS} ${CXX_LIB2FUNCS} dp-bit.c fp-bit.c
@


1.35
log
@Make LIB2FUNCS_EH work like the rest of LIB2FUNCS, and clean
up the special rules required to build those objects.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.34 2001/12/12 09:30:55 lukem Exp $
d80 2
a81 2
NOPIC=		# defined
NOPROFILE=	# defined
@


1.34
log
@we need a .c file to build _eh.{o,so,po} from, so add libgcc2.c back
in as a source for the rules.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.33 2001/12/12 08:58:45 lukem Exp $
d29 3
d34 1
a34 1
SRCS+=		${LIB2FUNCS} ${CXX_LIB2FUNCS} \
d44 6
a49 2
${G_LIB2FUNCS_EH:=.o}: libgcc2.c
	${COMPILE.c} -fexceptions -o $@@ ${>:M*.c}
d51 2
a52 2
${G_LIB2FUNCS_EH:=.po}: libgcc2.c
	${COMPILE.c} -pg -fexceptions -o $@@ ${>:M*.c}
d54 3
a56 2
${G_LIB2FUNCS_EH:=.so}: libgcc2.c
	${COMPILE.c} ${CPICFLAGS} -fexceptions -o $@@ ${>:M*.c}
@


1.33
log
@pull in <bsd.own.mk> after NOLINT is defined, so that MKLINT=no is
correctly determined
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.32 2001/12/12 01:48:58 tv Exp $
d41 1
a41 1
${G_LIB2FUNCS_EH:=.o}:
d44 1
a44 1
${G_LIB2FUNCS_EH:=.po}:
d47 1
a47 1
${G_LIB2FUNCS_EH:=.so}:
@


1.32
log
@MKfoo=no -> NOfoo
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.31 2001/12/11 23:43:04 thorpej Exp $
a4 2
.include <bsd.own.mk>

d7 2
@


1.31
log
@Fix building of _eh.o and friends.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.30 2001/12/02 12:23:52 jmc Exp $
d8 1
a8 1
MKLINT=		no
d72 2
a73 2
MKPIC=		no
MKPROFILE=	no
@


1.30
log
@While gcc may automatically add -fexecptions to c++ code it will only do that
for files named .cc or .C. _eh gets generated into a .c file so we need
explicit rules for it's targets (.o .po and .so) to compile it correctly.

Without this exceptions just plain don't work. Nothing ever gets caught.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.29 2001/12/02 03:06:55 jmc Exp $
d41 2
a42 2
${G_LIB2FUNCS_EH:=.o}: libgcc2.c
	${COMPILE.c} -fexceptions -DL$* -o $@@ ${>:M*.c}
d44 2
a45 2
${G_LIB2FUNCS_EH:=.po}: libgcc2.c
	${COMPILE.c} -pg -fexceptions -DL$* -o $@@ ${>:M*.c}
d47 2
a48 2
${G_LIB2FUNCS_EH:=.so}: libgcc2.c
	${COMPILE.c} ${CPICFLAGS} -fexceptions -DL$* -o $@@ ${>:M*.c}
@


1.29
log
@Need -msoft-quad-float on sparc64 as double->int promote to quad math.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.28 2001/11/28 14:29:13 tv Exp $
d28 1
a28 1
LIB2FUNCS=	${G_LIB2FUNCS:=.c} ${G_LIB2FUNCS_EH:=.c}
d33 1
d40 9
@


1.28
log
@Make the .cc->NULL transform do nothing (so that "exception.cc" doesn't
get compiled into "exception" during "make includes").
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.27 2001/11/28 04:39:55 tv Exp $
d23 4
@


1.27
log
@PIC me!  PIC me!  (libgcc_pic.a)
...And while we're at it, add a profiled libgcc too.

Use the "generate .c files and let <bsd.lib.mk> sort it out" method
for compiling these libraries.  Only one real divergence (-fexceptions)
existed, but exceptions are turned on for C++ code by default in gcc
2.95.3, so this option was redundant anyway.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.26 2001/10/31 16:27:32 tv Exp $
d10 2
a103 3

.cc:
	@@true
@


1.26
log
@Add REQUIRETOOLS to make version-specific new toolchain compiler libs fail
to build if USETOOLS is set to "no" by the builder.  (Sanity check; as an
override, USETOOLS may be set to "never", but see warnings in BUILDING.)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.25 2001/08/09 16:10:56 mrg Exp $
a8 1
MKPROFILE=	no
a13 2
MKPIC=no	# XXX to be fixed

a16 4
GCCCPINC=	${DIST}/gcc/cp/inc

G_CXXSRCS=	${G_CXX_LIB2SRCS:N*/new?.cc:M*/*.cc}
G_CSRCS=	${G_LIB2ADD:M*.c*}
d19 2
a20 7
CPPFLAGS+=	-I${GCCARCH} -I${GCCCPINC} ${GCPPFLAGS:M-D*} \
		${GCPPFLAGS:M-I*:N-I.*}

INCS=		exception new new.h typeinfo
INCSDIR=	/usr/include/g++

.PATH: ${DIST}/gcc
d22 2
a23 3
OBJS+=		${G_LIB2FUNCS:=.o} ${G_LIB2FUNCS_EH:=.o} \
		${G_CXX_LIB2FUNCS:Mop*} ${G_CXXSRCS:T:R:=.o} \
		${G_CSRCS:T:R:=.o}
d25 2
a26 1
CLEANFILES+=	fp-bit.c dp-bit.c
d28 2
a29 2
${G_LIB2FUNCS:=.o}: libgcc2.c
	${COMPILE.c} -DL$* -o $@@ ${>:M*.c}
d31 2
a32 2
${G_LIB2FUNCS_EH:=.o}: libgcc2.c
	${COMPILE.c} -fexceptions -DL$* -o $@@ ${>:M*.c}
d34 2
a35 4
.for f in new newnt
op${f}.o: ${G_CXX_LIB2SRCS:M*/new1.cc}
	${COMPILE.c} -DL_op_${f} -o $@@ ${>:M*.cc}
.endfor
d37 2
a38 24
.for f in vnew vnewnt delnt vdel vdelnt
op${f}.o: ${G_CXX_LIB2SRCS:M*/new2.cc}
	${COMPILE.c} -DL_op_${f} -o $@@ ${>:M*.cc}
.endfor

opdel.o: ${G_CXX_LIB2SRCS:M*/new2.cc}
	${COMPILE.c} -DL_op_delete -o $@@ ${>:M*.cc}

.for f in ${G_CXXSRCS:T:R}
${f}.o: ${G_CXX_LIB2SRCS:M*/${f}.cc}
	${COMPILE.c} -o $@@ ${>:M*.cc}
.endfor

.for f in ${G_CSRCS:T:R}
${f}.o: ${G_CXX_LIB2ADD:M*/${f}.c}
	${COMPILE.c} -o $@@ ${>:M*.c}
.endfor

fp-bit.c: ${DIST}/gcc/config/fp-bit.c
	cat $> > $@@

dp-bit.c: ${DIST}/gcc/config/fp-bit.c
	echo '#define FLOAT' > $@@
	cat $> >> $@@
d43 1
a43 1
.PATH: ${DIST}/gcc/cp/inc
d47 1
a47 1
${OBJS}: ${.CURDIR}/${MACHINE_ARCH}.mk
d57 1
@


1.25
log
@install the C++ headers with the new toolchain.
@
text
@d1 3
a3 1
#	$NetBSD: Makefile,v 1.24 2001/07/26 11:28:21 mrg Exp $
@


1.24
log
@install the C++ libgcc headers (exception, new, new.h & typeinfo.)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.23 2001/07/19 22:13:23 matt Exp $
d26 3
@


1.23
log
@powerpc support for 2.95.3
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.22 2001/07/19 18:06:19 matt Exp $
d70 5
@


1.22
log
@Rework Makefile (perhaps not optimally) to keep all ojbects in ${.OBJDIR}.
Due to SRCS containing directories, the objects went in those same
directories.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.21 2001/07/19 12:51:05 tv Exp $
d33 2
d63 7
@


1.21
log
@Another missing ${.CURDIR}.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.20 2001/07/19 06:14:27 mrg Exp $
d18 1
d20 2
a21 1
SRCS=		${G_LIB2ADD:M*.c*} ${G_CXX_LIB2SRCS:N*/new?.cc}
d24 2
a25 1
CPPFLAGS+=	-I${GCCARCH} ${GCPPFLAGS:M-D*} ${GCPPFLAGS:M-I*:N-I.*}
d29 3
a31 1
OBJS+=		${G_LIB2FUNCS:=.o} ${G_LIB2FUNCS_EH:=.o} ${G_CXX_LIB2FUNCS:Mop*}
d51 10
@


1.20
log
@opdel.o needs to be built with -DL_op_delete, not -DL_op_del.  add a special
rule for this...
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.19 2001/07/18 20:20:01 tv Exp $
d11 1
a11 1
.include "${MACHINE_ARCH}.mk"
@


1.19
log
@Add a missing ${.CURDIR}.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.18 2001/07/18 18:29:02 tv Exp $
d39 1
a39 1
.for f in vnew vnewnt del delnt vdel vdelnt
d43 3
@


1.18
log
@Add build structure for the new gnu/dist/toolchain/gcc based libgcc, preserving
old structure for now in an .if based on USE_NEW_TOOLCHAIN.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.17 2001/07/13 19:54:28 matt Exp $
d46 1
a46 1
${OBJS}: ${MACHINE_ARCH}.mk
@


1.17
log
@Compile fixu* for MACHINE_ARCH of arm
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.16 2001/01/08 08:29:59 itojun Exp $
a4 2
HAVE_GCC28!=	${CXX} --version | egrep "^(2\.8|egcs)" ; echo

d8 47
d56 1
a89 1
.if !empty(HAVE_GCC28)
a107 1
.endif
d121 8
@


1.16
log
@use MACIHNE_CPU to determine architecture-dependent source code directory.
is use of exists(foo) safe enough?
TODO: many other places to fix
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.15 2001/01/04 09:17:42 itojun Exp $
d37 2
a38 1
.if (${MACHINE_ARCH} == "sh3eb") || (${MACHINE_ARCH} == "sh3el") || (${MACHINE_ARCH} == "arm26")
@


1.15
log
@sh3 split
@
text
@d1 3
a3 1
#	$NetBSD: Makefile,v 1.14 2001/01/04 09:10:25 itojun Exp $
d14 4
a17 4
.if (${MACHINE_ARCH} == "mipsel") || (${MACHINE_ARCH} == "mipseb")
ARCHSUBDIR= mips
.elif (${MACHINE_ARCH} == "sh3el") || (${MACHINE_ARCH} == "sh3eb")
ARCHSUBDIR= sh3
d19 3
a21 1
ARCHSUBDIR= ${MACHINE_ARCH}
@


1.14
log
@sh3 split
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.13 2000/11/20 05:47:41 matt Exp $
d14 2
@


1.13
log
@Add __udiv_w_sdiv for VAX.  gnupg requires it.  And since it's a libgcc
function it makes sense to put it in libgcc.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.12 2000/08/21 14:05:25 msaitoh Exp $
d31 1
a31 1
.if (${MACHINE_ARCH} == "sh3") || (${MACHINE_ARCH} == "arm26")
@


1.12
log
@fix one of the two fixunsdfsi with fixunssfsi
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.11 2000/08/17 00:28:07 msaitoh Exp $
d27 3
@


1.11
log
@add _fixunsdfsi.o and _fixunsdfsi.o when MACHINE_ARCH= sh3 or arm26
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.10 2000/03/05 05:41:04 shin Exp $
d29 1
a29 1
LIB2OBJS+=	_fixunsdfsi.o _fixunsdfsi.o
@


1.10
log
@remove MIPS SOFTFLOAT.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.9 1999/09/29 13:19:14 takemura Exp $
d27 3
@


1.10.2.1
log
@Pullup revision 1.11-1.12 (approved by thorpej):

 add _fixunsdfsi and _fixunssfsi (sh3 and arm26)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.12 2000/08/21 14:05:25 msaitoh Exp $
a26 3
.endif
.if (${MACHINE_ARCH} == "sh3") || (${MACHINE_ARCH} == "arm26")
LIB2OBJS+=	_fixunsdfsi.o _fixunssfsi.o
@


1.10.2.2
log
@Pull up revision 1.13 (requested by wiz):
  Add __udiv_w_sdiv for VAX, required for gnupg.  Fixes PR#14987.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.10.2.1 2000/08/21 18:12:43 msaitoh Exp $
a26 3
.endif
.if (${MACHINE_ARCH} == "vax")
LIB2OBJS+=	_udiv_w_sdiv.o
@


1.9
log
@Hpcmips needs completely FPU instruction free user land.
XXX, this modification is kinda ad-hoc.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.8 1999/02/24 17:18:26 drochner Exp $
a19 4

.if (${MACHINE} == "hpcmips") # XXX
CPPFLAGS+=-D${MACHINE}
.endif
@


1.8
log
@make this build after mips->mipse? transition
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.7 1999/02/13 02:54:23 lukem Exp $
d20 4
@


1.8.4.1
log
@Pull up to last week's -current.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.9 1999/09/29 13:19:14 takemura Exp $
a19 4

.if (${MACHINE} == "hpcmips") # XXX
CPPFLAGS+=-D${MACHINE}
.endif
@


1.7
log
@convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.6 1998/11/23 09:29:56 mrg Exp $
d12 7
a18 1
CPPFLAGS+=	-I${ARCH}/${MACHINE_ARCH} -I${ARCH} \
@


1.6
log
@fix style nit in previous.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.5 1998/11/23 09:22:22 mrg Exp $
d6 3
a8 3
NOLINT=		nolint (gcc private fns library)
NOPROFILE=
NOPIC=
@


1.5
log
@need the extra objs on sparc64 (at least, that is what a cross compiler did for libgcc)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.4 1998/09/27 18:48:10 christos Exp $
d18 2
a19 2
.if (${MACHINE_ARCH} == "m68k") || (${MACHINE_ARCH} == "i386" || \
     ${MACHINE_ARCH} == "sparc64")
@


1.4
log
@Fix reversed test
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.3 1998/09/27 18:05:10 christos Exp $
d18 2
a19 1
.if (${MACHINE_ARCH} == "m68k") || (${MACHINE_ARCH} == "i386")
@


1.3
log
@Make this work as intended (when we don't have egcs or gcc-2.8x then
include the c++ builtin crap). Although libgcc2.c does not compile
properly with the old compiler so this does not work.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.2 1998/08/28 19:05:54 tv Exp $
d24 1
a24 1
.if empty(HAVE_GCC28)
@


1.2
log
@Move some things from SRCS to OBJS so as not to build them at depend time.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.1 1998/08/17 17:06:59 tv Exp $
d3 1
a3 1
HAVE_GCC28!=	${CXX} --version | egrep "^(2\.8|egcs)" ; echo 
d24 1
a24 1
.if (${HAVE_GCC28} != "")
@


1.1
log
@Add libgcc from gnu/dist/gcc (egcs 1.1 snapshot).
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.13 1998/05/06 18:14:06 mycroft Exp $
d21 1
a21 1
SRCS=		${LIB2OBJS}
d25 2
a26 2
SRCS+=		tinfo.cc tinfo2.cc new.cc exception.cc frame.c \
		${NEW1OBJS} ${NEW2OBJS}
@
