Sat May 14 20:19:47 2011 UTC ()
Initial import of gcc45-4.5.2 from pkgsrc-wip.
Packaged by Marko Sch端tz, improved by Kai-Uwe Eckhardt.

This is the gcc 4.5 compiler suite.

This package has a test target. For testing (only), this
package requires devel/dejagnu and devel/autogen.

Status:

Vendor Tag:	TNF
Release Tags:	pkgsrc-20110514


(wiz)
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/MESSAGE
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/DESCR
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/Makefile
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/buildlink3.mk
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/distinfo
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/options.mk
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/preconfigure.mk
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/files/dragonfly-spec.h
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/files/dragonfly.h
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/files/hello.f
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/files/hello.m
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/files/i386-dragonfly.h
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/files/i386-dragonfly64.h
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/patches/patch-aa
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/patches/patch-ab
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/patches/patch-ad
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/patches/patch-ak
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/patches/patch-af
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/patches/patch-ag
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/patches/patch-ah
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/patches/patch-ai
diff -r0 -r1.1.1.1 pkgsrc/lang/gcc45/patches/patch-aj

File Added: pkgsrc/lang/gcc45/Attic/MESSAGE
===========================================================================
$NetBSD: MESSAGE,v 1.1.1.1 2011/05/14 20:19:46 wiz Exp $

${PKGNAME} has been installed in ${LOCALBASE}/gcc45

To use this compiler in pkgsrc:

   1) In your "pre-configure" target:

   .include "../../lang/gcc45/preconfigure.mk"

   2) .include "../../lang/gcc45/buildlink3.mk"

The "preconfigure.mk" makefile fragment will override the compiler tools
selected by ../../mk/compiler.mk to use gcc version 4.5.x.

===========================================================================

File Added: pkgsrc/lang/gcc45/Attic/DESCR
This is the gcc 4.5 compiler suite.

This package has a test target. For testing (only), this
package requires devel/dejagnu and devel/autogen.

File Added: pkgsrc/lang/gcc45/Attic/Makefile
# $NetBSD: Makefile,v 1.1.1.1 2011/05/14 20:19:46 wiz Exp $

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

MAINTAINER=		MarkoSchuetz@web.de
HOMEPAGE=		http://gcc.gnu.org/
COMMENT=		GNU Compiler Collection 4.5
LICENSE=		gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3

PKG_DESTDIR_SUPPORT=	user-destdir

USE_TOOLS+=		awk:run bash:run perl chmod \
			gmake:run makeinfo msgfmt bison flex gm4 \
			sed:run unzip

DEPENDS+=		zip-[0-9]*:../../archivers/zip

GCC_VERSION=		4.5.2

GCC_SUBPREFIX=		gcc45
GCC_PREFIX=		${PREFIX}/${GCC_SUBPREFIX}
FILES_SUBST+=		PKGNAME=${PKGNAME}
MESSAGE_SUBST+=		GCC_PREFIX=${GCC_PREFIX}


# To avoid GNU surprises
CONFIG_SHELL=		${TOOLS_PATH.bash}

NOT_FOR_PLATFORM=	Interix-*-*
UNLIMIT_RESOURCES+=	datasize
UNLIMIT_RESOURCES+=	stacksize

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

# Determine whether to use binutils

# REPLACE_AWK+=	gcc/testsuite/gcc.test-framework/test-framework.awk	\
# 		gcc/mkmap-symver.awk					\
# 		gcc/optc-gen.awk					\
# 		gcc/mkmap-flat.awk					\
# 		gcc/opt-gather.awk					\
# 		gcc/opth-gen.awk					\
# 		gcc/opt-functions.awk

REPLACE_BASH+= contrib/dg-cmp-results.sh
REPLACE_BASH+= contrib/reghunt/bin/gcc-svn-patchlist
REPLACE_BASH+= contrib/reghunt/bin/gcc-svn-update
REPLACE_BASH+= contrib/reghunt/bin/gcc-svn-update-fix
REPLACE_BASH+= contrib/reghunt/bin/reg-hunt
REPLACE_BASH+= contrib/reghunt/bin/reg-test
REPLACE_BASH+= contrib/reghunt/date_based/reg_periodic
REPLACE_BASH+= contrib/reghunt/date_based/reg_search
REPLACE_BASH+= gcc/dbgcnt.def
REPLACE_BASH+= gcc/testsuite/gcc.test-framework/gen_directive_tests
REPLACE_BASH+= libstdc++-v3/scripts/run_doxygen

# Optional languages - change as required
# Ada could be added although there is a bootstrapping issue.  See
# ../gcc34-ada for guidance
BUILD_DEFS+=		BUILD_CXX BUILD_FORTRAN BUILD_JAVA BUILD_OBJC
BUILD_CXX?=		YES
BUILD_FORTRAN?=		YES
BUILD_JAVA?=		NO
BUILD_OBJC?=		YES

LANGS= c

#.if !empty(BUILD_CXX:M[aA][dD][aA])
#LANGS+= ada
#.endif

.if !empty(BUILD_CXX:M[Yy][Ee][Ss])
LANGS+= c++
.endif

.if !empty(BUILD_FORTRAN:M[Yy][Ee][Ss])
LANGS+= fortran
.endif

.if !empty(BUILD_JAVA:M[Yy][Ee][Ss])
LANGS+= java
.endif

.if !empty(BUILD_OBJC:M[Yy][Ee][Ss])
LANGS+= objc
.endif


CONFIGURE_ARGS+=	--prefix=${GCC_PREFIX:Q}
CONFIGURE_ARGS+=	--enable-languages=${LANGS:Q}
CONFIGURE_ARGS+=	--with-system-zlib
CONFIGURE_ARGS+=	--enable-shared
CONFIGURE_ARGS+=	--enable-__cxa_atexit
CONFIGURE_ARGS+=	--enable-long-long
CONFIGURE_ARGS+=	--with-local-prefix=${GCC_PREFIX:Q}
CONFIGURE_ARGS+=	--enable-libssp
CONFIGURE_ARGS+=	--enable-threads=posix
CONFIGURE_ARGS+=	--with-gmp=${BUILDLINK_PREFIX.gmp}
CONFIGURE_ARGS+=	--with-mpfr=${BUILDLINK_PREFIX.mpfr}
.if !(${OPSYS} == "Linux")
CONFIGURE_ARGS+=	--with-ld=${PREFIX}/bin/gnu-ld
CONFIGURE_ARGS+=	--with-libelf=${PREFIX}
.endif

CONFIGURE_ENV+=		CONFIG_SHELL=${CONFIG_SHELL}

# ${WRKSRC}/gcc-4.4.1/libjava/contrib/aotcompile.py.in stores the path to
# a 'make' program so we need to make sure we give it the installed 'make' and not
# the tool wrapped one.
CONFIGURE_ENV+=		PKGSRC_MAKE=${TOOLS_PATH.gmake}
MAKE_ENV+=		PKGSRC_MAKE=${TOOLS_PATH.gmake}


# fastjar-0.93 from pkgsrc/archivers/fastjar seems to trigger a build
# failure (seen on NetBSD-5.0/i386) when building java.  So in case
# the fastjar package is installed, make sure the configure script
# doesn't pick it up.
CONFIGURE_ENV+=		JAR=no
MAKE_ENV+=		JAR=no
MAKE_ENV+=		ac_cv_prog_JAR=no

MAKE_ENV+=		ICONVPREFIX=${BUILDLINK_PREFIX.iconv}
MAKE_ENV+=		SHELL=${CONFIG_SHELL}
MAKE_ENV+=		ac_cv_path_ac_cv_prog_chmod=${TOOLS_CHMOD}

# ${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}

CPPFLAGS+=		-I${BUILDLINK_DIR}/include
CFLAGS+=		-I${BUILDLINK_DIR}/include


# Somone should fix this so it will match the NetBSD system compiler
#.if ${OPSYS} == "NetBSD"
#GCC_PLATFORM=	${LOWER_ARCH}--${LOWER_OPSYS}${APPEND_ELF}
#CONFIGURE_ARGS+=	--host=${GCC_PLATFORM:Q}
#MAKE_ENV+=		AR=/usr/bin/ar
#.endif # NetBSD

LIBS.SunOS+=		-lgmp

pre-configure:
.if ${OPSYS} == "DragonFly"
	${CP} ${FILESDIR}/dragonfly.h ${WRKSRC}/gcc/config/dragonfly.h
	${CP} ${FILESDIR}/dragonfly-spec.h ${WRKSRC}/gcc/config/dragonfly-spec.h
	${CP} ${FILESDIR}/i386-dragonfly.h ${WRKSRC}/gcc/config/i386/dragonfly.h
	${CP} ${FILESDIR}/i386-dragonfly64.h ${WRKSRC}/gcc/config/i386/dragonfly64.h
.endif

.if ${OPSYS} == "NetBSD"
	${CP} ${WRKSRC}/gcc/config/freebsd-stdint.h ${WRKSRC}/gcc/config/netbsd-stdint.h
.endif

do-configure:
	${MKDIR} ${WRKDIR}/obj
	cd ${WRKDIR}/obj; ${SETENV} ${CONFIGURE_ENV} ${CONFIG_SHELL} ${WRKSRC}/configure ${CONFIGURE_ARGS}

do-build:
	(${_ULIMIT_CMD} cd ${WRKDIR}/obj && ${SETENV} ${MAKE_ENV} ${GMAKE} -j${MAKE_JOBS:U1:Q} )

do-test:
#.if (${MACHINE_GNU_ARCH} == "x86_64")
#	(cd ${FILESDIR} && ${CP} netbsd64macro.dfs ${WRKSRC}/gcc/testsuite/ada/acats/support/macro.dfs)
#.endif
	(cd ${WRKDIR}/obj && ${GMAKE} -k check)

do-install:
	(cd ${WRKDIR}/obj && ${SETENV} ${MAKE_ENV} ${GMAKE} install DESTDIR=${DESTDIR} \
	 && ${TEST} -f ${DESTDIR}${GCC_PREFIX}/bin/cc || ${LN} -f ${DESTDIR}${GCC_PREFIX}/bin/gcc ${DESTDIR}${GCC_PREFIX}/bin/cc)

GENERATE_PLIST+=                                                        \
	cd ${DESTDIR}${PREFIX} && ${FIND} ${GCC_SUBPREFIX} \( -type f -o -type l \) -print \
	| ${SORT} ;

.include "../../devel/gmp/buildlink3.mk"
.include "../../math/mpcomplex/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../math/mpfr/buildlink3.mk"
.include "../../devel/binutils/buildlink3.mk"
.include "../../devel/libelf/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/lang/gcc45/Attic/buildlink3.mk
# $NetBSD: buildlink3.mk,v 1.1.1.1 2011/05/14 20:19:46 wiz Exp $

BUILDLINK_TREE+=	gcc45

.if !defined(GCC45_BUILDLINK3_MK)
GCC45_BUILDLINK3_MK:=

FIND_PREFIX:=	BUILDLINK_PREFIX.gcc45=gcc45
.include "../../mk/find-prefix.mk"

_GCC45_SUBDIR=	gcc45
_GCC45_PREFIX=	${BUILDLINK_PREFIX.gcc45}/${_GCC45_SUBDIR}

BUILDLINK_API_DEPENDS.gcc45+=	gcc45>=${_GCC_REQD}
BUILDLINK_ABI_DEPENDS.gcc45?=	gcc45>=4.5.0
BUILDLINK_PKGSRCDIR.gcc45?=	../../lang/gcc45

.if exists(${_GCC45_PREFIX}/bin/gcc)

# logic for detecting the ADA compiler (not yet supported)
#gcc45_GNAT1!=${_GCC45_PREFIX}/bin/gcc -print-prog-name=gnat1
#.  if exists(${gcc45_GNAT1})
#CONFIGURE_ENV+=	ADAC=${_GCC45_PREFIX}/bin/gcc
#MAKE_ENV+=	ADAC=${_GCC45_PREFIX}/bin/gcc
#.  endif

# add libraries
BUILDLINK_LIBDIRS.gcc45+=	${_GCC45_SUBDIR}/lib

# find the gcc architecture
gcc45_GCC_ARCHDIR!=	${DIRNAME} `${_GCC45_PREFIX}/bin/gcc --print-libgcc-file-name`

# add the architecture dep libraries
.  if empty(gcc45_GCC_ARCHDIR:M*not_found*)
BUILDLINK_LIBDIRS.gcc45+=	${gcc45_GCC_ARCHDIR:S/^${BUILDLINK_PREFIX.gcc45}\///}/

# add the ada libraries (not yet supported)
#.    if exists(${gcc45_GNAT1})
#BUILDLINK_LIBDIRS.gcc45+=	${gcc45_GCC_ARCHDIR:S/^${BUILDLINK_PREFIX.gcc45}\///}/adalib
#.    endif

# add the header files
BUILDLINK_INCDIRS.gcc45+=	${_GCC45_SUBDIR}/include ${gcc45_GCC_ARCHDIR:S/^${BUILDLINK_PREFIX.gcc45}\///}/include
.  endif
.endif

BUILDLINK_FILES_CMD.gcc45=	\
	(cd  ${BUILDLINK_PREFIX.gcc45} &&	\
	${FIND} ${_GCC45_SUBDIR}/bin ${_GCC45_SUBDIR}/libexec ${_GCC45_SUBDIR}/lib \( -type f -o -type l \) -print)
BUILDLINK_FNAME_TRANSFORM.gcc45=	-e s:buildlink:buildlink/gcc45:

# Packages that link against shared libraries need a full dependency.
.if defined(_USE_GCC_SHLIB)
BUILDLINK_DEPMETHOD.gcc45+=	full
.else
BUILDLINK_DEPMETHOD.gcc45?=	build
.endif

.include "../../mk/pthread.buildlink3.mk"
.include "../../devel/gettext-lib/buildlink3.mk"
.endif # GCC45_BUILDLINK3_MK

BUILDLINK_TREE+=	-gcc45

File Added: pkgsrc/lang/gcc45/Attic/distinfo
$NetBSD: distinfo,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $

SHA1 (gcc-4.5.2.tar.bz2) = ad5c440526c98fd17a74eab80c031af6b64d9c90
RMD160 (gcc-4.5.2.tar.bz2) = e1e9f590f5cf5f7029f1941328529a22919ee609
Size (gcc-4.5.2.tar.bz2) = 66328720 bytes
SHA1 (patch-aa) = c488dc25e038d97c737c8c72437660598d9e15d3
SHA1 (patch-ab) = 61bc2ebf150c6e471917e145d74e7795dc162194
SHA1 (patch-ad) = 55b5303b494dbef323bd59464c7c14863f81c6e3
SHA1 (patch-af) = 54fb9fb3438eb7c646b9d51b6b0cf3ded27d4989
SHA1 (patch-ag) = b58f8b82fcf17c60eb2700bc54d6625ca45e542b
SHA1 (patch-ah) = a963394b0434b82494b7510d4b2705f77acfb668
SHA1 (patch-ai) = af9eb0b2b8c0c41aa5dce367666c49f40aa3f1ba
SHA1 (patch-aj) = 7935c4c44b3942097129fdda2336de1ea0c83215
SHA1 (patch-ak) = 3d8a859ba436a4b204bb99f59cd5331d695aa811

File Added: pkgsrc/lang/gcc45/Attic/options.mk
# $NetBSD: options.mk,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $

PKG_OPTIONS_VAR=	PKG_OPTIONS.gcc45
PKG_SUPPORTED_OPTIONS=	nls
PKG_SUGGESTED_OPTIONS=
.if ${OPSYS} == "NetBSD"
PKG_SUGGESTED_OPTIONS+=	nls
.endif

.include "../../mk/bsd.options.mk"

###
### Native Language Support
###
.if !empty(PKG_OPTIONS:Mnls)
CONFIGURE_ARGS+=	--enable-nls
.include "../../converters/libiconv/buildlink3.mk"
.include "../../devel/gettext-lib/buildlink3.mk"
.else
CONFIGURE_ARGS+=	--disable-nls
.endif

File Added: pkgsrc/lang/gcc45/Attic/preconfigure.mk
# $NetBSD: preconfigure.mk,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $
	# Create compiler driver scripts in ${WRKDIR}.
	(${TEST} -d ${WRKDIR}/.gcc/bin || ${MKDIR} ${WRKDIR}/.gcc/bin)
	(cd ${BUILDLINK_PREFIX.gcc45}/bin && bin_files=`${LS} *` && \
	cd ${WRKDIR}/.gcc/bin && \
	for _target_ in $${bin_files} ; do \
		${ECHO} '#!${TOOLS_SHELL}' > $${_target_} && \
		${ECHO_N} "exec ${BUILDLINK_PREFIX.gcc45}/bin/$${_target_}" >> $${_target_} && \
		${ECHO} ' "$$@"' >> $${_target_} && \
		${CHMOD} +x $${_target_}; \
	done )

File Added: pkgsrc/lang/gcc45/files/Attic/dragonfly-spec.h
/* $DragonFly: src/gnu/usr.bin/cc41/cc_prep/config/dragonfly-spec.h,v 1.5 2008/07/24 21:45:10 corecode Exp $ */

/* Base configuration file for all DragonFly targets.
   Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING.  If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.  */

/* Common DragonFly configuration. 
   All DragonFly architectures should include this file, which will specify
   their commonalities.

   Adapted from gcc/config/freebsd-spec.h by
   Joerg Sonnenberger <joerg@bec.de>

   Adapted from gcc/config/freebsd.h by 
   David O'Brien <obrien@FreeBSD.org>
   Loren J. Rittle <ljrittle@acm.org>.  */


/* This defines which switch letters take arguments.  On DragonFly, most of
   the normal cases (defined in gcc.c) apply, and we also have -h* and
   -z* options (for the linker) (coming from SVR4).
   We also have -R (alias --rpath), no -z, --soname (-h), --assert etc.  */

#define DFBSD_SWITCH_TAKES_ARG(CHAR)					\
  (DEFAULT_SWITCH_TAKES_ARG (CHAR)					\
    || (CHAR) == 'h'							\
    || (CHAR) == 'z' /* ignored by ld */				\
    || (CHAR) == 'R')

/* This defines which multi-letter switches take arguments.  */

#define DFBSD_WORD_SWITCH_TAKES_ARG(STR)					\
  (DEFAULT_WORD_SWITCH_TAKES_ARG (STR)					\
   || !strcmp ((STR), "rpath") || !strcmp ((STR), "rpath-link")		\
   || !strcmp ((STR), "soname") || !strcmp ((STR), "defsym") 		\
   || !strcmp ((STR), "assert") || !strcmp ((STR), "dynamic-linker"))

#define DFBSD_TARGET_OS_CPP_BUILTINS()					\
  do									\
    {									\
	if (DFBSD_MAJOR == 3)	       				\
	  builtin_define ("__DragonFly__=3");			       	\
	else if (DFBSD_MAJOR == 2)	       				\
	  builtin_define ("__DragonFly__=2");			       	\
	else if (DFBSD_MAJOR == 1)	       				\
	  builtin_define ("__DragonFly__=1");			       	\
	else								\
	  builtin_define ("__DragonFly__");			       	\
	builtin_define ("__DragonFly_cc_version=100001");		\
	builtin_define_std ("unix");					\
	builtin_define ("__KPRINTF_ATTRIBUTE__");		       	\
	builtin_assert ("system=unix");					\
	builtin_assert ("system=bsd");					\
	builtin_assert ("system=DragonFly");				\
	DFBSD_TARGET_CPU_CPP_BUILTINS();					\
    }									\
  while (0)

/* Define the default DragonFly-specific per-CPU hook code. */
#define DFBSD_TARGET_CPU_CPP_BUILTINS() do {} while (0)

/* Provide a CPP_SPEC appropriate for DragonFly.  We just deal with the GCC 
   option `-posix', and PIC issues.  */

#define DFBSD_CPP_SPEC "							\
  %(cpp_cpu)								\
  %{fPIC|fpic|fPIE|fpie:-D__PIC__ -D__pic__}				\
  %{posix:-D_POSIX_SOURCE}"

/* Provide a STARTFILE_SPEC appropriate for DragonFly.  Here we add
   the magical crtbegin.o file (see crtstuff.c) which provides part 
	of the support for getting C++ file-scope static object constructed 
	before entering `main'.  */
   
#define DFBSD_STARTFILE_SPEC \
  "%{!shared: \
     %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
		       %{!p:%{profile:gcrt1.o%s} \
			 %{!profile:crt1.o%s}}}} \
   crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"

/* Provide a ENDFILE_SPEC appropriate for DragonFly.  Here we tack on
   the magical crtend.o file (see crtstuff.c) which provides part of 
	the support for getting C++ file-scope static object constructed 
	before entering `main', followed by a normal "finalizer" file, 
	`crtn.o'.  */

#define DFBSD_ENDFILE_SPEC \
  "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"

/* Provide a LIB_SPEC appropriate for DragonFly as configured and as
   required by the user-land thread model.  Select the appropriate libc,
   depending on whether we're doing profiling or need threads support.
   Make it a hard error if -pthread is provided on the command line and gcc
   was configured with --disable-threads (this will help avoid bug
   reports from users complaining about threading when they
   misconfigured the gcc bootstrap but are later consulting DragonFly
   manual pages that refer to the mythical -pthread option).  */

/* Provide a LIB_SPEC appropriate for DragonFly.  Just select the appropriate
   libc, depending on whether we're doing profiling or need threads support.
   (simular to the default, except no -lg, and no -p).  */

#ifdef DFBSD_NO_THREADS
#define DFBSD_LIB_SPEC "						\
  %{pthread: %eThe -pthread option is only supported on DragonFly when gcc \
is built with the --enable-threads configure-time option.}		\
  %{!nostdlib{!nostartfiles{!nolibc: -lc}}}				\
  }"
#else
#define DFBSD_LIB_SPEC "						\
  %{pthread:-lpthread}							\
  %{!nostdlib: %{!nostartfiles: %{!nolibc: -lc}}}			\
  "
#endif

#define	DFBSD_DYNAMIC_LINKER		"/usr/libexec/ld-elf.so.2"

#if 0
#define LINK_LIBGCC_SPEC ""
#define LIBGCC_SPEC "%{shared: -lgcc_pic} %{!shared: -lgcc}"

#define PRE_LIB_SPEC "							\
  %{pg: -L"PREFIX2"/lib/gcc41/profiling 				\
    %{!static: -rpath /usr/lib/gcc41/profiling 				\
      -rpath-link "PREFIX2"/lib/gcc41/profiling}}			\
  %{g: -L"PREFIX2"/lib/gcc41/debug 					\
    %{!static: -rpath /usr/lib/gcc41/debug				\
      -rpath-link "PREFIX2"/lib/gcc41/debug}}				\
  -L"PREFIX2"/lib/gcc41							\
  %{!static: -rpath /usr/lib/gcc41  -rpath-link "PREFIX2"/lib/gcc41} 	\
  %{pg: -L"PREFIX2"/lib/profiling 					\
    %{!static: -rpath /usr/lib/profiling				\
      -rpath-link "PREFIX2"/lib/profiling}} 				\
  %{g: -L"PREFIX2"/lib/debug 						\
    %{!static: -rpath /usr/lib/debug -rpath-link "PREFIX2"/lib/debug}} 	\
  %{!static: -rpath /usr/lib -rpath-link "PREFIX2"/lib} 		\
  "

#define DFBSD_LINK_COMMAND_SPEC "\
%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\
    %(linker) %l " LINK_PIE_SPEC "%X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}\
    %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\
    %{static:} %{L*} %(link_libgcc) %o \
    %{fprofile-arcs|fprofile-generate: -lgcov}\
    %{!nostdlib:%{!nodefaultlibs:%(pre_lib)}}\
    %{!nostdlib:%{!nodefaultlibs:%(link_gcc_c_sequence)}}\
    %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}"

#ifndef PREFIX2
#define	PREFIX2		"/usr"
#endif

#ifndef STANDARD_STARTFILE_PREFIX_1
#define	STANDARD_STARTFILE_PREFIX_1	PREFIX2"/lib/gcc41/"
#endif
#ifndef STANDARD_EXEC_PREFIX
#define	STANDARD_EXEC_PREFIX		PREFIX2"/libexec/gcc41/"
#endif
#ifndef STANDARD_STARTFILE_PREFIX
#define	STANDARD_STARTFILE_PREFIX	PREFIX2"/lib/"
#endif
#ifndef TOOLDIR_BASE_PREFIX
#define TOOLDIR_BASE_PREFIX		PREFIX2"/libexec/gcc41"
#endif
#ifndef STANDARD_BINDIR_PREFIX
#define STANDARD_BINDIR_PREFIX		PREFIX2"/libexec/gcc41"
#endif
#ifndef STANDARD_LIBEXEC_PREFIX
#define STANDARD_LIBEXEC_PREFIX		PREFIX2"/libexec/gcc41"
#endif

#ifndef GPLUSPLUS_INCLUDE_DIR
#define GPLUSPLUS_INCLUDE_DIR		PREFIX2"/include/c++"
#endif
#ifndef GPLUSPLUS_TOOL_INCLUDE_DIR
#define GPLUSPLUS_TOOL_INCLUDE_DIR	PREFIX2"/include/c++/4.1"
#endif
#ifndef GPLUSPLUS_BACKWARD_INCLUDE_DIR
#define	GPLUSPLUS_BACKWARD_INCLUDE_DIR	PREFIX2"/include/c++/4.1/backward"
#endif
#ifndef GCC_LOCAL_INCLUDE_DIR
#define	GCC_LOCAL_INCLUDE_DIR		PREFIX2"/libdata/gcc41"
#endif
#ifndef GCC_INCLUDE_DIR
#define	GCC_INCLUDE_DIR			PREFIX2"/include"
#endif

#undef INCLUDE_DEFAULTS
#define INCLUDE_DEFAULTS				\
  {							\
    { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 },		\
    { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, 0 },	\
    { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, 0 },	\
    { GCC_INCLUDE_DIR, "GCC", 0, 0 },			\
    { GCC_LOCAL_INCLUDE_DIR, "GCC", 0, 0 },		\
    { NULL, NULL, 0, 0 }				\
  }
#endif

File Added: pkgsrc/lang/gcc45/files/Attic/dragonfly.h
/* $DragonFly: src/gnu/usr.bin/cc41/cc_prep/config/dragonfly.h,v 1.2 2008/05/19 10:46:39 corecode Exp $ */

/* Base configuration file for all DragonFly targets.
   Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING.  If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.  */

/* Common DragonFly configuration. 
   All DragonFly architectures should include this file, which will specify
   their commonalities.

   Adapted from gcc/config/freebsd.h by
   Joerg Sonnenberger <joerg@bec.de>

   Adapted from gcc/config/i386/freebsd-elf.h by 
   David O'Brien <obrien@FreeBSD.org>.  
   Further work by David O'Brien <obrien@FreeBSD.org> and
   Loren J. Rittle <ljrittle@acm.org>.  */


/* This defines which switch letters take arguments.  On DragonFly, most of
   the normal cases (defined in gcc.c) apply, and we also have -h* and
   -z* options (for the linker) (coming from SVR4).
   We also have -R (alias --rpath), no -z, --soname (-h), --assert etc.  */

#undef  SWITCH_TAKES_ARG
#define SWITCH_TAKES_ARG(CHAR) (DFBSD_SWITCH_TAKES_ARG(CHAR))

#undef  WORD_SWITCH_TAKES_ARG
#define WORD_SWITCH_TAKES_ARG(STR) (DFBSD_WORD_SWITCH_TAKES_ARG(STR))

#undef  TARGET_OS_CPP_BUILTINS
#define TARGET_OS_CPP_BUILTINS() DFBSD_TARGET_OS_CPP_BUILTINS()

#undef  CPP_SPEC
#define CPP_SPEC DFBSD_CPP_SPEC

#undef  STARTFILE_SPEC
#define STARTFILE_SPEC DFBSD_STARTFILE_SPEC

#undef  ENDFILE_SPEC
#define ENDFILE_SPEC DFBSD_ENDFILE_SPEC

#undef  LIB_SPEC
#define LIB_SPEC DFBSD_LIB_SPEC

#if 0
#undef	LINK_COMMAND_SPEC
#define LINK_COMMAND_SPEC DFBSD_LINK_COMMAND_SPEC 
#endif

/************************[  Target stuff  ]***********************************/

/* All DragonFly Architectures support the ELF object file format.  */
#undef  OBJECT_FORMAT_ELF
#define OBJECT_FORMAT_ELF

/* Don't assume anything about the header files.  */
#undef  NO_IMPLICIT_EXTERN_C
#define NO_IMPLICIT_EXTERN_C	1

/* Make gcc agree with DragonFly's standard headers (<machine/stdint.h>, etc...)  */

#undef  WCHAR_TYPE
#define WCHAR_TYPE "int"

#define MATH_LIBRARY_PROFILE    "-lm_p"

/* Code generation parameters.  */

/* Use periods rather than dollar signs in special g++ assembler names.
   This ensures the configuration knows our system correctly so we can link
   with libraries compiled with the native cc.  */
#undef NO_DOLLAR_IN_LABEL

/* Define this so we can compile MS code for use with WINE.  */
#define HANDLE_PRAGMA_PACK_PUSH_POP

/* Used by libgcc2.c.  We support file locking with fcntl / F_SETLKW.
   This enables the test coverage code to use file locking when exiting a
   program, which avoids race conditions if the program has forked.  */
#define TARGET_POSIX_IO

File Added: pkgsrc/lang/gcc45/files/Attic/hello.f

      PROGRAM hello
      print*, 'Hello, World!'
      END


File Added: pkgsrc/lang/gcc45/files/Attic/hello.m
#import <stdio.h>

int main( int argc, const char *argv[] ) {
    printf( "hello world\n" );
    return 0;
}

File Added: pkgsrc/lang/gcc45/files/Attic/i386-dragonfly.h
/* $DragonFly: src/gnu/usr.bin/cc41/cc_prep/config/i386/dragonfly.h,v 1.1 2006/09/27 12:10:34 corecode Exp $ */

/* Definitions for Intel 386 running DragonFly with ELF format
   
   Copyright (C) 1996, 2000, 2002 Free Software Foundation, Inc.
   Contributed by Eric Youngdale.
   Modified for stabs-in-ELF by H.J. Lu.
   Adapted from GNU/Linux version by John Polstra.
   Continued development by David O'Brien <obrien@freebsd.org>
   Adapted from the FreeBSD version.

   Changes:
   - remove support for changing the dynamic linker

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING.  If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.  */


#define TARGET_VERSION fprintf (stderr, " (i386 DragonFly/ELF)");

/* Override the default comment-starter of "/".  */
#undef  ASM_COMMENT_START
#define ASM_COMMENT_START "#"

#undef  ASM_APP_ON
#define ASM_APP_ON "#APP\n"

#undef  ASM_APP_OFF
#define ASM_APP_OFF "#NO_APP\n"

#undef  DBX_REGISTER_NUMBER
#define DBX_REGISTER_NUMBER(n) \
  (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])

#undef  NO_PROFILE_COUNTERS
#define NO_PROFILE_COUNTERS	1

/* Tell final.c that we don't need a label passed to mcount.  */

#undef  MCOUNT_NAME
#define MCOUNT_NAME ".mcount"

/* Make gcc agree with <machine/ansi.h>.  */

#undef  SIZE_TYPE
#define SIZE_TYPE	(TARGET_64BIT ? "long unsigned int" : "unsigned int")
 
#undef  PTRDIFF_TYPE
#define PTRDIFF_TYPE	(TARGET_64BIT ? "long int" : "int")
  
#undef  WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE	(TARGET_64BIT ? 32 : BITS_PER_WORD)

#undef  SUBTARGET_EXTRA_SPECS	/* i386.h bogusly defines it.  */
#define SUBTARGET_EXTRA_SPECS \
  { "dfbsd_dynamic_linker", DFBSD_DYNAMIC_LINKER }
    
/* Provide a STARTFILE_SPEC appropriate for DragonFly.  Here we add
   the magical crtbegin.o file (see crtstuff.c) which provides part 
	of the support for getting C++ file-scope static object constructed 
	before entering `main'.  */
   
#undef	STARTFILE_SPEC
#define STARTFILE_SPEC \
  "%{!shared: \
     %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
		       %{!p:%{profile:gcrt1.o%s} \
			 %{!profile:crt1.o%s}}}} \
   crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"

/* Provide a ENDFILE_SPEC appropriate for DragonFly.  Here we tack on
   the magical crtend.o file (see crtstuff.c) which provides part of 
	the support for getting C++ file-scope static object constructed 
	before entering `main', followed by a normal "finalizer" file, 
	`crtn.o'.  */

#undef	ENDFILE_SPEC
#define ENDFILE_SPEC \
  "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"

/* Provide a LINK_SPEC appropriate for DragonFly.  Here we provide support
   for the special GCC options -static and -shared, which allow us to
   link things in one of these three modes by applying the appropriate
   combinations of options at link-time. We like to support here for
   as many of the other GNU linker options as possible. But I don't
   have the time to search for those flags. I am sure how to add
   support for -soname shared_object_name. H.J.

   I took out %{v:%{!V:-V}}. It is too much :-(. They can use
   -Wl,-V.

   When the -shared link option is used a final link is not being
   done.  */

#undef	LINK_SPEC
#define LINK_SPEC "\
  %{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
  %{v:-V} \
  %{assert*} %{R*} %{rpath*} %{defsym*} \
  %{shared:-Bshareable %{h*} %{soname*}} \
    %{!shared: \
      %{!static: \
        %{rdynamic:-export-dynamic} \
        %{!dynamic-linker:-dynamic-linker %(dfbsd_dynamic_linker) }} \
    %{static:-Bstatic}} \
  %{symbolic:-Bsymbolic}"

/* A C statement to output to the stdio stream FILE an assembler
   command to advance the location counter to a multiple of 1<<LOG
   bytes if it is within MAX_SKIP bytes.

   This is used to align code labels according to Intel recommendations.  */

#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
#undef  ASM_OUTPUT_MAX_SKIP_ALIGN
#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE, LOG, MAX_SKIP)					\
  if ((LOG) != 0) {														\
    if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG));	\
    else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP));	\
  }
#endif

/* Don't default to pcc-struct-return, we want to retain compatibility with
   older gcc versions AND pcc-struct-return is nonreentrant.
   (even though the SVR4 ABI for the i386 says that records and unions are
   returned in memory).  */

#undef  DEFAULT_PCC_STRUCT_RETURN
#define DEFAULT_PCC_STRUCT_RETURN 0

/* DragonFly sets the rounding precision of the FPU to 53 bits.  Let the
   compiler get the contents of <float.h> and std::numeric_limits correct.  */
#undef TARGET_96_ROUND_53_LONG_DOUBLE
#define TARGET_96_ROUND_53_LONG_DOUBLE (!TARGET_64BIT)

File Added: pkgsrc/lang/gcc45/files/Attic/i386-dragonfly64.h
/* $DragonFly: src/gnu/usr.bin/cc41/cc_prep/config/i386/dragonfly64.h,v 1.1 2007/01/15 17:53:16 corecode Exp $ */

/* Definitions for AMD x86-64 running DragonFly with ELF format
   Copyright (C) 2002 Free Software Foundation, Inc.
   Contributed by David O'Brien <obrien@FreeBSD.org>
   Adapted from the FreeBSD version.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING.  If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.  */

/* $FreeBSD: src/contrib/gcc/config/i386/freebsd64.h,v 1.9 2004/07/28 04:44:23 kan Exp $ */


#undef  TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (x86-64 DragonFly/ELF)");

/* Tell final.c that we don't need a label passed to mcount.  */

#define SUBTARGET_EXTRA_SPECS \
  { "dfbsd_dynamic_linker", DFBSD_DYNAMIC_LINKER }

#undef  MCOUNT_NAME
#define MCOUNT_NAME ".mcount"

/* Provide a LINK_SPEC appropriate for the DragonFly/x86-64 ELF target.
   This is a copy of LINK_SPEC from <i386/dragonfly.h> tweaked for
   the x86-64 target.
   XXX We don't support two arch userland yet  */

#undef	LINK_SPEC
#define LINK_SPEC "\
  %{v:-V} \
  %{assert*} %{R*} %{rpath*} %{defsym*} \
  %{shared:-Bshareable %{h*} %{soname*}} \
    %{!shared: \
      %{!static: \
        %{rdynamic:-export-dynamic} \
	%{!dynamic-linker:-dynamic-linker %(dfbsd_dynamic_linker) }} \
    %{static:-Bstatic}} \
  %{symbolic:-Bsymbolic}"

File Added: pkgsrc/lang/gcc45/patches/Attic/patch-aa
$NetBSD: patch-aa,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $

--- gcc/config.gcc.orig	2010-10-09 09:35:53.000000000 +0000
+++ gcc/config.gcc
@@ -499,6 +499,33 @@ case ${target} in
   # need_64bit_hwint=yes # system compiler has this for all arch!
   use_gcc_stdint=wrap
   ;;
+*-*-dragonfly*)
+  gas=yes
+  gnu_ld=yes
+  extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
+  case ${target} in
+    *-*-dragonfly1 | *-*-dragonfly[1].*)
+      tm_defines="${tm_defines} DFBSD_MAJOR=1" ;;
+    *-*-dragonfly2 | *-*-dragonfly[2].*)
+      tm_defines="${tm_defines} DFBSD_MAJOR=2" ;;
+    *-*-dragonfly3 | *-*-dragonfly[3].*)
+      tm_defines="${tm_defines} DFBSD_MAJOR=3" ;;
+    *-*-dragonfly4 | *-*-dragonfly[4].*)
+      tm_defines="${tm_defines} DFBSD_MAJOR=4" ;;
+    *)
+      echo 'Please update *-*-dragonfly* in gcc/config.gcc'
+      exit 1
+      ;;
+  esac
+  tmake_file="t-slibgcc-elf-ver t-dragonfly"
+  case ${enable_threads} in
+    "" | yes | posix)
+      thread_file='posix'
+      tmake_file="${tmake_file} t-dragonfly-thread"
+      ;;
+  esac
+  dfbsd_tm_file="${dfbsd_tm_file} dragonfly-spec.h dragonfly.h"
+  ;;
 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
   extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
   gas=yes
@@ -572,6 +599,7 @@ case ${target} in
       default_use_cxa_atexit=yes
       ;;
   esac
+  use_gcc_stdint=wrap
   ;;
 *-*-openbsd*)
   tmake_file="t-libc-ok t-openbsd t-libgcc-pic"
@@ -1117,17 +1145,23 @@ x86_64-*-freebsd*)
 	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
 	tmake_file="${tmake_file} i386/t-crtstuff"
 	;;
+x86_64-*-dragonfly*)
+	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${dfbsd_tm_file} i386/x86-64.h i386/dragonfly.h i386/dragonfly64.h"
+	;;
+i[34567]86-*-dragonfly*)
+	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${dfbsd_tm_file} i386/dragonfly.h"
+	;;
 i[34567]86-*-netbsdelf*)
-	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
+	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h netbsd-stdint.h"
 	;;
 i[34567]86-*-netbsd*)
-	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h netbsd.h netbsd-aout.h i386/netbsd.h"
+	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h netbsd.h netbsd-aout.h i386/netbsd.h netbsd-stdint.h"
 	tmake_file="${tmake_file} t-netbsd"
 	extra_parts=""
 	use_collect2=yes
 	;;
 x86_64-*-netbsd*)
-	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
+	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h netbsd-stdint.h"
 	tmake_file="${tmake_file} i386/t-crtstuff"
 	;;
 i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])

File Added: pkgsrc/lang/gcc45/patches/Attic/patch-ab
$NetBSD: patch-ab,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $

--- libgcc/config.host.orig	2010-04-01 23:02:18.000000000 -0400
+++ libgcc/config.host
@@ -156,6 +156,8 @@ case ${host} in
   # machine-specific sections may refine and add to this
   # configuration.
   ;;
+*-*-dragonfly*)
+  ;;
 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu*)
   extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
   ;;
@@ -282,6 +284,10 @@ i[34567]86-*-freebsd*)
 	;;
 x86_64-*-freebsd*)
 	;;
+i[34567]86-*-dragonfly*)
+	;;
+x86_64-*-dragonfly*)
+	;;
 i[34567]86-*-netbsdelf*)
 	;;
 i[34567]86-*-netbsd*)

File Added: pkgsrc/lang/gcc45/patches/Attic/patch-ad
$NetBSD: patch-ad,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $

--- configure.orig	2010-04-02 13:35:47.000000000 -0400
+++ configure
@@ -5395,7 +5395,7 @@ fi
 
 
 if test "x$with_mpfr" != x; then
-  gmplibs="-L$with_mpfr/lib $gmplibs"
+  gmplibs="-L$with_mpfr/lib -Wl,-R${PREFIX}/lib $gmplibs"
   gmpinc="-I$with_mpfr/include $gmpinc"
 fi
 if test "x$with_mpfr_include" != x; then

File Added: pkgsrc/lang/gcc45/patches/Attic/patch-ak
$NetBSD: patch-ak,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $

--- gcc/ginclude/stddef.h.orig	2011-03-03 15:35:00.000000000 +0000
+++ gcc/ginclude/stddef.h
@@ -53,6 +53,11 @@ see the files COPYING3 and COPYING.RUNTI
    one less case to deal with in the following.  */
 #if defined (__BSD_NET2__) || defined (____386BSD____) || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) || defined(__NetBSD__)
 #include <machine/ansi.h>
+#if !defined(_MACHINE_ANSI_H_)
+#if defined(_I386_ANSI_H_) || defined(_X86_64_ANSI_H_)
+#define _MACHINE_ANSI_H_
+#endif
+#endif
 #endif
 /* On FreeBSD 5, machine/ansi.h does not exist anymore... */
 #if defined (__FreeBSD__) && (__FreeBSD__ >= 5)

File Added: pkgsrc/lang/gcc45/patches/Attic/patch-af
$NetBSD: patch-af,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $

Avoid a reference to the wrapped make in the pkgsrc work directory from showing up
in an installed file.  See ${WRKDIR}/gcc-4.4.1/libjava/contrib/aotcompile.py.in

--- libjava/configure.orig	2010-04-02 14:18:06.000000000 -0400
+++ libjava/configure
@@ -24517,7 +24517,7 @@ $as_echo "Python modules dir: ${python_m
 
 
 # needed for aot-compile-rpm
-MAKE=`which make`
+MAKE=${PKGSRC_MAKE}
 
 
 # Check whether --enable-aot-compile-rpm was given.

File Added: pkgsrc/lang/gcc45/patches/Attic/patch-ag
$NetBSD: patch-ag,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $

No need to use bash for this small script.

Also -print0 is not portable to solaris and perhaps others.

--- libjava/contrib/rebuild-gcj-db.in.orig	2008-07-02 09:17:54.000000000 -0400
+++ libjava/contrib/rebuild-gcj-db.in
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 # rebuild-gcj-db
 
 ## Copyright (C) 2000, 2002, 2003, 2008 Free Software Foundation
@@ -16,12 +16,12 @@ for i in `@prefix@/bin/gcc --print-multi
    base=@prefix@/lib/$dirname
    dbLocation=`@prefix@/bin/gcj-dbtool -p $base`
    libdir=$base/gcj
-   if ! test -d $libdir; then
+   if test ! -d $libdir; then
       # No shared libraries here.
       continue
    fi
    dirname $dbLocation | xargs mkdir -p
    @prefix@/bin/gcj-dbtool -n $dbLocation 64
-   find $libdir -follow -name '*.db' -print0 | \
+   find $libdir -follow -name '*.db' -print | @AWK@ '{printf("%s%c", $1, 0);}' | \
       @prefix@/bin/gcj-dbtool -0 -m $dbLocation $dbLocation
 done

File Added: pkgsrc/lang/gcc45/patches/Attic/patch-ah
$NetBSD: patch-ah,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $

--- gcc/fortran/f95-lang.c.orig	2010-06-15 14:17:16.000000000 +0200
+++ gcc/fortran/f95-lang.c
@@ -794,10 +794,17 @@
 
   gfc_define_builtin ("__builtin_cabsl", func_clongdouble_longdouble, 
 		      BUILT_IN_CABSL, "cabsl", true);
+#if defined(__NetBSD__)
+  gfc_define_builtin ("__builtin_cabs", func_cdouble_double, 
+		      BUILT_IN_CABS, "__c99_cabs", true);
+  gfc_define_builtin ("__builtin_cabsf", func_cfloat_float, 
+		      BUILT_IN_CABSF, "__c99_cabsf", true);
+#else
   gfc_define_builtin ("__builtin_cabs", func_cdouble_double, 
 		      BUILT_IN_CABS, "cabs", true);
   gfc_define_builtin ("__builtin_cabsf", func_cfloat_float, 
 		      BUILT_IN_CABSF, "cabsf", true);
+#endif
  
   gfc_define_builtin ("__builtin_copysignl", mfunc_longdouble[1], 
 		      BUILT_IN_COPYSIGNL, "copysignl", true);

File Added: pkgsrc/lang/gcc45/patches/Attic/patch-ai
$NetBSD: patch-ai,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $

--- libgfortran/intrinsics/c99_functions.c.orig	2011-02-23 18:44:34.000000000 +0100
+++ libgfortran/intrinsics/c99_functions.c
@@ -601,7 +601,7 @@
   if (x > DBL_MAX || x < -DBL_MAX)
     {
 #ifdef HAVE_NEXTAFTERL
-      static long double prechalf = nexafterl (0.5L, LDBL_MAX);
+      long double prechalf = nextafterl (0.5L, LDBL_MAX);
 #else
       static long double prechalf = 0.5L;
 #endif

File Added: pkgsrc/lang/gcc45/patches/Attic/patch-aj
$NetBSD: patch-aj,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $

--- libstdc++-v3/config/os/bsd/netbsd/ctype_base.h.orig	2011-02-23 18:48:42.000000000 +0100
+++ libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
@@ -30,6 +30,7 @@
 // Full details can be found from the CVS files at:
 //   anoncvs@anoncvs.netbsd.org:/cvsroot/basesrc/include/ctype.h
 // See www.netbsd.org for details of access.
+#include <sys/param.h>
   
 _GLIBCXX_BEGIN_NAMESPACE(std)
 
@@ -42,6 +43,7 @@
     // NB: Offsets into ctype<char>::_M_table force a particular size
     // on the mask type. Because of this, we don't use an enum.
     typedef unsigned char      	mask;
+#if __NetBSD_Version__ < 599004100
     static const mask upper    	= _U;
     static const mask lower 	= _L;
     static const mask alpha 	= _U | _L;
@@ -53,6 +55,19 @@
     static const mask cntrl 	= _C;
     static const mask punct 	= _P;
     static const mask alnum 	= _U | _L | _N;
+#else
+    static const mask upper    	= _CTYPE_U;
+    static const mask lower 	= _CTYPE_L;
+    static const mask alpha 	= _CTYPE_U | _CTYPE_L;
+    static const mask digit 	= _CTYPE_N;
+    static const mask xdigit 	= _CTYPE_N | _CTYPE_X;
+    static const mask space 	= _CTYPE_S;
+    static const mask print 	= _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N | _CTYPE_B;
+    static const mask graph 	= _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N;
+    static const mask cntrl 	= _CTYPE_C;
+    static const mask punct 	= _CTYPE_P;
+    static const mask alnum 	= _CTYPE_U | _CTYPE_L | _CTYPE_N;
+#endif
   };
 
 _GLIBCXX_END_NAMESPACE