head	1.7;
access;
symbols
	netbsd-11-0-RC4:1.3
	netbsd-11-0-RC3:1.3
	netbsd-11-0-RC2:1.3
	binutils-2-46:1.1.1.12
	netbsd-11-0-RC1:1.3
	binutils-2-45:1.1.1.11
	perseant-exfatfs-base-20250801:1.3
	netbsd-11:1.3.0.2
	netbsd-11-base:1.3
	netbsd-10-1-RELEASE:1.1.1.8
	perseant-exfatfs-base-20240630:1.3
	binutils-2-42:1.1.1.10
	perseant-exfatfs:1.2.0.2
	perseant-exfatfs-base:1.2
	netbsd-8-3-RELEASE:1.1.1.5
	netbsd-9-4-RELEASE:1.1.1.7
	netbsd-10-0-RELEASE:1.1.1.8
	netbsd-10-0-RC6:1.1.1.8
	netbsd-10-0-RC5:1.1.1.8
	netbsd-10-0-RC4:1.1.1.8
	netbsd-10-0-RC3:1.1.1.8
	netbsd-10-0-RC2:1.1.1.8
	netbsd-10-0-RC1:1.1.1.8
	binutils-2-39:1.1.1.9
	netbsd-10:1.1.1.8.0.6
	netbsd-10-base:1.1.1.8
	netbsd-9-3-RELEASE:1.1.1.7
	cjep_sun2x-base1:1.1.1.8
	cjep_sun2x:1.1.1.8.0.4
	cjep_sun2x-base:1.1.1.8
	cjep_staticlib_x-base1:1.1.1.8
	netbsd-9-2-RELEASE:1.1.1.7
	cjep_staticlib_x:1.1.1.8.0.2
	cjep_staticlib_x-base:1.1.1.8
	netbsd-9-1-RELEASE:1.1.1.7
	phil-wifi-20200421:1.1.1.8
	phil-wifi-20200411:1.1.1.8
	is-mlppp:1.1.1.7.0.4
	is-mlppp-base:1.1.1.7
	phil-wifi-20200406:1.1.1.8
	binutils-2-34:1.1.1.8
	netbsd-8-2-RELEASE:1.1.1.5
	netbsd-9-0-RELEASE:1.1.1.7
	netbsd-9-0-RC2:1.1.1.7
	netbsd-9-0-RC1:1.1.1.7
	phil-wifi-20191119:1.1.1.7
	netbsd-9:1.1.1.7.0.2
	netbsd-9-base:1.1.1.7
	phil-wifi-20190609:1.1.1.7
	netbsd-8-1-RELEASE:1.1.1.5
	netbsd-8-1-RC1:1.1.1.5
	pgoyette-compat-merge-20190127:1.1.1.5.12.2
	pgoyette-compat-20190127:1.1.1.7
	pgoyette-compat-20190118:1.1.1.7
	pgoyette-compat-1226:1.1.1.7
	pgoyette-compat-1126:1.1.1.7
	binutils-2-31-1:1.1.1.7
	pgoyette-compat-1020:1.1.1.6
	pgoyette-compat-0930:1.1.1.6
	pgoyette-compat-0906:1.1.1.6
	netbsd-7-2-RELEASE:1.1.1.3
	pgoyette-compat-0728:1.1.1.6
	netbsd-8-0-RELEASE:1.1.1.5
	phil-wifi:1.1.1.6.0.2
	phil-wifi-base:1.1.1.6
	pgoyette-compat-0625:1.1.1.6
	netbsd-8-0-RC2:1.1.1.5
	pgoyette-compat-0521:1.1.1.6
	pgoyette-compat-0502:1.1.1.6
	pgoyette-compat-0422:1.1.1.6
	netbsd-8-0-RC1:1.1.1.5
	pgoyette-compat-0415:1.1.1.6
	binutils-2-30:1.1.1.6
	pgoyette-compat-0407:1.1.1.5
	pgoyette-compat-0330:1.1.1.5
	pgoyette-compat-0322:1.1.1.5
	pgoyette-compat-0315:1.1.1.5
	netbsd-7-1-2-RELEASE:1.1.1.3
	pgoyette-compat:1.1.1.5.0.12
	pgoyette-compat-base:1.1.1.5
	netbsd-7-1-1-RELEASE:1.1.1.3
	matt-nb8-mediatek:1.1.1.5.0.10
	matt-nb8-mediatek-base:1.1.1.5
	perseant-stdc-iso10646:1.1.1.5.0.8
	perseant-stdc-iso10646-base:1.1.1.5
	netbsd-8:1.1.1.5.0.6
	netbsd-8-base:1.1.1.5
	prg-localcount2-base3:1.1.1.5
	prg-localcount2-base2:1.1.1.5
	prg-localcount2-base1:1.1.1.5
	prg-localcount2:1.1.1.5.0.4
	prg-localcount2-base:1.1.1.5
	pgoyette-localcount-20170426:1.1.1.5
	bouyer-socketcan-base1:1.1.1.5
	pgoyette-localcount-20170320:1.1.1.5
	netbsd-7-1:1.1.1.3.0.10
	netbsd-7-1-RELEASE:1.1.1.3
	netbsd-7-1-RC2:1.1.1.3
	netbsd-7-nhusb-base-20170116:1.1.1.3
	bouyer-socketcan:1.1.1.5.0.2
	bouyer-socketcan-base:1.1.1.5
	pgoyette-localcount-20170107:1.1.1.5
	netbsd-7-1-RC1:1.1.1.3
	pgoyette-localcount-20161104:1.1.1.5
	binutils-2-27:1.1.1.5
	netbsd-7-0-2-RELEASE:1.1.1.3
	localcount-20160914:1.1.1.4
	netbsd-7-nhusb:1.1.1.3.0.8
	netbsd-7-nhusb-base:1.1.1.3
	pgoyette-localcount-20160806:1.1.1.4
	binutils-2-26-1:1.1.1.4
	pgoyette-localcount-20160726:1.1.1.4
	pgoyette-localcount:1.1.1.4.0.2
	pgoyette-localcount-base:1.1.1.4
	netbsd-7-0-1-RELEASE:1.1.1.3
	binutils-2-26:1.1.1.4
	netbsd-7-0:1.1.1.3.0.6
	netbsd-7-0-RELEASE:1.1.1.3
	netbsd-7-0-RC3:1.1.1.3
	netbsd-7-0-RC2:1.1.1.3
	netbsd-7-0-RC1:1.1.1.3
	netbsd-6-0-6-RELEASE:1.1.1.2
	netbsd-6-1-5-RELEASE:1.1.1.2
	netbsd-7:1.1.1.3.0.4
	netbsd-7-base:1.1.1.3
	yamt-pagecache-base9:1.1.1.3
	yamt-pagecache-tag8:1.1.1.2
	netbsd-6-1-4-RELEASE:1.1.1.2
	netbsd-6-0-5-RELEASE:1.1.1.2
	tls-earlyentropy:1.1.1.3.0.2
	tls-earlyentropy-base:1.1.1.3
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.3
	riastradh-drm2-base3:1.1.1.3
	netbsd-6-1-3-RELEASE:1.1.1.2
	netbsd-6-0-4-RELEASE:1.1.1.2
	binutils-2-23-2:1.1.1.3
	netbsd-6-1-2-RELEASE:1.1.1.2
	netbsd-6-0-3-RELEASE:1.1.1.2
	netbsd-6-1-1-RELEASE:1.1.1.2
	riastradh-drm2-base2:1.1.1.2
	riastradh-drm2-base1:1.1.1.2
	riastradh-drm2:1.1.1.2.0.12
	riastradh-drm2-base:1.1.1.2
	netbsd-6-1:1.1.1.2.0.16
	netbsd-6-0-2-RELEASE:1.1.1.2
	netbsd-6-1-RELEASE:1.1.1.2
	netbsd-6-1-RC4:1.1.1.2
	netbsd-6-1-RC3:1.1.1.2
	agc-symver:1.1.1.2.0.14
	agc-symver-base:1.1.1.2
	netbsd-6-1-RC2:1.1.1.2
	netbsd-6-1-RC1:1.1.1.2
	yamt-pagecache-base8:1.1.1.2
	netbsd-6-0-1-RELEASE:1.1.1.2
	yamt-pagecache-base7:1.1.1.2
	matt-nb6-plus-nbase:1.1.1.2
	yamt-pagecache-base6:1.1.1.2
	netbsd-6-0:1.1.1.2.0.10
	netbsd-6-0-RELEASE:1.1.1.2
	netbsd-6-0-RC2:1.1.1.2
	tls-maxphys:1.1.1.2.0.8
	tls-maxphys-base:1.1.1.3
	matt-nb6-plus:1.1.1.2.0.6
	matt-nb6-plus-base:1.1.1.2
	netbsd-6-0-RC1:1.1.1.2
	yamt-pagecache-base5:1.1.1.2
	yamt-pagecache-base4:1.1.1.2
	netbsd-6:1.1.1.2.0.4
	netbsd-6-base:1.1.1.2
	yamt-pagecache-base3:1.1.1.2
	yamt-pagecache-base2:1.1.1.2
	yamt-pagecache:1.1.1.2.0.2
	yamt-pagecache-base:1.1.1.2
	binutils-2-21-1a:1.1.1.2
	cherry-xenmp:1.1.1.1.0.4
	cherry-xenmp-base:1.1.1.1
	bouyer-quota2-nbase:1.1.1.1
	bouyer-quota2:1.1.1.1.0.2
	bouyer-quota2-base:1.1.1.1
	matt-mips64-premerge-20101231:1.1.1.1
	binutils-2-19-1-20090402:1.1.1.1
	matt-premerge-20091211:1.1.1.1
	binutils-2-19-1:1.1.1.1
	FSF:1.1.1;
locks; strict;
comment	@# @;


1.7
date	2026.02.11.20.14.45;	author christos;	state Exp;
branches;
next	1.6;
commitid	2ZnkVhvajDjbVZtG;

1.6
date	2025.09.24.14.23.01;	author rillig;	state Exp;
branches;
next	1.5;
commitid	wjp4cKJ1opAauYbG;

1.5
date	2025.09.24.04.43.01;	author rillig;	state Exp;
branches;
next	1.4;
commitid	pErnq3X9zR82hVbG;

1.4
date	2025.08.25.15.47.22;	author christos;	state Exp;
branches;
next	1.3;
commitid	83YQOH8LeFn9V78G;

1.3
date	2024.06.30.16.10.15;	author christos;	state Exp;
branches;
next	1.2;
commitid	YLzDDRlomJFmz1gF;

1.2
date	2022.12.24.20.17.03;	author christos;	state Exp;
branches
	1.2.2.1;
next	1.1;
commitid	y5TadmP38ddHKQ6E;

1.1
date	2009.08.18.10.16.42;	author skrll;	state Exp;
branches
	1.1.1.1;
next	;

1.2.2.1
date	2024.07.01.00.59.51;	author perseant;	state Exp;
branches;
next	;
commitid	NkoYLLCQWWw9v4gF;

1.1.1.1
date	2009.08.18.10.16.42;	author skrll;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	2011.09.24.22.10.32;	author christos;	state Exp;
branches
	1.1.1.2.2.1
	1.1.1.2.8.1;
next	1.1.1.3;

1.1.1.3
date	2013.09.29.13.38.20;	author christos;	state Exp;
branches;
next	1.1.1.4;
commitid	TyuuzSx830x3Yk7x;

1.1.1.4
date	2016.01.29.12.44.11;	author christos;	state Exp;
branches
	1.1.1.4.2.1;
next	1.1.1.5;
commitid	B0qHLT45wK2yhPSy;

1.1.1.5
date	2016.10.26.17.29.34;	author christos;	state Exp;
branches
	1.1.1.5.12.1;
next	1.1.1.6;
commitid	su5ccdRz6qdh9Grz;

1.1.1.6
date	2018.04.14.22.17.03;	author christos;	state Exp;
branches
	1.1.1.6.2.1;
next	1.1.1.7;
commitid	ShNerhdmcUZyxsyA;

1.1.1.7
date	2018.11.06.21.18.32;	author christos;	state Exp;
branches;
next	1.1.1.8;
commitid	6Ndf2Zuj4yZRAVYA;

1.1.1.8
date	2020.04.03.23.39.36;	author christos;	state Exp;
branches;
next	1.1.1.9;
commitid	qJOWzDWs5P5cQZ2C;

1.1.1.9
date	2022.12.23.19.00.44;	author christos;	state Exp;
branches;
next	1.1.1.10;
commitid	AaAP7ITTx5JnmI6E;

1.1.1.10
date	2024.06.30.15.59.48;	author christos;	state Exp;
branches;
next	1.1.1.11;
commitid	Eqxmo2uubpM9w1gF;

1.1.1.11
date	2025.08.25.14.41.44;	author christos;	state Exp;
branches;
next	1.1.1.12;
commitid	aUBKFf4jmEzPv78G;

1.1.1.12
date	2026.02.11.19.49.14;	author christos;	state Exp;
branches;
next	;
commitid	vybCSY05tblOMZtG;

1.1.1.2.2.1
date	2014.05.22.15.54.09;	author yamt;	state Exp;
branches;
next	;
commitid	LcfsdHQ4HK08ayBx;

1.1.1.2.8.1
date	2014.08.19.23.52.24;	author tls;	state Exp;
branches;
next	;
commitid	jTnpym9Qu0o4R1Nx;

1.1.1.4.2.1
date	2016.11.04.14.42.47;	author pgoyette;	state Exp;
branches;
next	;
commitid	2m1JRwYmpwPkOOsz;

1.1.1.5.12.1
date	2018.04.16.01.58.13;	author pgoyette;	state Exp;
branches;
next	1.1.1.5.12.2;
commitid	qk3nktk0szmTIByA;

1.1.1.5.12.2
date	2018.11.26.01.50.04;	author pgoyette;	state Exp;
branches;
next	;
commitid	Zj4q5SspGdKXto1B;

1.1.1.6.2.1
date	2019.06.10.21.52.07;	author christos;	state Exp;
branches;
next	1.1.1.6.2.2;
commitid	jtc8rnCzWiEEHGqB;

1.1.1.6.2.2
date	2020.04.08.14.04.24;	author martin;	state Exp;
branches;
next	;
commitid	Qli2aW9E74UFuA3C;


desc
@@


1.7
log
@Merge conflicts between 2.45 and 2.46, regen x86
@
text
@[+ AutoGen5 template -*- Mode: Makefile -*-
in
+]

# Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'.
#
# Makefile for directory with subdirs to build.
#   Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
#   Free Software Foundation
#
# This file 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 3 of the License, or
# (at your option) any later version.
# 
# This program 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 this program; see the file COPYING3.  If not see
# <http://www.gnu.org/licenses/>.
#

# First, test for a proper version of make, but only where one is required.

@@if gcc
ifeq (,$(.VARIABLES)) # The variable .VARIABLES, new with 3.80, is never empty.
$(error GNU make version 3.80 or newer is required.)
endif
@@endif gcc

# -------------------------------
# Standard Autoconf-set variables
# -------------------------------
VPATH=@@srcdir@@

build_alias=@@build_noncanonical@@
build_vendor=@@build_vendor@@
build_os=@@build_os@@
build=@@build@@
host_alias=@@host_noncanonical@@
host_vendor=@@host_vendor@@
host_os=@@host_os@@
host=@@host@@
target_alias=@@target_noncanonical@@
target_vendor=@@target_vendor@@
target_os=@@target_os@@
target=@@target@@

program_transform_name = @@program_transform_name@@

prefix = @@prefix@@
exec_prefix = @@exec_prefix@@

srcdir = @@srcdir@@

bindir = @@bindir@@
sbindir = @@sbindir@@
libexecdir = @@libexecdir@@
datadir = @@datadir@@
sysconfdir = @@sysconfdir@@
sharedstatedir = @@sharedstatedir@@
localstatedir = @@localstatedir@@
libdir = @@libdir@@
includedir = @@includedir@@
oldincludedir = @@oldincludedir@@
infodir = @@infodir@@
datarootdir = @@datarootdir@@
docdir = @@docdir@@
pdfdir = @@pdfdir@@
htmldir = @@htmldir@@
mandir = @@mandir@@
man1dir = $(mandir)/man1
man2dir = $(mandir)/man2
man3dir = $(mandir)/man3
man4dir = $(mandir)/man4
man5dir = $(mandir)/man5
man6dir = $(mandir)/man6
man7dir = $(mandir)/man7
man8dir = $(mandir)/man8
man9dir = $(mandir)/man9

INSTALL = @@INSTALL@@
INSTALL_PROGRAM = @@INSTALL_PROGRAM@@
INSTALL_SCRIPT = @@INSTALL_SCRIPT@@
INSTALL_DATA = @@INSTALL_DATA@@
LN = @@LN@@
LN_S = @@LN_S@@
MAINT = @@MAINT@@
MAINTAINER_MODE_FALSE = @@MAINTAINER_MODE_FALSE@@
MAINTAINER_MODE_TRUE = @@MAINTAINER_MODE_TRUE@@

# -------------------------------------------------
# Miscellaneous non-standard autoconf-set variables
# -------------------------------------------------

# The gcc driver likes to know the arguments it was configured with.
TOPLEVEL_CONFIGURE_ARGUMENTS=@@TOPLEVEL_CONFIGURE_ARGUMENTS@@

tooldir = @@tooldir@@
build_tooldir = @@build_tooldir@@

# This is the name of the environment variable used for the path to
# the libraries.
RPATH_ENVVAR = @@RPATH_ENVVAR@@

# On targets where RPATH_ENVVAR is PATH, a subdirectory of the GCC build path
# is used instead of the directory itself to avoid including built
# executables in PATH.
GCC_SHLIB_SUBDIR = @@GCC_SHLIB_SUBDIR@@

# If the build should make suitable code for shared host resources.
host_shared = @@host_shared@@

# Build programs are put under this directory.
BUILD_SUBDIR = @@build_subdir@@
# This is set by the configure script to the arguments to use when configuring
# directories built for the build system.
BUILD_CONFIGARGS = @@build_configargs@@ --with-build-subdir="$(BUILD_SUBDIR)"

# Linker flags to use on the host, for stage1 or when not
# bootstrapping.
STAGE1_LDFLAGS = @@stage1_ldflags@@

# Libraries to use on the host, for stage1 or when not bootstrapping.
STAGE1_LIBS = @@stage1_libs@@

# Linker flags to use for stage2 and later.
POSTSTAGE1_LDFLAGS = @@poststage1_ldflags@@

# Libraries to use for stage2 and later.
POSTSTAGE1_LIBS = @@poststage1_libs@@

# This is the list of variables to export in the environment when
# configuring any subdirectory.  It must also be exported whenever
# recursing into a build directory in case that directory's Makefile
# re-runs configure.
BASE_EXPORTS = \
	FLEX="$(FLEX)"; export FLEX; \
	LEX="$(LEX)"; export LEX; \
	BISON="$(BISON)"; export BISON; \
	YACC="$(YACC)"; export YACC; \
	M4="$(M4)"; export M4; \
	SED="$(SED)"; export SED; \
	AWK="$(AWK)"; export AWK; \
	MAKEINFO="$(MAKEINFO)"; export MAKEINFO;

# This is the list of variables to export in the environment when
# configuring subdirectories for the build system.
BUILD_EXPORTS = \
	$(BASE_EXPORTS) \
	AR="$(AR_FOR_BUILD)"; export AR; \
	AS="$(AS_FOR_BUILD)"; export AS; \
	CC="$(CC_FOR_BUILD)"; export CC; \
	CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
	CPP="$(CPP_FOR_BUILD)"; export CPP; \
	CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
	CXX="$(CXX_FOR_BUILD)"; export CXX; \
	CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
	GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
	GOC="$(GOC_FOR_BUILD)"; export GOC; \
	GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
	GDC="$(GDC_FOR_BUILD)"; export GDC; \
	GDCFLAGS="$(GDCFLAGS_FOR_BUILD)"; export GDCFLAGS; \
	GM2="$(GM2_FOR_BUILD)"; export GM2; \
	GM2FLAGS="$(GM2FLAGS_FOR_BUILD)"; export GM2FLAGS; \
	DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
	DSYMUTIL="$(DSYMUTIL_FOR_BUILD)"; export DSYMUTIL; \
	LD="$(LD_FOR_BUILD)"; export LD; \
	LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
	NM="$(NM_FOR_BUILD)"; export NM; \
	RANLIB="$(RANLIB_FOR_BUILD)"; export RANLIB; \
	WINDRES="$(WINDRES_FOR_BUILD)"; export WINDRES; \
	WINDMC="$(WINDMC_FOR_BUILD)"; export WINDMC;

# These variables must be set on the make command line for directories
# built for the build system to override those in BASE_FLAGS_TO_PASS.
EXTRA_BUILD_FLAGS = \
	CFLAGS="$(CFLAGS_FOR_BUILD)" \
	LDFLAGS="$(LDFLAGS_FOR_BUILD)"

# This is the list of directories to built for the host system.
SUBDIRS = @@configdirs@@
TARGET_CONFIGDIRS = @@target_configdirs@@
# This is set by the configure script to the arguments to use when configuring
# directories built for the host system.
HOST_CONFIGARGS = @@host_configargs@@
# Host programs are put under this directory, which is . except if building
# with srcdir=..
HOST_SUBDIR = @@host_subdir@@
# This is the list of variables to export in the environment when
# configuring subdirectories for the host system.  We need to pass
# some to the GCC configure because of its hybrid host/target nature.
HOST_EXPORTS = \
	$(BASE_EXPORTS) \
	CC="$(CC)"; export CC; \
	ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
	CFLAGS="$(CFLAGS)"; export CFLAGS; \
	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
	CXX="$(CXX)"; export CXX; \
	CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
	GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \
	GOC="$(GOC)"; export GOC; \
	GDC="$(GDC)"; export GDC; \
	GM2="$(GM2)"; export GM2; \
	GNATMAKE_FOR_BUILD="$(GNATMAKE_FOR_BUILD)"; export GNATMAKE_FOR_BUILD; \
	AR="$(AR)"; export AR; \
	AS="$(AS)"; export AS; \
	CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
	CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \
	CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \
	CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \
	DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
	DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
	LD="$(LD)"; export LD; \
	LDFLAGS="$(STAGE1_LDFLAGS) $(LDFLAGS)"; export LDFLAGS; \
	NM="$(NM)"; export NM; \
	RANLIB="$(RANLIB)"; export RANLIB; \
	WINDRES="$(WINDRES)"; export WINDRES; \
	WINDMC="$(WINDMC)"; export WINDMC; \
	OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
	OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
	OTOOL="$(OTOOL)"; export OTOOL; \
	PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"; export PKG_CONFIG_PATH; \
	READELF="$(READELF)"; export READELF; \
	AR_FOR_TARGET="$(AR_FOR_TARGET)"; export AR_FOR_TARGET; \
	AS_FOR_TARGET="$(AS_FOR_TARGET)"; export AS_FOR_TARGET; \
	DSYMUTIL_FOR_TARGET="$(DSYMUTIL_FOR_TARGET)"; export DSYMUTIL_FOR_TARGET; \
	GCC_FOR_TARGET="$(GCC_FOR_TARGET) $$TFLAGS"; export GCC_FOR_TARGET; \
	LD_FOR_TARGET="$(LD_FOR_TARGET)"; export LD_FOR_TARGET; \
	NM_FOR_TARGET="$(NM_FOR_TARGET)"; export NM_FOR_TARGET; \
	OBJDUMP_FOR_TARGET="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP_FOR_TARGET; \
	OBJCOPY_FOR_TARGET="$(OBJCOPY_FOR_TARGET)"; export OBJCOPY_FOR_TARGET; \
	OTOOL_FOR_TARGET="$(OTOOL_FOR_TARGET)"; export OTOOL_FOR_TARGET; \
	RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
	READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
	HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
	GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
	GMPINC="$(HOST_GMPINC)"; export GMPINC; \
	ISLLIBS="$(HOST_ISLLIBS)"; export ISLLIBS; \
	ISLINC="$(HOST_ISLINC)"; export ISLINC; \
	XGCC_FLAGS_FOR_TARGET="$(XGCC_FLAGS_FOR_TARGET)"; export XGCC_FLAGS_FOR_TARGET; \
@@if gcc-bootstrap
	$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
@@endif gcc-bootstrap
	$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);

POSTSTAGE1_CXX_EXPORT = \
	CXX='$(CXX)'; export CXX; \
	CXX_FOR_BUILD='$(CXX_FOR_BUILD)'; export CXX_FOR_BUILD;
@@if target-libstdc++-v3-bootstrap
# Override the above if we're bootstrapping C++.
POSTSTAGE1_CXX_EXPORT = \
	CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xg++$(exeext) \
	  -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \
	  -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
	  -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
	  `if $(LEAN); then echo ' -isystem '; else echo ' -I'; fi`$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \
	  `if $(LEAN); then echo ' -isystem '; else echo ' -I'; fi`$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \
	  `if $(LEAN); then echo ' -isystem '; else echo ' -I'; fi`$$s/libstdc++-v3/libsupc++ \
	  -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
	  -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs"; \
	  export CXX; \
	CXX_FOR_BUILD="$$CXX"; export CXX_FOR_BUILD;
@@endif target-libstdc++-v3-bootstrap

# Similar, for later GCC stages.
POSTSTAGE1_HOST_EXPORTS = \
	$(HOST_EXPORTS) \
	CC="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \
	  -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ \
	  $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \
	CC_FOR_BUILD="$$CC"; export CC_FOR_BUILD; \
	$(POSTSTAGE1_CXX_EXPORT) \
	$(LTO_EXPORTS) \
	GDC="$$r/$(HOST_SUBDIR)/prev-gcc/gdc$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
	  -B$(build_tooldir)/bin/ $(GDCFLAGS_FOR_TARGET) \
	  -B$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime/gcc \
	  -B$$r/prev-$(TARGET_SUBDIR)/libphobos/src \
	  -B$$r/prev-$(TARGET_SUBDIR)/libphobos/src/.libs \
	  -I$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime -I$$s/libphobos/libdruntime \
	  -L$$r/prev-$(TARGET_SUBDIR)/libphobos/src/.libs \
	  -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
	  -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; \
	export GDC; \
	GDC_FOR_BUILD="$$GDC"; export GDC_FOR_BUILD; \
	GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND; \
	LDFLAGS="$(POSTSTAGE1_LDFLAGS) $(BOOT_LDFLAGS)"; export LDFLAGS; \
	HOST_LIBS="$(POSTSTAGE1_LIBS)"; export HOST_LIBS;

# Target libraries are put under this directory:
TARGET_SUBDIR = @@target_subdir@@
# This is set by the configure script to the arguments to use when configuring
# directories built for the target.
TARGET_CONFIGARGS = @@target_configargs@@ --with-target-subdir="$(TARGET_SUBDIR)"
# This is the list of variables to export in the environment when
# configuring subdirectories for the target system.
BASE_TARGET_EXPORTS = \
	$(BASE_EXPORTS) \
	AR="$(AR_FOR_TARGET)"; export AR; \
	AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
	CC="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \
	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
	CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
	GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \
	GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
	GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
	GM2="$(GM2_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GM2; \
	GNATMAKE_FOR_BUILD="$(GNATMAKE_FOR_BUILD)"; export GNATMAKE_FOR_BUILD; \
	DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
	DSYMUTIL="$(DSYMUTIL_FOR_TARGET)"; export DSYMUTIL; \
	LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
	LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
	LIPO="$(LIPO_FOR_TARGET)"; export LIPO; \
	NM="$(COMPILER_NM_FOR_TARGET)"; export NM; \
	OBJDUMP="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP; \
	OBJCOPY="$(OBJCOPY_FOR_TARGET)"; export OBJCOPY; \
	OTOOL="$(OTOOL_FOR_TARGET)"; export OTOOL; \
	RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
	READELF="$(READELF_FOR_TARGET)"; export READELF; \
	STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \
	SYSROOT_CFLAGS_FOR_TARGET="$(SYSROOT_CFLAGS_FOR_TARGET)"; export SYSROOT_CFLAGS_FOR_TARGET; \
	WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
	WINDMC="$(WINDMC_FOR_TARGET)"; export WINDMC; \
@@if gcc-bootstrap
	$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
@@endif gcc-bootstrap
	$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
	TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS;

RAW_CXX_TARGET_EXPORTS = \
	$(BASE_TARGET_EXPORTS) \
	CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
	CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;

NORMAL_TARGET_EXPORTS = \
	$(BASE_TARGET_EXPORTS) \
	CXX_FOR_TARGET="$(CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
	CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;

# Where to find GMP
HOST_GMPLIBS = @@gmplibs@@
HOST_GMPINC = @@gmpinc@@

# Where to find isl
HOST_ISLLIBS = @@isllibs@@
HOST_ISLINC = @@islinc@@

# ----------------------------------------------
# Programs producing files for the BUILD machine
# ----------------------------------------------

SHELL = @@SHELL@@

# pwd command to use.  Allow user to override default by setting PWDCMD in
# the environment to account for automounters.  The make variable must not
# be called PWDCMD, otherwise the value set here is passed to make
# subprocesses and overrides the setting from the user's environment.
# Don't use PWD since it is a common shell environment variable and we
# don't want to corrupt it.
PWD_COMMAND = $${PWDCMD-pwd}

# compilers to use to create programs which must be run in the build
# environment.
AR_FOR_BUILD = @@AR_FOR_BUILD@@
AS_FOR_BUILD = @@AS_FOR_BUILD@@
CC_FOR_BUILD = @@CC_FOR_BUILD@@
CFLAGS_FOR_BUILD = @@CFLAGS_FOR_BUILD@@
CPP_FOR_BUILD = @@CPP_FOR_BUILD@@
CPPFLAGS_FOR_BUILD = @@CPPFLAGS_FOR_BUILD@@
CXXFLAGS_FOR_BUILD = @@CXXFLAGS_FOR_BUILD@@
CXX_FOR_BUILD = @@CXX_FOR_BUILD@@
DLLTOOL_FOR_BUILD = @@DLLTOOL_FOR_BUILD@@
DSYMUTIL_FOR_BUILD = @@DSYMUTIL_FOR_BUILD@@
GFORTRAN_FOR_BUILD = @@GFORTRAN_FOR_BUILD@@
GOC_FOR_BUILD = @@GOC_FOR_BUILD@@
GDC_FOR_BUILD = @@GDC_FOR_BUILD@@
GM2_FOR_BUILD = @@GM2_FOR_BUILD@@
GNATMAKE_FOR_BUILD = @@GNATMAKE_FOR_BUILD@@
LDFLAGS_FOR_BUILD = @@LDFLAGS_FOR_BUILD@@
LD_FOR_BUILD = @@LD_FOR_BUILD@@
NM_FOR_BUILD = @@NM_FOR_BUILD@@
RANLIB_FOR_BUILD = @@RANLIB_FOR_BUILD@@
WINDMC_FOR_BUILD = @@WINDMC_FOR_BUILD@@
WINDRES_FOR_BUILD = @@WINDRES_FOR_BUILD@@

# Special variables passed down in EXTRA_GCC_FLAGS.  They are defined
# here so that they can be overridden by Makefile fragments.
BUILD_PREFIX = @@BUILD_PREFIX@@
BUILD_PREFIX_1 = @@BUILD_PREFIX_1@@

# Flags to pass to stage2 and later makes.  They are defined
# here so that they can be overridden by Makefile fragments.
BOOT_CFLAGS= -g -O2
BOOT_LDFLAGS=
BOOT_ADAFLAGS= -gnatpg

AWK = @@AWK@@
SED = @@SED@@
BISON = @@BISON@@
YACC = @@YACC@@
FLEX = @@FLEX@@
LEX = @@LEX@@
M4 = @@M4@@
MAKEINFO = @@MAKEINFO@@
EXPECT = @@EXPECT@@
RUNTEST = @@RUNTEST@@

AUTO_PROFILE = gcc-auto-profile --all -c 10000000

# This just becomes part of the MAKEINFO definition passed down to
# sub-makes.  It lets flags be given on the command line while still
# using the makeinfo from the object tree.
# (Default to avoid splitting info files by setting the threshold high.)
MAKEINFOFLAGS = --split-size=5000000

# ---------------------------------------------
# Programs producing files for the HOST machine
# ---------------------------------------------

AS = @@AS@@
AR = @@AR@@ @@AR_PLUGIN_OPTION@@
AR_FLAGS = rc
CC = @@CC@@
CXX = @@CXX@@
DLLTOOL = @@DLLTOOL@@
DSYMUTIL = @@DSYMUTIL@@
LD = @@LD@@
LIPO = @@LIPO@@
NM = @@NM@@ @@NM_PLUGIN_OPTION@@
OBJDUMP = @@OBJDUMP@@
OTOOL = @@OTOOL@@
RANLIB = @@RANLIB@@ @@RANLIB_PLUGIN_OPTION@@
READELF = @@READELF@@
STRIP = @@STRIP@@
WINDRES = @@WINDRES@@
WINDMC = @@WINDMC@@

GDC = @@GDC@@
GNATBIND = @@GNATBIND@@
GNATMAKE = @@GNATMAKE@@

CFLAGS = @@CFLAGS@@
LDFLAGS = @@LDFLAGS@@
LIBCFLAGS = $(CFLAGS)
CXXFLAGS = @@CXXFLAGS@@
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
GOCFLAGS = $(CFLAGS)
GDCFLAGS = @@GDCFLAGS@@
GM2FLAGS = $(CFLAGS)

PKG_CONFIG_PATH = @@PKG_CONFIG_PATH@@

# Pass additional PGO and LTO compiler options to the PGO build.
BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS)
# Not supported by BSD make
# override CFLAGS += $(BUILD_CFLAGS)
# override CXXFLAGS += $(BUILD_CFLAGS)
CFLAGS += $(BUILD_CFLAGS)
CXXFLAGS += $(BUILD_CFLAGS)

# Additional PGO and LTO compiler options to generate profiling data
# for the PGO build.
PGO_BUILD_GEN_FLAGS_TO_PASS = \
	PGO_BUILD_CFLAGS="@@PGO_BUILD_GEN_CFLAGS@@" \
	PGO_BUILD_LTO_CFLAGS="@@PGO_BUILD_LTO_CFLAGS@@"

# NB: Filter out any compiler options which may fail PGO training runs.
PGO_BUILD_TRAINING_CFLAGS:= \
	$(filter-out -Werror=%,$(CFLAGS))
PGO_BUILD_TRAINING_CXXFLAGS:=\
	$(filter-out -Werror=%,$(CXXFLAGS))
PGO_BUILD_TRAINING_CFLAGS:= \
	$(filter-out -Wall,$(PGO_BUILD_TRAINING_CFLAGS))
PGO_BUILD_TRAINING_CXXFLAGS:= \
	$(filter-out -Wall,$(PGO_BUILD_TRAINING_CXXFLAGS))
PGO_BUILD_TRAINING_CFLAGS:= \
	$(filter-out -specs=%,$(PGO_BUILD_TRAINING_CFLAGS))
PGO_BUILD_TRAINING_CXXFLAGS:= \
	$(filter-out -specs=%,$(PGO_BUILD_TRAINING_CXXFLAGS))
PGO_BUILD_TRAINING_FLAGS_TO_PASS = \
	PGO_BUILD_TRAINING=yes \
	CFLAGS_FOR_TARGET="$(PGO_BUILD_TRAINING_CFLAGS)" \
	CXXFLAGS_FOR_TARGET="$(PGO_BUILD_TRAINING_CXXFLAGS)"

# Ignore "make check" errors in PGO training runs.
PGO_BUILD_TRAINING_MFLAGS = -i

# Additional PGO and LTO compiler options to use profiling data for the
# PGO build.
PGO_BUILD_USE_FLAGS_TO_PASS = \
	PGO_BUILD_CFLAGS="@@PGO_BUILD_USE_CFLAGS@@" \
	PGO_BUILD_LTO_CFLAGS="@@PGO_BUILD_LTO_CFLAGS@@"

# PGO training targets for the PGO build.  FIXME: Add gold tests to
# training.
PGO-TRAINING-TARGETS = binutils gas gdb ld sim
PGO_BUILD_TRAINING = $(addprefix maybe-check-,$(PGO-TRAINING-TARGETS))

CREATE_GCOV = create_gcov
PROFILE_MERGER = profile_merger

TFLAGS =

# Defaults for all stages; some are overridden below.

STAGE_CFLAGS = $(BOOT_CFLAGS)
STAGE_TFLAGS = $(TFLAGS)
STAGE_CONFIGURE_FLAGS=@@stage2_werror_flag@@

[+ FOR bootstrap-stage +]
# Defaults for stage [+id+]; some are overridden below.
STAGE[+id+]_CFLAGS = $(STAGE_CFLAGS)
STAGE[+id+]_CXXFLAGS = $(CXXFLAGS)
@@if target-libstdc++-v3-bootstrap
# Override the above if we're bootstrapping C++.
STAGE[+id+]_CXXFLAGS = $(STAGE[+id+]_CFLAGS)
@@endif target-libstdc++-v3-bootstrap
STAGE[+id+]_TFLAGS = $(STAGE_TFLAGS)
STAGE[+id+]_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS)
[+ ENDFOR bootstrap-stage +]

# By default, C and C++ are the only stage1 languages, because they are the
# only ones we require to build with the bootstrap compiler, and also the
# only ones useful for building stage2.

STAGE1_CFLAGS = @@stage1_cflags@@
STAGE1_CHECKING = @@stage1_checking@@
STAGE1_LANGUAGES = @@stage1_languages@@
# * We force-disable intermodule optimizations, even if
#   --enable-intermodule was passed, since the installed compiler
#   probably can't handle them.  Luckily, autoconf always respects
#   the last argument when conflicting --enable arguments are passed.
# * Likewise, we force-disable coverage flags, since the installed
#   compiler probably has never heard of them.
# * We also disable -Wformat, since older GCCs don't understand newer %s.
STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \
	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" \
	  --disable-build-format-warnings

@@if target-libphobos-bootstrap
STAGE1_CONFIGURE_FLAGS += --with-libphobos-druntime-only
STAGE2_CONFIGURE_FLAGS += --with-libphobos-druntime-only
@@endif target-libphobos-bootstrap

# When using the slow stage1 compiler disable IL verification and forcefully
# enable it when using the stage2 compiler instead.  As we later compare
# stage2 and stage3 we are merely avoid doing redundant work, plus we apply
# checking when building all target libraries for release builds.
STAGE1_TFLAGS += -fno-checking
STAGE2_CFLAGS += -fno-checking
STAGE2_TFLAGS += -fno-checking
STAGE3_CFLAGS += -fchecking=1
STAGE3_TFLAGS += -fchecking=1

STAGEprofile_CFLAGS = $(STAGE2_CFLAGS) -fprofile-generate
STAGEprofile_TFLAGS = $(STAGE2_TFLAGS)

STAGEtrain_CFLAGS = $(filter-out -fchecking=1,$(STAGE3_CFLAGS))
STAGEtrain_TFLAGS = $(filter-out -fchecking=1,$(STAGE3_TFLAGS))

STAGEfeedback_CFLAGS = $(STAGE4_CFLAGS) -fprofile-use -fprofile-reproducible=parallel-runs
STAGEfeedback_TFLAGS = $(STAGE4_TFLAGS)
# Disable warnings as errors for a few reasons:
# - sources for gen* binaries do not have .gcda files available
# - inlining decisions generate extra warnings
STAGEfeedback_CONFIGURE_FLAGS = $(filter-out --enable-werror-always,$(STAGE_CONFIGURE_FLAGS))

STAGEautoprofile_CFLAGS = $(filter-out -gtoggle,$(STAGE2_CFLAGS)) -g
STAGEautoprofile_TFLAGS = $(STAGE2_TFLAGS)

STAGEautofeedback_CFLAGS = $(STAGE3_CFLAGS)
STAGEautofeedback_TFLAGS = $(STAGE3_TFLAGS)
# Disable warnings as errors since inlining decisions with -fauto-profile
# may result in additional warnings.
STAGEautofeedback_CONFIGURE_FLAGS = $(filter-out --enable-werror-always,$(STAGE_CONFIGURE_FLAGS))

do-compare = @@do_compare@@
do-compare3 = $(do-compare)

# -----------------------------------------------
# Programs producing files for the TARGET machine
# -----------------------------------------------

AR_FOR_TARGET=@@AR_FOR_TARGET@@ @@AR_PLUGIN_OPTION_FOR_TARGET@@
AS_FOR_TARGET=@@AS_FOR_TARGET@@
CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @@CC_FOR_TARGET@@

# If GCC_FOR_TARGET is not overriden on the command line, then this
# variable is passed down to the gcc Makefile, where it is used to
# build libgcc2.a.  We define it here so that it can itself be
# overridden on the command line.
GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GCC_FOR_TARGET@@
CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @@CXX_FOR_TARGET@@
RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @@RAW_CXX_FOR_TARGET@@
GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GFORTRAN_FOR_TARGET@@
GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GOC_FOR_TARGET@@
GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GDC_FOR_TARGET@@
GM2_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GM2_FOR_TARGET@@
DLLTOOL_FOR_TARGET=@@DLLTOOL_FOR_TARGET@@
DSYMUTIL_FOR_TARGET=@@DSYMUTIL_FOR_TARGET@@
LD_FOR_TARGET=@@LD_FOR_TARGET@@

LIPO_FOR_TARGET=@@LIPO_FOR_TARGET@@
NM_FOR_TARGET=@@NM_FOR_TARGET@@ @@NM_PLUGIN_OPTION_FOR_TARGET@@
OBJDUMP_FOR_TARGET=@@OBJDUMP_FOR_TARGET@@
OBJCOPY_FOR_TARGET=@@OBJCOPY_FOR_TARGET@@
OTOOL_FOR_TARGET=@@OTOOL_FOR_TARGET@@
RANLIB_FOR_TARGET=@@RANLIB_FOR_TARGET@@ @@RANLIB_PLUGIN_OPTION_FOR_TARGET@@
READELF_FOR_TARGET=@@READELF_FOR_TARGET@@
STRIP_FOR_TARGET=@@STRIP_FOR_TARGET@@
WINDRES_FOR_TARGET=@@WINDRES_FOR_TARGET@@
WINDMC_FOR_TARGET=@@WINDMC_FOR_TARGET@@

COMPILER_AS_FOR_TARGET=@@COMPILER_AS_FOR_TARGET@@
COMPILER_LD_FOR_TARGET=@@COMPILER_LD_FOR_TARGET@@
COMPILER_NM_FOR_TARGET=@@COMPILER_NM_FOR_TARGET@@

CFLAGS_FOR_TARGET = @@CFLAGS_FOR_TARGET@@
CXXFLAGS_FOR_TARGET = @@CXXFLAGS_FOR_TARGET@@

LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
LDFLAGS_FOR_TARGET = @@LDFLAGS_FOR_TARGET@@
GM2FLAGS_FOR_TARGET = -O2 -g
GOCFLAGS_FOR_TARGET = -O2 -g
GDCFLAGS_FOR_TARGET = -O2 -g

FLAGS_FOR_TARGET = @@FLAGS_FOR_TARGET@@
SYSROOT_CFLAGS_FOR_TARGET = @@SYSROOT_CFLAGS_FOR_TARGET@@
DEBUG_PREFIX_CFLAGS_FOR_TARGET = @@DEBUG_PREFIX_CFLAGS_FOR_TARGET@@

XGCC_FLAGS_FOR_TARGET = $(FLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)

# ------------------------------------
# Miscellaneous targets and flag lists
# ------------------------------------

# The first rule in the file had better be this one.  Don't put any above it.
# This lives here to allow makefile fragments to contain dependencies.
all:

#### host and target specific makefile fragments come in here.
@@target_makefile_frag@@
@@alphaieee_frag@@
@@ospace_frag@@
@@host_makefile_frag@@
###

# This is the list of directories that may be needed in RPATH_ENVVAR
# so that programs built for the target machine work.
TARGET_LIB_PATH = [+ FOR target_modules +][+
  IF lib_path +]$(TARGET_LIB_PATH_[+module+])[+ ENDIF lib_path +][+
  ENDFOR target_modules +]$(HOST_LIB_PATH_gcc)
[+ FOR target_modules +][+ IF lib_path +]
@@if target-[+module+]
TARGET_LIB_PATH_[+module+] = $$r/$(TARGET_SUBDIR)/[+module+]/[+lib_path+]:
@@endif target-[+module+]
[+ ENDIF lib_path +][+ ENDFOR target_modules +]


# This is the list of directories that may be needed in RPATH_ENVVAR
# so that programs built for the host machine work.
HOST_LIB_PATH = [+ FOR host_modules +][+
  IF lib_path +]$(HOST_LIB_PATH_[+module+])[+ ENDIF lib_path +][+
  ENDFOR host_modules +]

# Define HOST_LIB_PATH_gcc here, for the sake of TARGET_LIB_PATH, ouch
@@if gcc
HOST_LIB_PATH_gcc = $$r/$(HOST_SUBDIR)/gcc$(GCC_SHLIB_SUBDIR):$$r/$(HOST_SUBDIR)/prev-gcc$(GCC_SHLIB_SUBDIR):
@@endif gcc

[+ FOR host_modules +][+ IF lib_path +]
@@if [+module+]
HOST_LIB_PATH_[+module+] = \
  $$r/$(HOST_SUBDIR)/[+module+]/[+lib_path+]:[+ IF bootstrap
  +]$$r/$(HOST_SUBDIR)/prev-[+module+]/[+lib_path+]:[+ ENDIF bootstrap +]
@@endif [+module+]
[+ ENDIF lib_path +][+ ENDFOR host_modules +]

CXX_FOR_TARGET_FLAG_TO_PASS = \
	"CXX_FOR_TARGET=$(CXX_FOR_TARGET)"
@@if target-libstdc++-v3
# CXX_FOR_TARGET is tricky to get right for target libs that require a
# functional C++ compiler.  When we recurse, if we expand
# CXX_FOR_TARGET before configuring libstdc++-v3, we won't get
# libstdc++ include flags from the script.  Instead, we get an
# -funconfigured-* word, so that we'll get errors if this invalid C++
# command line is used for anything, but also so that we can use the
# word to decide whether or not to pass on this CXX_FOR_TARGET.  If we
# don't pass it on, sub-make will use the default definition, that
# re-expands it at the time of use, so we'll get it right when we need
# it.  One potential exception is the expansion of CXX_FOR_TARGET
# passed down as part of CXX within TARGET_FLAGS, but this wouldn't
# really work, for C++ host programs can't depend on the current-stage
# C++ target library.
CXX_FOR_TARGET_FLAG_TO_PASS = \
	$(shell if echo "$(CXX_FOR_TARGET)" | grep " -funconfigured-" > /dev/null; then :; else echo '"CXX_FOR_TARGET=$(CXX_FOR_TARGET)"'; fi)
@@endif target-libstdc++-v3

# Flags to pass down to all sub-makes. STAGE*FLAGS,
# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
# overrideable (for a bootstrap build stage1 also builds gcc.info).
BASE_FLAGS_TO_PASS =[+ FOR flags_to_pass +][+ IF optional +] \
	"`echo '[+flag+]=$([+flag+])' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"[+ ELSE optional +] \
	"[+flag+]=$([+flag+])"[+ ENDIF optional+][+ ENDFOR flags_to_pass +][+ FOR bootstrap-stage +] \
	"STAGE[+id+]_CFLAGS=$(STAGE[+id+]_CFLAGS)" \
	"STAGE[+id+]_CXXFLAGS=$(STAGE[+id+]_CXXFLAGS)" \
	"STAGE[+id+]_GENERATOR_CFLAGS=$(STAGE[+id+]_GENERATOR_CFLAGS)" \
	"STAGE[+id+]_TFLAGS=$(STAGE[+id+]_TFLAGS)"[+ ENDFOR bootstrap-stage +] \
	$(CXX_FOR_TARGET_FLAG_TO_PASS) \
	"TFLAGS=$(TFLAGS)" \
	"CONFIG_SHELL=$(SHELL)" \
	"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
	$(if $(LSAN_OPTIONS),"LSAN_OPTIONS=$(LSAN_OPTIONS)")

# We leave this in just in case, but it is not needed anymore.
RECURSE_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS)

# Flags to pass down to most sub-makes, in which we're building with
# the host environment.
EXTRA_HOST_FLAGS = \
	'AR=$(AR)' \
	'AS=$(AS)' \
	'CC=$(CC)' \
	'CXX=$(CXX)' \
	'DLLTOOL=$(DLLTOOL)' \
	'DSYMUTIL=$(DSYMUTIL)' \
	'GFORTRAN=$(GFORTRAN)' \
	'GOC=$(GOC)' \
	'GDC=$(GDC)' \
	'GM2=$(GM2)' \
	'LD=$(LD)' \
	'LIPO=$(LIPO)' \
	'NM=$(NM)' \
	'OBJDUMP=$(OBJDUMP)' \
	'OTOOL=$(OTOOL)' \
	'RANLIB=$(RANLIB)' \
	'READELF=$(READELF)' \
	'STRIP=$(STRIP)' \
	'WINDRES=$(WINDRES)' \
	'WINDMC=$(WINDMC)' \
	'CREATE_GCOV=$(CREATE_GCOV)' \
	'PROFILE_MERGER=$(PROFILE_MERGER)'

FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)

# Flags to pass to stage1 or when not bootstrapping.

STAGE1_FLAGS_TO_PASS = \
	LDFLAGS="$${LDFLAGS}" \
	HOST_LIBS="$${HOST_LIBS}"

# Flags to pass to stage2 and later makes.

POSTSTAGE1_FLAGS_TO_PASS = \
	CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
	CXX="$${CXX}" CXX_FOR_BUILD="$${CXX_FOR_BUILD}" \
	GDC="$${GDC}" GDC_FOR_BUILD="$${GDC_FOR_BUILD}" \
	GM2="$${GM2}" GM2_FOR_BUILD="$${GM2_FOR_BUILD}" \
	GNATBIND="$${GNATBIND}" \
	LDFLAGS="$${LDFLAGS}" \
	HOST_LIBS="$${HOST_LIBS}" \
	$(LTO_FLAGS_TO_PASS) \
	"`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"

@@if gcc-bootstrap
EXTRA_HOST_EXPORTS = if [ $(current_stage) != stage1 ]; then \
		       $(POSTSTAGE1_HOST_EXPORTS) \
		     fi;

EXTRA_BOOTSTRAP_FLAGS = CC="$$CC" CXX="$$CXX" LDFLAGS="$$LDFLAGS"
@@endif gcc-bootstrap

# Flags to pass down to makes which are built with the target environment.
# The double $ decreases the length of the command line; those variables
# are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them.  The
# *_CFLAGS_FOR_TARGET variables are not passed down and most often empty,
# so we expand them here.
EXTRA_TARGET_FLAGS = \
	'AR=$$(AR_FOR_TARGET)' \
	'AS=$(COMPILER_AS_FOR_TARGET)' \
	'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
	'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
	'CXX=$$(CXX_FOR_TARGET) -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
	 -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
	 $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
	'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
	'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
	'DSYMUTIL=$$(DSYMUTIL_FOR_TARGET)' \
	'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
	'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
	'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
	'GDC=$$(GDC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
	'GDCFLAGS=$$(GDCFLAGS_FOR_TARGET)' \
	'GM2=$$(GM2_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
	'GM2FLAGS=$$(GM2FLAGS_FOR_TARGET)' \
	'LD=$(COMPILER_LD_FOR_TARGET)' \
	'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
	'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
	'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
	'NM=$(COMPILER_NM_FOR_TARGET)' \
	'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \
	'OBJCOPY=$$(OBJCOPY_FOR_TARGET)' \
	'RANLIB=$$(RANLIB_FOR_TARGET)' \
	'READELF=$$(READELF_FOR_TARGET)' \
	'WINDRES=$$(WINDRES_FOR_TARGET)' \
	'WINDMC=$$(WINDMC_FOR_TARGET)' \
	'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \
	'STAGE1_LDFLAGS=$$(POSTSTAGE1_LDFLAGS)' \
	'STAGE1_LIBS=$$(POSTSTAGE1_LIBS)' \
	"TFLAGS=$$TFLAGS"

TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)

# Flags to pass down to gcc.  gcc builds a library, libgcc.a, so it
# unfortunately needs the native compiler and the target ar and
# ranlib.
# If any variables are added here, they must be added to do-*, below.
# The BUILD_* variables are a special case, which are used for the gcc
# cross-building scheme.
EXTRA_GCC_FLAGS = \
	"GCC_FOR_TARGET=$(GCC_FOR_TARGET) $$TFLAGS" \
	"GM2_FOR_TARGET=$(GM2_FOR_TARGET) $$TFLAGS" \
	"`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
	"`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"

GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS)

@@if gcc
BUILD_CONFIG = @@BUILD_CONFIG@@
ifneq ($(BUILD_CONFIG),)
include $(foreach CONFIG, $(BUILD_CONFIG), $(srcdir)/config/$(CONFIG).mk)
endif
@@endif gcc

.PHONY: configure-host
configure-host: [+
  FOR host_modules +] \
    maybe-configure-[+module+][+
  ENDFOR host_modules +]
.PHONY: configure-target
configure-target: [+
  FOR target_modules +] \
    maybe-configure-target-[+module+][+
  ENDFOR target_modules +]

# The target built for a native non-bootstrap build.
.PHONY: all

# --enable-pgo-build enables the PGO build.
# 1. First build with -fprofile-generate.
# 2. Use "make maybe-check-*" to generate profiling data.
# 3. Use "make clean" to remove the previous build.
# 4. Rebuild with -fprofile-use.
all:
@@if gcc-bootstrap
	[ -f stage_final ] || echo stage3 > stage_final
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(MAKE) $(RECURSE_FLAGS_TO_PASS) `cat stage_final`-bubble
@@endif gcc-bootstrap
	@@: $(MAKE); $(unstage)
	+@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@if gcc-bootstrap
	if [ -f stage_last ]; then \
	  TFLAGS="$(STAGE$(shell test ! -f stage_last || sed s,^stage,, stage_last)_TFLAGS)"; \
	  $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target; \
	else \
@@endif gcc-bootstrap
	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) \
		$(PGO_BUILD_GEN_FLAGS_TO_PASS) all-host all-target \
@@if pgo-build
	&& $(MAKE) $(RECURSE_FLAGS_TO_PASS) \
		$(PGO_BUILD_TRAINING_MFLAGS) \
		$(PGO_BUILD_TRAINING_FLAGS_TO_PASS) \
		$(PGO_BUILD_TRAINING) \
	&& $(MAKE) $(RECURSE_FLAGS_TO_PASS) clean \
	&& $(MAKE) $(RECURSE_FLAGS_TO_PASS) \
		$(PGO_BUILD_USE_FLAGS_TO_PASS) all-host all-target \
@@endif pgo-build
@@if gcc-bootstrap
	    ; \
	fi \
@@endif gcc-bootstrap
	&& :

.PHONY: all-build
[+ FOR build_modules +]
all-build: maybe-all-build-[+module+][+ ENDFOR build_modules +]

.PHONY: all-host
[+ FOR host_modules +][+ IF bootstrap +]
@@if [+module+]-no-bootstrap[+ ENDIF bootstrap +]
all-host: maybe-all-[+module+][+ IF bootstrap +]
@@endif [+module+]-no-bootstrap[+ ENDIF bootstrap +][+ ENDFOR host_modules +]

.PHONY: all-target
[+ FOR target_modules +][+ IF bootstrap +]
@@if target-[+module+]-no-bootstrap[+ ENDIF bootstrap +]
all-target: maybe-all-target-[+module+][+ IF bootstrap +]
@@endif target-[+module+]-no-bootstrap[+
  ENDIF bootstrap +][+ ENDFOR target_modules +]

# Do a target for all the subdirectories.  A ``make do-X'' will do a
# ``make X'' in all subdirectories (because, in general, there is a
# dependency (below) of X upon do-X, a ``make X'' will also do this,
# but it may do additional work as well).
[+ FOR recursive_targets +]
.PHONY: do-[+make_target+]
do-[+make_target+]:
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(MAKE) $(RECURSE_FLAGS_TO_PASS) [+make_target+]-host \
	  [+make_target+]-target


.PHONY: [+make_target+]-host
[+ FOR host_modules +]
[+make_target+]-host: maybe-[+make_target+]-[+module+][+ ENDFOR host_modules +]

.PHONY: [+make_target+]-target
[+ FOR target_modules +]
[+make_target+]-target: maybe-[+make_target+]-target-[+module+][+ ENDFOR target_modules +]
[+ ENDFOR recursive_targets +]

# Here are the targets which correspond to the do-X targets.

.PHONY: info installcheck dvi pdf html
.PHONY: install-info install-dvi install-pdf install-html
.PHONY: clean distclean mostlyclean maintainer-clean realclean
.PHONY: local-clean local-distclean local-maintainer-clean
info: do-info
installcheck: do-installcheck
dvi: do-dvi
pdf: do-pdf
html: do-html

# Make sure makeinfo is built before we do a `make info', if we're
# in fact building texinfo.
do-info: maybe-all-texinfo

install-info: do-install-info dir.info
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	if [ -f dir.info ]; then \
	  $(INSTALL_DATA) dir.info $(DESTDIR)$(infodir)/dir.info; \
	else true; fi

install-dvi: do-install-dvi

install-pdf: do-install-pdf

install-html: do-install-html

local-clean:
	-rm -f *.a TEMP errs core *.o *~ \#* TAGS *.E *.log

local-distclean:
	-rm -f Makefile config.status config.cache mh-frag mt-frag
	-rm -f maybedep.tmp serdep.tmp stage_final
	-if [ "$(TARGET_SUBDIR)" != "." ]; then \
	  rm -rf $(TARGET_SUBDIR); \
	else true; fi
	-rm -rf $(BUILD_SUBDIR)
	-if [ "$(HOST_SUBDIR)" != "." ]; then \
	  rm -rf $(HOST_SUBDIR); \
	else true; fi
	-rm -f texinfo/po/Makefile texinfo/po/Makefile.in texinfo/info/Makefile
	-rm -f texinfo/doc/Makefile texinfo/po/POTFILES
	-rmdir texinfo/doc texinfo/info texinfo/intl texinfo/lib 2>/dev/null
	-rmdir texinfo/makeinfo texinfo/po texinfo/util 2>/dev/null
	-rmdir c++tools fastjar gcc gnattools gotools 2>/dev/null
	-rmdir libcc1 libiberty texinfo zlib 2>/dev/null
	-find . -name config.cache -exec rm -f {} \; \; 2>/dev/null

local-maintainer-clean:
	@@echo "This command is intended for maintainers to use;"
	@@echo "it deletes files that may require special tools to rebuild."

clean: do-clean local-clean
mostlyclean: do-mostlyclean local-clean
distclean: do-distclean local-clean local-distclean
maintainer-clean: local-maintainer-clean do-maintainer-clean local-clean 
maintainer-clean: local-distclean
realclean: maintainer-clean

# Check target.

.PHONY: check do-check
check: do-check

# Only include modules actually being configured and built.
.PHONY: check-host
check-host: [+
  FOR host_modules +] \
    maybe-check-[+module+][+
  ENDFOR host_modules +]

.PHONY: check-target
check-target: [+
  FOR target_modules +] \
    maybe-check-target-[+module+][+
  ENDFOR target_modules +]

do-check:
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(MAKE) $(RECURSE_FLAGS_TO_PASS) check-host check-target

# Automated reporting of test results.

warning.log: build.log
	$(srcdir)/contrib/warn_summary build.log > $@@

mail-report.log:
	if test x'$(BOOT_CFLAGS)' != x''; then \
	    BOOT_CFLAGS='$(BOOT_CFLAGS)'; export BOOT_CFLAGS; \
	fi; \
	$(srcdir)/contrib/test_summary -t >$@@
	chmod +x $@@
	echo If you really want to send e-mail, run ./$@@ now

mail-report-with-warnings.log: warning.log
	if test x'$(BOOT_CFLAGS)' != x''; then \
	    BOOT_CFLAGS='$(BOOT_CFLAGS)'; export BOOT_CFLAGS; \
	fi; \
	$(srcdir)/contrib/test_summary -t -i warning.log >$@@
	chmod +x $@@
	echo If you really want to send e-mail, run ./$@@ now

# Local Vim config

$(srcdir)/.local.vimrc:
	$(LN_S) contrib/vimrc $@@

$(srcdir)/.lvimrc:
	$(LN_S) contrib/vimrc $@@

vimrc: $(srcdir)/.local.vimrc $(srcdir)/.lvimrc

.PHONY: vimrc

# clang-format config

$(srcdir)/.clang-format:
	$(LN_S) contrib/clang-format $@@

clang-format: $(srcdir)/.clang-format

.PHONY: clang-format

# Installation targets.

.PHONY: install uninstall
install:
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(MAKE) $(RECURSE_FLAGS_TO_PASS) installdirs install-host install-target

.PHONY: install-host-nogcc
install-host-nogcc: [+
  FOR host_modules +][+ IF (not (= (get "module") "gcc")) +] \
    maybe-install-[+module+][+ ENDIF +][+
  ENDFOR host_modules +]

.PHONY: install-host
install-host: [+
  FOR host_modules +] \
    maybe-install-[+module+][+
  ENDFOR host_modules +]

.PHONY: install-target
install-target: [+
  FOR target_modules +] \
    maybe-install-target-[+module+][+
  ENDFOR target_modules +]

uninstall:
	@@echo "the uninstall target is not supported in this tree"

.PHONY: install.all
install.all: install-no-fixedincludes
	@@if [ -f ./gcc/Makefile ]; then \
		r=`${PWD_COMMAND}`; export r; \
		s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
		$(HOST_EXPORTS) \
		(cd ./gcc && \
		$(MAKE) $(FLAGS_TO_PASS) install-headers); \
	else \
		true; \
	fi

# install-no-fixedincludes is used to allow the elaboration of binary packages
# suitable for distribution, where we cannot include the fixed system header
# files.
.PHONY: install-no-fixedincludes
install-no-fixedincludes: installdirs install-host-nogcc \
	install-target gcc-install-no-fixedincludes

.PHONY: install-strip
install-strip:
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(MAKE) $(RECURSE_FLAGS_TO_PASS) installdirs install-strip-host install-strip-target

.PHONY: install-strip-host
install-strip-host: [+
  FOR host_modules +] \
    maybe-install-strip-[+module+][+
  ENDFOR host_modules +]

.PHONY: install-strip-target
install-strip-target: [+
  FOR target_modules +] \
    maybe-install-strip-target-[+module+][+
  ENDFOR target_modules +]


### other supporting targets

MAKEDIRS= \
	$(DESTDIR)$(prefix) \
	$(DESTDIR)$(exec_prefix)
.PHONY: installdirs
installdirs: mkinstalldirs
	$(SHELL) $(srcdir)/mkinstalldirs $(MAKEDIRS)

dir.info: do-install-info
	if [ -f $(srcdir)/texinfo/gen-info-dir ]; then \
	  $(srcdir)/texinfo/gen-info-dir $(DESTDIR)$(infodir) $(srcdir)/texinfo/dir.info-template > dir.info.new; \
	  mv -f dir.info.new dir.info; \
	else true; \
	fi

dist:
	@@echo "Building a full distribution of this tree isn't done"
	@@echo "via 'make dist'.  Check out the etc/ subdirectory" 

etags tags: TAGS

# Right now this just builds TAGS in each subdirectory.  emacs19 has the
# ability to use several tags files at once, so there is probably no need
# to combine them into one big TAGS file (like CVS 1.3 does).  We could
# (if we felt like it) have this Makefile write a piece of elisp which
# the user could load to tell emacs19 where all the TAGS files we just
# built are.
TAGS: do-TAGS

# ------------------------------------
# Macros for configure and all targets
# ------------------------------------

[+ DEFINE configure +]
.PHONY: configure-[+prefix+][+module+] maybe-configure-[+prefix+][+module+]
maybe-configure-[+prefix+][+module+]:
@@if gcc-bootstrap
configure-[+prefix+][+module+]: stage_current
@@endif gcc-bootstrap
@@if [+prefix+][+module+]
maybe-configure-[+prefix+][+module+]: configure-[+prefix+][+module+]
configure-[+prefix+][+module+]: [+ IF bootstrap +][+ ELSE +]
	@@: $(MAKE); $(unstage)[+ ENDIF bootstrap +]
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	[+ IF check_multilibs
	+]echo "Checking multilib configuration for [+module+]..."; \
	$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+]; \
	$(CC_FOR_TARGET) --print-multi-lib > [+subdir+]/[+module+]/multilib.tmp 2> /dev/null; \
	if test -r [+subdir+]/[+module+]/multilib.out; then \
	  if cmp -s [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; then \
	    rm -f [+subdir+]/[+module+]/multilib.tmp; \
	  else \
	    rm -f [+subdir+]/[+module+]/Makefile; \
	    mv [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; \
	  fi; \
	else \
	  mv [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; \
	fi; \
	[+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \
	$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+]; \
	[+exports+] [+extra_exports+] \
	echo Configuring in [+subdir+]/[+module+]; \
	cd "[+subdir+]/[+module+]" || exit 1; \
	case $(srcdir) in \
	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
	  *) topdir=`echo [+subdir+]/[+module+]/ | \
		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
	esac; \
	module_srcdir=[+? module_srcdir (get "module_srcdir") (get "module")+]; \
	[+ IF no-config-site +]rm -f no-such-file || : ; \
	CONFIG_SITE=no-such-file [+ ENDIF +]$(SHELL) \
	  $$s/$$module_srcdir/configure \
	  --srcdir=$${topdir}/$$module_srcdir \
	  [+args+] --build=${build_alias} --host=[+host_alias+] \
	  --target=[+target_alias+] [+extra_configure_flags+] \
	  || exit 1
@@endif [+prefix+][+module+]

[+ IF bootstrap +]
[+ FOR bootstrap_stage +]
.PHONY: configure-stage[+id+]-[+prefix+][+module+] maybe-configure-stage[+id+]-[+prefix+][+module+]
maybe-configure-stage[+id+]-[+prefix+][+module+]:
@@if [+prefix+][+module+]-bootstrap
maybe-configure-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+]
configure-stage[+id+]-[+prefix+][+module+]:
	@@[ $(current_stage) = stage[+id+] ] || $(MAKE) stage[+id+]-start
	@@$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+]
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
	[+ IF check_multilibs
	+]echo "Checking multilib configuration for [+module+]..."; \
	$(CC_FOR_TARGET) --print-multi-lib > [+subdir+]/[+module+]/multilib.tmp 2> /dev/null; \
	if test -r [+subdir+]/[+module+]/multilib.out; then \
	  if cmp -s [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; then \
	    rm -f [+subdir+]/[+module+]/multilib.tmp; \
	  else \
	    rm -f [+subdir+]/[+module+]/Makefile; \
	    mv [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; \
	  fi; \
	else \
	  mv [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; \
	fi; \
	[+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \
	[+exports+][+ IF prev +] \
	[+poststage1_exports+][+ ENDIF prev +][+ IF prefix +] \
	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;[+ ELSE prefix +] \
	CFLAGS="$(STAGE[+id+]_CFLAGS)"; export CFLAGS; \
	CXXFLAGS="$(STAGE[+id+]_CXXFLAGS)"; export CXXFLAGS;[+ IF prev +] \
	LIBCFLAGS="$(STAGE[+id+]_CFLAGS)"[+ ELSE prev +] \
	LIBCFLAGS="$(LIBCFLAGS)"[+ ENDIF prev +]; export LIBCFLAGS;[+
  ENDIF prefix +] [+extra_exports+] \
	echo Configuring stage [+id+] in [+subdir+]/[+module+]; \
	$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+]; \
	cd [+subdir+]/[+module+] || exit 1; \
	case $(srcdir) in \
	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
	  *) topdir=`echo [+subdir+]/[+module+]/ | \
		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
	esac; \
	module_srcdir=[+? module_srcdir (get "module_srcdir") (get "module")+]; \
	$(SHELL) $$s/$$module_srcdir/configure \
	  --srcdir=$${topdir}/$$module_srcdir \
	  [+args+] --build=${build_alias} --host=[+host_alias+] \
	  --target=[+target_alias+] \
	  [+ IF prev +]--with-build-libsubdir=$(HOST_SUBDIR)[+ ENDIF prev +] \
	  $(STAGE[+id+]_CONFIGURE_FLAGS)[+ IF extra_configure_flags +] \
	  [+extra_configure_flags+][+ ENDIF extra_configure_flags +]
@@endif [+prefix+][+module+]-bootstrap
[+ ENDFOR bootstrap_stage +]
[+ ENDIF bootstrap +]
[+ ENDDEF +]

[+ DEFINE all +]
.PHONY: all-[+prefix+][+module+] maybe-all-[+prefix+][+module+]
maybe-all-[+prefix+][+module+]:
@@if gcc-bootstrap
all-[+prefix+][+module+]: stage_current
@@endif gcc-bootstrap
@@if [+prefix+][+module+]
TARGET-[+prefix+][+module+]=[+
  IF all_target +][+all_target+][+ ELSE +]all[+ ENDIF all_target +]
maybe-all-[+prefix+][+module+]: all-[+prefix+][+module+]
all-[+prefix+][+module+]: configure-[+prefix+][+module+][+ IF bootstrap +][+ ELSE +]
	@@: $(MAKE); $(unstage)[+ ENDIF bootstrap +]
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	[+exports+] [+extra_exports+] \
	(cd [+subdir+]/[+module+] && \
	  $(MAKE) $(BASE_FLAGS_TO_PASS) [+args+] [+stage1_args+] [+extra_make_flags+] \
		$(TARGET-[+prefix+][+module+]))
@@endif [+prefix+][+module+]

[+ IF bootstrap +]
[+ FOR bootstrap_stage +]
.PHONY: all-stage[+id+]-[+prefix+][+module+] maybe-all-stage[+id+]-[+prefix+][+module+]
.PHONY: clean-stage[+id+]-[+prefix+][+module+] maybe-clean-stage[+id+]-[+prefix+][+module+]
maybe-all-stage[+id+]-[+prefix+][+module+]:
maybe-clean-stage[+id+]-[+prefix+][+module+]:
@@if [+prefix+][+module+]-bootstrap
maybe-all-stage[+id+]-[+prefix+][+module+]: all-stage[+id+]-[+prefix+][+module+]
all-stage[+id+]: all-stage[+id+]-[+prefix+][+module+]
TARGET-stage[+id+]-[+prefix+][+module+] = $(TARGET-[+prefix+][+module+])
all-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+]
	@@[ $(current_stage) = stage[+id+] ] || $(MAKE) stage[+id+]-start
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
	[+exports+][+ IF prev +] \
	[+poststage1_exports+][+ ENDIF prev +] [+extra_exports+] \
	cd [+subdir+]/[+module+] && \
	[+autoprofile+] \
	$(MAKE) $(BASE_FLAGS_TO_PASS)[+ IF prefix +] \
		CFLAGS="$(CFLAGS_FOR_TARGET)" \
		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"[+ ELSE prefix +] \
		CFLAGS="$(STAGE[+id+]_CFLAGS)" \
		GENERATOR_CFLAGS="$(STAGE[+id+]_GENERATOR_CFLAGS)" \
		CXXFLAGS="$(STAGE[+id+]_CXXFLAGS)"[+ IF prev +] \
		LIBCFLAGS="$(STAGE[+id+]_CFLAGS)"[+ ELSE prev +] \
		LIBCFLAGS="$(LIBCFLAGS)"[+ ENDIF prev +][+ ENDIF prefix +] \
		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
		[+args+] [+IF prev +][+poststage1_args+][+ ELSE prev +] \
		[+stage1_args+][+ ENDIF prev +] [+extra_make_flags+] \
		TFLAGS="$(STAGE[+id+]_TFLAGS)" [+profile_data+] \
		$(TARGET-stage[+id+]-[+prefix+][+module+])

maybe-clean-stage[+id+]-[+prefix+][+module+]: clean-stage[+id+]-[+prefix+][+module+]
clean-stage[+id+]: clean-stage[+id+]-[+prefix+][+module+]
clean-stage[+id+]-[+prefix+][+module+]:
	@@if [ $(current_stage) = stage[+id+] ]; then \
	  [ -f [+subdir+]/[+module+]/Makefile ] || exit 0; \
	else \
	  [ -f [+subdir+]/stage[+id+]-[+module+]/Makefile ] || exit 0; \
	  $(MAKE) stage[+id+]-start; \
	fi; \
	cd [+subdir+]/[+module+] && \
	$(MAKE) [+args+] [+ IF prev +][+poststage1_args+][+ ELSE prev +] \
	[+stage1_args+][+ ENDIF prev +] [+extra_make_flags+] clean
@@endif [+prefix+][+module+]-bootstrap

[+ ENDFOR bootstrap_stage +]
[+ ENDIF bootstrap +]
[+ ENDDEF +]

# --------------------------------------
# Modules which run on the build machine
# --------------------------------------
[+ FOR build_modules +]
[+ configure prefix="build-" subdir="$(BUILD_SUBDIR)" exports="$(BUILD_EXPORTS)"
	     host_alias=(get "host" "${build_alias}")
	     target_alias=(get "target" "${target_alias}")
	     args="$(BUILD_CONFIGARGS)" no-config-site=true +]

[+ all prefix="build-" subdir="$(BUILD_SUBDIR)" exports="$(BUILD_EXPORTS)"
	     args="$(EXTRA_BUILD_FLAGS)" +]
[+ ENDFOR build_module +]

# --------------------------------------
# Modules which run on the host machine
# --------------------------------------
[+ FOR host_modules +]
[+ configure prefix="" subdir="$(HOST_SUBDIR)"
	     exports="$(HOST_EXPORTS)"
	     poststage1_exports="$(POSTSTAGE1_HOST_EXPORTS)"
	     host_alias=(get "host" "${host_alias}")
	     target_alias=(get "target" "${target_alias}")
	     args="$(HOST_CONFIGARGS)" +]

[+ all prefix="" subdir="$(HOST_SUBDIR)"
       exports="$(HOST_EXPORTS)"
       poststage1_exports="$(POSTSTAGE1_HOST_EXPORTS)"
       args="$(EXTRA_HOST_FLAGS)"
       stage1_args="$(STAGE1_FLAGS_TO_PASS)"
       poststage1_args="$(POSTSTAGE1_FLAGS_TO_PASS)" +]

.PHONY: check-[+module+] maybe-check-[+module+]
maybe-check-[+module+]:
@@if [+module+]
maybe-check-[+module+]: check-[+module+]
[+ IF no_check +]
check-[+module+]:
[+ ELIF no_check_cross +]
# This module is only tested in a native toolchain.
check-[+module+]:
	@@: $(MAKE); $(unstage)
	@@if [ '$(host)' = '$(target)' ]; then \
	  r=`${PWD_COMMAND}`; export r; \
	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	  $(HOST_EXPORTS) [+ IF bootstrap +]$(EXTRA_HOST_EXPORTS)[+
	  ENDIF bootstrap +] \
	  (cd $(HOST_SUBDIR)/[+module+] && \
	    $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+][+
	    IF bootstrap +] $(EXTRA_BOOTSTRAP_FLAGS)[+ ENDIF bootstrap +] check)
	fi
[+ ELSE check +]
check-[+module+]:
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(HOST_EXPORTS) [+ IF bootstrap +]$(EXTRA_HOST_EXPORTS)[+
	ENDIF bootstrap +] \
	(cd $(HOST_SUBDIR)/[+module+] && \
	  $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+][+
	  IF bootstrap +] $(EXTRA_BOOTSTRAP_FLAGS)[+ ENDIF bootstrap +] check)
[+ ENDIF no_check +]
@@endif [+module+]

.PHONY: install-[+module+] maybe-install-[+module+]
maybe-install-[+module+]:
@@if [+module+]
maybe-install-[+module+]: install-[+module+]
[+ IF no_install +]
install-[+module+]:
[+ ELSE install +]
install-[+module+]: installdirs
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(HOST_EXPORTS) \
	(cd $(HOST_SUBDIR)/[+module+] && \
	  $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] install)
[+ ENDIF no_install +]
@@endif [+module+]

.PHONY: install-strip-[+module+] maybe-install-strip-[+module+]
maybe-install-strip-[+module+]:
@@if [+module+]
maybe-install-strip-[+module+]: install-strip-[+module+]
[+ IF no_install +]
install-strip-[+module+]:
[+ ELSE install +]
install-strip-[+module+]: installdirs
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(HOST_EXPORTS) \
	(cd $(HOST_SUBDIR)/[+module+] && \
	  $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] install-strip)
[+ ENDIF no_install +]
@@endif [+module+]

# Other targets (info, dvi, pdf, etc.)
[+ FOR recursive_targets +]
.PHONY: maybe-[+make_target+]-[+module+] [+make_target+]-[+module+]
maybe-[+make_target+]-[+module+]:
@@if [+module+]
maybe-[+make_target+]-[+module+]: [+make_target+]-[+module+]
[+ IF (match-value? = "missing" (get "make_target") ) +]
# [+module+] doesn't support [+make_target+].
[+make_target+]-[+module+]:
[+ ELSE +]
[+make_target+]-[+module+]: [+
  FOR depend +]\
    [+depend+]-[+module+] [+
  ENDFOR depend +]
	@@[+ IF bootstrap +][+ ELSE +]: $(MAKE); $(unstage)
	@@[+ ENDIF bootstrap +][ -f ./[+module+]/Makefile ] || exit 0; \
	r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(HOST_EXPORTS) \
	for flag in $(EXTRA_HOST_FLAGS) [+extra_make_flags+]; do \
	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
	done; \
	echo "Doing [+make_target+] in [+module+]"; \
	(cd $(HOST_SUBDIR)/[+module+] && \
	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
	          "RANLIB=$${RANLIB}" \
	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
	          [+make_target+]) \
	  || exit 1
[+ ENDIF +]
@@endif [+module+]
[+ ENDFOR recursive_targets +]
[+ ENDFOR host_modules +]

# ---------------------------------------
# Modules which run on the target machine
# ---------------------------------------
[+ FOR target_modules +]

[+ IF raw_cxx +]
[+ configure prefix="target-" subdir="$(TARGET_SUBDIR)"
	     check_multilibs=true
	     exports="$(RAW_CXX_TARGET_EXPORTS)"
	     host_alias=(get "host" "${target_alias}")
	     target_alias=(get "target" "${target_alias}")
	     args="$(TARGET_CONFIGARGS)" no-config-site=true +]

[+ all prefix="target-" subdir="$(TARGET_SUBDIR)"
       exports="$(RAW_CXX_TARGET_EXPORTS)"
       args="$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'" +]
[+ ELSE +]
[+ configure prefix="target-" subdir="$(TARGET_SUBDIR)"
	     check_multilibs=true
	     exports="$(NORMAL_TARGET_EXPORTS)"
	     host_alias=(get "host" "${target_alias}")
	     target_alias=(get "target" "${target_alias}")
	     args="$(TARGET_CONFIGARGS)" no-config-site=true +]

[+ all prefix="target-" subdir="$(TARGET_SUBDIR)"
       exports="$(NORMAL_TARGET_EXPORTS)"
       args="$(EXTRA_TARGET_FLAGS)" +]
[+ ENDIF +]

.PHONY: check-target-[+module+] maybe-check-target-[+module+]
maybe-check-target-[+module+]:
@@if target-[+module+]
maybe-check-target-[+module+]: check-target-[+module+]
[+ IF no_check +]
# Dummy target for uncheckable module.
check-target-[+module+]:
[+ ELSE check +]
check-target-[+module+]:
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \[+
IF raw_cxx +]
	$(RAW_CXX_TARGET_EXPORTS) \[+
ELSE normal_cxx +]
	$(NORMAL_TARGET_EXPORTS) \[+
ENDIF raw_cxx +]
	(cd $(TARGET_SUBDIR)/[+module+] && \
	  $(MAKE) $(TARGET_FLAGS_TO_PASS) [+
	    IF raw_cxx 
	      +] 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' [+ 
	    ENDIF raw_cxx 
	  +] [+extra_make_flags+] check)
[+ ENDIF no_check +]
@@endif target-[+module+]

.PHONY: install-target-[+module+] maybe-install-target-[+module+]
maybe-install-target-[+module+]:
@@if target-[+module+]
maybe-install-target-[+module+]: install-target-[+module+]
[+ IF no_install +]
# Dummy target for uninstallable.
install-target-[+module+]:
[+ ELSE install +]
install-target-[+module+]: installdirs
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \[+
IF raw_cxx +]
	$(RAW_CXX_TARGET_EXPORTS) \[+
ELSE normal_cxx +]
	$(NORMAL_TARGET_EXPORTS) \[+
ENDIF raw_cxx +]
	(cd $(TARGET_SUBDIR)/[+module+] && \
	  $(MAKE) $(TARGET_FLAGS_TO_PASS) [+extra_make_flags+] install)
[+ ENDIF no_install +]
@@endif target-[+module+]

.PHONY: install-strip-target-[+module+] maybe-install-strip-target-[+module+]
maybe-install-strip-target-[+module+]:
@@if target-[+module+]
maybe-install-strip-target-[+module+]: install-strip-target-[+module+]
[+ IF no_install +]
# Dummy target for uninstallable.
install-strip-target-[+module+]:
[+ ELSE install +]
install-strip-target-[+module+]: installdirs
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \[+
IF raw_cxx +]
	$(RAW_CXX_TARGET_EXPORTS) \[+
ELSE normal_cxx +]
	$(NORMAL_TARGET_EXPORTS) \[+
ENDIF raw_cxx +]
	(cd $(TARGET_SUBDIR)/[+module+] && \
	  $(MAKE) $(TARGET_FLAGS_TO_PASS) [+extra_make_flags+] install-strip)
[+ ENDIF no_install +]
@@endif target-[+module+]

# Other targets (info, dvi, pdf, etc.)
[+ FOR recursive_targets +]
.PHONY: maybe-[+make_target+]-target-[+module+] [+make_target+]-target-[+module+]
maybe-[+make_target+]-target-[+module+]:
@@if target-[+module+]
maybe-[+make_target+]-target-[+module+]: [+make_target+]-target-[+module+]
[+ IF (match-value? = "missing" (get "make_target") ) +]
# [+module+] doesn't support [+make_target+].
[+make_target+]-target-[+module+]:
[+ ELSE +]
[+make_target+]-target-[+module+]: [+
  FOR depend +]\
    [+depend+]-target-[+module+] [+
  ENDFOR depend +]
	@@: $(MAKE); $(unstage)
	@@[ -f $(TARGET_SUBDIR)/[+module+]/Makefile ] || exit 0; \
	r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \[+
IF raw_cxx +]
	$(RAW_CXX_TARGET_EXPORTS) \[+
ELSE normal_cxx +]
	$(NORMAL_TARGET_EXPORTS) \[+
ENDIF raw_cxx +]
	echo "Doing [+make_target+] in $(TARGET_SUBDIR)/[+module+]"; \
	for flag in $(EXTRA_TARGET_FLAGS); do \
	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
	done; \
	(cd $(TARGET_SUBDIR)/[+module+] && \
	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
	          "RANLIB=$${RANLIB}" \
	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
	          [+extra_make_flags+] [+make_target+]) \
	  || exit 1
[+ ENDIF +]
@@endif target-[+module+]
[+ ENDFOR recursive_targets +]
[+ ENDFOR target_modules +]

@@if target-libgomp
.PHONY: check-target-libgomp-c++
check-target-libgomp-c++:
	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) c++.exp" check-target-libgomp

.PHONY: check-target-libgomp-fortran
check-target-libgomp-fortran:
	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) fortran.exp" check-target-libgomp

@@endif target-libgomp

@@if target-libitm
.PHONY: check-target-libitm-c++
check-target-libitm-c++:
	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) c++.exp" check-target-libitm

@@endif target-libitm

# ----------
# GCC module
# ----------

@@if gcc-no-bootstrap
.PHONY: cross
cross: all-build all-gas all-ld
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(HOST_EXPORTS) \
	echo "Building the C and C++ compiler"; \
	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) LANGUAGES="c c++"
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	echo "Building runtime libraries"; \
	$(MAKE) $(RECURSE_FLAGS_TO_PASS) LANGUAGES="c c++" all
@@endif gcc-no-bootstrap

@@if gcc

.PHONY: gcc-site.exp
gcc-site.exp:
	r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(HOST_EXPORTS) \
	(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) site.exp);

[+ FOR languages +]
.PHONY: check-gcc-[+language+] check-[+language+]
check-gcc-[+language+]: gcc-site.exp
	r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(HOST_EXPORTS) \
	(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) [+gcc-check-target+]);
check-[+language+]: check-gcc-[+language+][+ FOR lib-check-target +] [+ lib-check-target +][+ ENDFOR lib-check-target +]
[+ ENDFOR languages +]

# The gcc part of install-no-fixedincludes, which relies on an intimate
# knowledge of how a number of gcc internal targets (inter)operate.  Delegate.
.PHONY: gcc-install-no-fixedincludes
gcc-install-no-fixedincludes:
	@@if [ -f ./gcc/Makefile ]; then \
	  r=`${PWD_COMMAND}`; export r; \
	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	  $(HOST_EXPORTS) \
	  (cd ./gcc \
	   && $(MAKE) $(GCC_FLAGS_TO_PASS) install-no-fixedincludes); \
	else true; fi
@@endif gcc

# ---------------------
# GCC bootstrap support
# ---------------------

# We track the current stage (the one in 'gcc') in the stage_current file.
# stage_last instead tracks the stage that was built last.  These targets
# are dummy when toplevel bootstrap is not active.

# While making host and target tools, symlinks to the final stage must be
# there, so $(unstage) should be run at various points.  To avoid excessive
# recursive invocations of make, we "inline" them using a variable.  These
# must be referenced as ": $(MAKE) ; $(unstage)" rather than "$(unstage)"
# to avoid warnings from the GNU Make job server.

unstage = :
stage = :
current_stage = ""

@@if gcc-bootstrap
unstage = if [ -f stage_last ]; then [ -f stage_current ] || $(MAKE) `cat stage_last`-start || exit 1; else :; fi
stage = if [ -f stage_current ]; then $(MAKE) `cat stage_current`-end || exit 1; else :; fi
current_stage = "`cat stage_current 2> /dev/null`"
@@endif gcc-bootstrap

.PHONY: unstage stage
unstage:
	@@: $(MAKE); $(unstage)
stage:
	@@: $(MAKE); $(stage)

# Disable commands for lean bootstrap.
LEAN = false

# We name the build directories for the various stages "stage1-gcc",
# "stage2-gcc","stage3-gcc", etc.

# Since the 'compare' process will fail (on debugging information) if any
# directory names are different, we need to link the gcc directory for
# the previous stage to a constant name ('prev-gcc'), and to make the name of
# the build directories constant as well. For the latter, we use naked names
# like 'gcc', because the scripts in that directory assume it.  We use
# mv on platforms where symlinks to directories do not work or are not
# reliable.

# 'touch' doesn't work right on some platforms.
STAMP = echo timestamp > 

# We only want to compare .o files, so set this!
objext = .o

[+ FOR bootstrap-stage +]
.PHONY: stage[+id+]-start stage[+id+]-end

stage[+id+]-start::
	@@: $(MAKE); $(stage); \
	echo stage[+id+] > stage_current; \
	echo stage[+id+] > stage_last; \
	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)[+
   FOR host_modules +][+ IF bootstrap +]
@@if [+ module +]
	@@cd $(HOST_SUBDIR); [ -d stage[+id+]-[+module+] ] || \
	  mkdir stage[+id+]-[+module+]; \
	mv stage[+id+]-[+module+] [+module+][+ IF prev +]; \
	mv stage[+prev+]-[+module+] prev-[+module+] || test -f stage[+prev+]-lean [+ ENDIF prev +]
@@endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +]
	@@[ -d stage[+id+]-$(TARGET_SUBDIR) ] || \
	  mkdir stage[+id+]-$(TARGET_SUBDIR); \
	mv stage[+id+]-$(TARGET_SUBDIR) $(TARGET_SUBDIR)[+ IF prev +]; \
	mv stage[+prev+]-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) || test -f stage[+prev+]-lean [+ ENDIF prev +]

stage[+id+]-end:: [+ FOR host_modules +][+ IF bootstrap +]
@@if [+ module +]
	@@if test -d $(HOST_SUBDIR)/[+module+]; then \
	  cd $(HOST_SUBDIR); mv [+module+] stage[+id+]-[+module+][+ IF prev +]; \
	  mv prev-[+module+] stage[+prev+]-[+module+]; : [+ ENDIF prev +]; \
	fi
@@endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +]
	@@if test -d $(TARGET_SUBDIR); then \
	  mv $(TARGET_SUBDIR) stage[+id+]-$(TARGET_SUBDIR)[+ IF prev +]; \
	  mv prev-$(TARGET_SUBDIR) stage[+prev+]-$(TARGET_SUBDIR); : [+ ENDIF prev +]; \
	fi
	rm -f stage_current

# Bubble a bug fix through all the stages up to stage [+id+].  They are
# remade, but not reconfigured.  The next stage (if any) will not be
# reconfigured either.
.PHONY: stage[+id+]-bubble
stage[+id+]-bubble:: [+ IF prev +]stage[+prev+]-bubble[+ ENDIF +]
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	if test -f stage[+id+]-lean [+
	  IF prev +]|| test -f stage[+prev+]-lean [+ ENDIF prev +]; then \
	  echo Skipping rebuild of stage[+id+]; \
	else \
	  $(MAKE) stage[+id+]-start; \[+IF lean +]
	  if $(LEAN); then \
	    rm -rf stage[+lean+]-*; \
	    $(STAMP) stage[+lean+]-lean; \
	  fi; \[+ ENDIF lean +]
	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage[+id+]; \
	fi[+ IF compare-target +]
	$(MAKE) $(RECURSE_FLAGS_TO_PASS) [+compare-target+][+ ENDIF compare-target +]

.PHONY: all-stage[+id+] clean-stage[+id+]
do-clean: clean-stage[+id+]

# FIXME: Will not need to be conditional when toplevel bootstrap is the
# only possibility, but now it conflicts with no-bootstrap rules
@@if gcc-bootstrap
[+ IF compare-target +]
[+compare-target+]:
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	if test -f stage[+prev+]-lean; then \
	  echo Cannot compare object files as stage [+prev+] was deleted.; \
	  exit 0; \
	fi; \
	: $(MAKE); $(stage); \
	rm -f .bad_compare; \
	echo Comparing stages [+prev+] and [+id+]; \
        sed=`echo stage[+id+] | sed 's,^stage,,;s,.,.,g'`; \
	files=`find stage[+id+]-* -name "*$(objext)" -print | \
		 sed -n s,^stage$$sed-,,p`; \
	for file in $${files} ${extra-compare}; do \
	  f1=$$r/stage[+prev+]-$$file; f2=$$r/stage[+id+]-$$file; \
	  if test ! -f $$f1; then continue; fi; \
	  $(do-[+compare-target+]) > /dev/null 2>&1; \
	  if test $$? -eq 1; then \
	    case $$file in \
	      @@compare_exclusions@@) \
	        echo warning: $$file differs ;; \
	      *) \
	        echo $$file differs >> .bad_compare ;; \
	    esac; \
	  fi; \
	done; \
	if [ -f .bad_compare ]; then \
	  echo "Bootstrap comparison failure!"; \
	  cat .bad_compare; \
	  exit 1; \
	else \
	  echo Comparison successful.; \
	fi; \
	$(STAMP) [+compare-target+][+ IF prev +]
	if $(LEAN); then \
	  rm -rf stage[+prev+]-*; \
	  $(STAMP) stage[+prev+]-lean; \
	fi[+ ENDIF prev +]
[+ ENDIF compare-target +]

[+ IF bootstrap-target +]
.PHONY: [+bootstrap-target+] [+bootstrap-target+]-lean
[+bootstrap-target+]:
	echo stage[+id+] > stage_final
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(MAKE) $(RECURSE_FLAGS_TO_PASS) stage[+id+]-bubble
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
	$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target

[+bootstrap-target+]-lean:
	echo stage[+id+] > stage_final
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(MAKE) $(RECURSE_FLAGS_TO_PASS) LEAN=: stage[+id+]-bubble
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
	$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
[+ ENDIF bootstrap-target +]

# Rules to wipe a stage and all the following ones, also used for cleanstrap
[+ IF prev +]distclean-stage[+prev+]:: distclean-stage[+id+] [+ ENDIF prev +]
.PHONY: distclean-stage[+id+]
distclean-stage[+id+]::
	@@: $(MAKE); $(stage)
	@@test "`cat stage_last`" != stage[+id+] || rm -f stage_last
	rm -rf stage[+id+]-* [+
	  IF compare-target +][+compare-target+] [+ ENDIF compare-target +]

[+ IF cleanstrap-target +]
.PHONY: [+cleanstrap-target+]
[+cleanstrap-target+]: do-distclean local-clean
	echo stage[+id+] > stage_final
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(MAKE) $(RECURSE_FLAGS_TO_PASS) stage[+id+]-bubble
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
	$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
[+ ENDIF cleanstrap-target +]
@@endif gcc-bootstrap

[+ ENDFOR bootstrap-stage +]

stageprofile-end::
	$(MAKE) distclean-stagefeedback

stagefeedback-start::
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	for i in prev-*; do \
	  j=`echo $$i | sed s/^prev-//`; \
	  cd $$r/$$i && \
	  { find . -type d | sort | sed 's,.*,$(SHELL) '"$$s"'/mkinstalldirs "../'$$j'/&",' | $(SHELL); } && \
	  { find . -name '*.*da' | sed 's,.*,$(LN) -f "&" "../'$$j'/&",' | $(SHELL); }; \
	done

@@if gcc-bootstrap
do-distclean: distclean-stage1

# Provide a GCC build when we're building target libraries.  This does
# not work as a dependency, just as the minimum necessary to avoid errors.
stage_last:
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(MAKE) $(RECURSE_FLAGS_TO_PASS) stage1-bubble

# Same as unstage, but not phony and defaulting to stage1-start.  We place
# it in the dependency so that for example `make -j3 all-gcc' works.
stage_current:
	@@if test -f stage_last; then $(unstage); else $(MAKE) stage1-start; fi

.PHONY: restrap
restrap::
	@@: $(MAKE); $(stage)
	rm -rf stage1-$(TARGET_SUBDIR)[+ FOR bootstrap-stage +][+ IF prev
	  +] stage[+id+]-*[+ ENDIF prev +][+ ENDFOR bootstrap-stage +]
restrap:: all
@@endif gcc-bootstrap

# --------------------------------------
# Dependencies between different modules
# --------------------------------------

# Generic dependencies for target modules on host stuff, especially gcc
@@if gcc-bootstrap[+ FOR target_modules +][+ IF bootstrap
  +][+ FOR bootstrap_stage +]
configure-stage[+id+]-target-[+module+]: maybe-all-stage[+id+]-gcc[+
  ENDFOR +][+ ELSE bootstrap +]
configure-target-[+module+]: stage_last[+
  ENDIF bootstrap +][+ ENDFOR target_modules +]
@@endif gcc-bootstrap

@@if gcc-no-bootstrap[+ FOR target_modules +]
configure-target-[+module+]: maybe-all-gcc[+
  ENDFOR target_modules +]
@@endif gcc-no-bootstrap


# There are two types of dependencies here: 'hard' dependencies, where one
# module simply won't build without the other; and 'soft' dependencies, where
# if the depended-on module is missing, the depending module will do without
# or find a substitute somewhere (perhaps installed).  Soft dependencies
# are made here to depend on a 'maybe-' target.  If you're not sure,
# it's safer to use a soft dependency.

[+ ;; These Scheme functions build the bulk of the dependencies.
   ;; dep-target builds a string like "maybe-all-MODULE_KIND-gcc",
   ;; where "maybe-" is only included if HARD is not true, and all-gcc
   ;; is taken from VAR-NAME.
   (define dep-target (lambda (module-kind var-name hard)
      (string-append
         (if hard "" "maybe-")
         (dep-subtarget var-name)
         module-kind
         (dep-module var-name)
      )))

   ;; make-dep builds a dependency from the MODULE and ON AutoGen vars.
   (define make-dep (lambda (module-kind on-kind)
      (string-append
         (dep-target module-kind "module" #t) ": "
         (dep-target on-kind "on" (exist? "hard")))))

   ;; dep-subtarget extracts everything up to the first dash in the given
   ;; AutoGen variable, for example it extracts "all-" out of "all-gcc".
   (define dep-subtarget (lambda (var-name)
      (substring (get var-name) 0 (+ 1 (string-index (get var-name) #\-)))))

   ;; dep-module extracts everything up to the first dash in the given
   ;; AutoGen variable, for example it extracts "gcc" out of "all-gcc".
   (define dep-module (lambda (var-name)
      (substring (get var-name) (+ 1 (string-index (get var-name) #\-)))))

   ;; dep-stage builds a string for the prefix of a bootstrap stage.
   (define dep-stage (lambda ()
      (string-append
	 "stage"
	 (get "id")
	 "-")))

   ;; dep-maybe is the same as the AutoGen expression "- hard 'maybe-'"
   ;; but is written in Scheme.
   (define dep-maybe (lambda ()
      (if (exist? "hard") "" "maybe-")))

   ;; dep-kind returns returns "prebootstrap" for configure or build
   ;; dependencies of bootstrapped modules on a build module
   ;; (e.g. all-gcc on all-build-bison); "normal" if the dependency is
   ;; on an "install" target, or if the dependence module is not
   ;; bootstrapped; otherwise, it returns "bootstrap" or
   ;; "postbootstrap" depending on whether the dependent module is
   ;; bootstrapped.  All this is only necessary for host and target
   ;; modules.  It might seem like, in order to avoid build races, we
   ;; might need more elaborate detection between prebootstrap and
   ;; postbootstrap modules, but there are no host prebootstrap
   ;; modules.  If there were any non-bootstrap host modules that
   ;; bootstrap modules depended on, we'd get unsatisfied per-stage
   ;; dependencies on them, which would be immediately noticed.
   (define dep-kind (lambda ()
      (cond
       ((and (hash-ref boot-modules (dep-module "module"))
	     (=* (dep-module "on") "build-"))
	"prebootstrap")

       ((or (= (dep-subtarget "on") "install-")
	    (not (hash-ref boot-modules (dep-module "on"))))
	"normal")

       ((hash-ref boot-modules (dep-module "module"))
	"bootstrap")

       (1 "postbootstrap"))))

   (define make-postboot-dep (lambda ()
     (let ((target (dep-module "module")) (dep "stage_last"))
       (unless (= (hash-ref postboot-targets target) dep)
	 (hash-create-handle! postboot-targets target dep)
	 ;; All non-bootstrap modules' configure target already
	 ;; depend on dep.
	 (unless (=* target "target-")
           (string-append "configure-" target ": " dep "\n"))))))

   ;; We now build the hash table that is used by dep-kind.
   (define boot-modules (make-hash-table 113))
   (define postboot-targets (make-hash-table 113))
+]

[+ FOR host_modules +][+
   (if (exist? "bootstrap")
       (hash-create-handle! boot-modules (get "module") #t))
   "" +][+ ENDFOR host_modules +]
[+ FOR target_modules +][+
   (if (exist? "bootstrap")
       (hash-create-handle! boot-modules (string-append "target-" (get "module")) #t))
   "" +][+ ENDFOR target_modules +]

# With all the machinery above in place, it is pretty easy to generate
# dependencies.  Host dependencies are a bit more complex because we have
# to check for bootstrap/prebootstrap dependencies.  To resolve
# prebootstrap dependencies, prebootstrap modules are gathered in
# a hash table.
[+ FOR dependencies +][+ CASE (dep-kind) +]
[+ == "prebootstrap" +][+ (make-dep "" "") +][+ FOR bootstrap_stage +]
[+ (make-dep (dep-stage) "") +][+ ENDFOR bootstrap_stage +]
[+ == "bootstrap" +][+ (make-dep "" "") +][+ FOR bootstrap_stage +]
[+ (make-dep (dep-stage) (dep-stage)) +][+ ENDFOR bootstrap_stage +]
[+ == "normal" +][+ (make-dep "" "") +]
[+ ESAC +][+ ENDFOR dependencies +]

@@if gcc-bootstrap
[+ FOR dependencies +][+ CASE (dep-kind) +]
[+ == "postbootstrap" +][+ (make-postboot-dep) +][+ ESAC +][+
ENDFOR dependencies +]@@endif gcc-bootstrap

@@unless gcc-bootstrap
[+ FOR dependencies +][+ CASE (dep-kind) +]
[+ == "postbootstrap" +][+ (make-dep "" "") +]
[+ ESAC +][+ ENDFOR dependencies +]@@endunless gcc-bootstrap

# Dependencies for target modules on other target modules are
# described by lang_env_dependencies; the defaults apply to anything
# not mentioned there.
[+
   ;; Predicate for whether LANG was specified in lang_env_dependencies.
   (define lang-dep (lambda (lang)
      (hash-ref lang-env-deps (string-append (get "module") "-" lang))))

   ;; Build the hash table we will need.
   (define lang-env-deps (make-hash-table 7))
+][+ FOR lang_env_dependencies +][+
   (if (exist? "cxx")
       (hash-create-handle! lang-env-deps
	  (string-append (get "module") "-" "cxx") #t))

   (if (exist? "no_c")
       (hash-create-handle! lang-env-deps
	  (string-append (get "module") "-" "no_c") #t))

   (if (exist? "no_gcc")
       (hash-create-handle! lang-env-deps
	  (string-append (get "module") "-" "no_gcc") #t))
   "" +][+ ENDFOR lang_env_dependencies +]

@@if gcc-bootstrap[+ FOR target_modules +][+ IF (not (lang-dep "no_gcc"))
  +][+ IF bootstrap +][+ FOR bootstrap_stage +]
configure-stage[+id+]-target-[+module+]: maybe-all-stage[+id+]-target-libgcc[+
  ENDFOR +][+ ENDIF bootstrap +][+ ENDIF +][+ ENDFOR target_modules +]
@@endif gcc-bootstrap

@@if gcc-no-bootstrap[+ FOR target_modules +][+ IF (not (lang-dep "no_gcc")) +]
configure-target-[+module+]: maybe-all-target-libgcc[+
  ENDIF +][+ ENDFOR target_modules +]
@@endif gcc-no-bootstrap

[+ FOR target_modules +][+ IF (not (lang-dep "no_c")) +]
configure-target-[+module+]: maybe-all-target-newlib maybe-all-target-libgloss[+
  ENDIF +][+ IF (lang-dep "cxx") +]
configure-target-[+module+]: maybe-all-target-libstdc++-v3[+
  ENDIF +]
[+ ENDFOR target_modules +]

CONFIGURE_GDB_TK = @@CONFIGURE_GDB_TK@@
GDB_TK = @@GDB_TK@@
INSTALL_GDB_TK = @@INSTALL_GDB_TK@@
configure-gdb: $(CONFIGURE_GDB_TK)
all-gdb: $(gdbnlmrequirements) $(GDB_TK)
install-gdb: $(INSTALL_GDB_TK)

# Serialization dependencies.  Host configures don't work well in parallel to
# each other, due to contention over config.cache.  Target configures and 
# build configures are similar.
@@serialization_dependencies@@

# --------------------------------
# Regenerating top level configury
# --------------------------------

# Rebuilding Makefile.in, using autogen.
AUTOGEN = autogen
$(srcdir)/Makefile.in: @@MAINT@@ $(srcdir)/Makefile.tpl $(srcdir)/Makefile.def
	cd $(srcdir) && $(AUTOGEN) Makefile.def

# Rebuilding Makefile.
Makefile: $(srcdir)/Makefile.in config.status
	CONFIG_FILES=$@@ CONFIG_HEADERS= $(SHELL) ./config.status

config.status: configure
	CONFIG_SHELL="$(SHELL)" $(SHELL) ./config.status --recheck

# Rebuilding configure.
AUTOCONF = autoconf
$(srcdir)/configure: @@MAINT@@ $(srcdir)/configure.ac $(srcdir)/config/acx.m4 \
	$(srcdir)/config/override.m4 $(srcdir)/config/proginstall.m4 \
	$(srcdir)/config/elf.m4 $(srcdir)/config/isl.m4 \
	$(srcdir)/config/gcc-plugin.m4 \
	$(srcdir)/libtool.m4 $(srcdir)/ltoptions.m4 $(srcdir)/ltsugar.m4 \
	$(srcdir)/ltversion.m4 $(srcdir)/lt~obsolete.m4
	cd $(srcdir) && $(AUTOCONF)

# ------------------------------
# Special directives to GNU Make
# ------------------------------

# Don't pass command-line variables to submakes.
.NOEXPORT:
MAKEOVERRIDES=

# end of Makefile.in
@


1.6
log
@revert binutils: build using GNU make instead of BSD make

The change broke the MIPS builds, with error messages like:
> CC       itbl-parse.o
> cc: error: itbl-parse.c: No such file or directory
@
text
@d210 1
d316 1
d345 1
d386 1
d437 1
a437 1
NM = @@NM@@
d592 1
a592 1
AR_FOR_TARGET=@@AR_FOR_TARGET@@
d612 1
a612 1
NM_FOR_TARGET=@@NM_FOR_TARGET@@
d616 1
a616 1
RANLIB_FOR_TARGET=@@RANLIB_FOR_TARGET@@
@


1.5
log
@binutils: build using GNU make instead of BSD make

The binutils makefiles use expressions of the form $(filter-out ...),
which are only available in GNU make.

Switching to GNU make reduces the diff to upstream.
@
text
@d459 5
a463 2
override CFLAGS += $(BUILD_CFLAGS)
override CXXFLAGS += $(BUILD_CFLAGS)
@


1.4
log
@merge conflicts
@
text
@d459 2
a460 5
# Not supported by BSD make
# override CFLAGS += $(BUILD_CFLAGS)
# override CXXFLAGS += $(BUILD_CFLAGS)
CFLAGS += $(BUILD_CFLAGS)
CXXFLAGS += $(BUILD_CFLAGS)
@


1.3
log
@Merge conflicts between 2.39 and 2.42
@
text
@d9 1
a9 1
#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2023
d149 1
a149 2
	MAKEINFO="$(MAKEINFO)"; export MAKEINFO; \
	GUILE="$(GUILE)"; export GUILE;
a456 2
GUILE = guile

@


1.2
log
@Merge conflicts between 2.34 and 2.39, and regen for x86_64
@
text
@d9 1
a9 1
#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
d149 2
a150 1
	MAKEINFO="$(MAKEINFO)"; export MAKEINFO;
d170 2
d210 1
d233 1
a233 1
	GCC_FOR_TARGET="$(GCC_FOR_TARGET)"; export GCC_FOR_TARGET; \
a246 2
	LIBELFLIBS="$(HOST_LIBELFLIBS)"; export LIBELFLIBS; \
	LIBELFINC="$(HOST_LIBELFINC)"; export LIBELFINC; \
d282 2
a283 1
	  -B$(build_tooldir)/bin/ $(GDC_FLAGS_FOR_TARGET) \
d285 1
d288 2
a289 1
	  -L$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime/.libs"; \
d315 1
d328 1
a353 4
# Where to find libelf
HOST_LIBELFLIBS = @@libelflibs@@
HOST_LIBELFINC = @@libelfinc@@

d383 1
d413 1
a413 1
AUTO_PROFILE = gcc-auto-profile -c 10000000
d453 2
a454 1
GDCFLAGS = $(CFLAGS)
d458 2
d507 1
d547 5
d570 4
d575 1
a575 1
STAGEautoprofile_CFLAGS = $(STAGE2_CFLAGS) -g
d580 3
d605 1
d631 1
d738 1
d749 2
a750 1
	'CREATE_GCOV=$(CREATE_GCOV)'
d766 1
d802 2
d829 2
a830 1
	"GCC_FOR_TARGET=$(GCC_FOR_TARGET)" \
d1648 8
d1658 1
a1658 1
check-gcc-[+language+]:
@


1.2.2.1
log
@Sync with HEAD.
@
text
@d9 1
a9 1
#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2023
d149 1
a149 2
	MAKEINFO="$(MAKEINFO)"; export MAKEINFO; \
	GUILE="$(GUILE)"; export GUILE;
a168 2
	GM2="$(GM2_FOR_BUILD)"; export GM2; \
	GM2FLAGS="$(GM2FLAGS_FOR_BUILD)"; export GM2FLAGS; \
a206 1
	GM2="$(GM2)"; export GM2; \
d229 1
a229 1
	GCC_FOR_TARGET="$(GCC_FOR_TARGET) $$TFLAGS"; export GCC_FOR_TARGET; \
d243 2
d280 1
a280 2
	  -B$(build_tooldir)/bin/ $(GDCFLAGS_FOR_TARGET) \
	  -B$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime/gcc \
a281 1
	  -B$$r/prev-$(TARGET_SUBDIR)/libphobos/src/.libs \
d284 1
a284 2
	  -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
	  -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; \
a309 1
	GM2="$(GM2_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GM2; \
a321 1
	SYSROOT_CFLAGS_FOR_TARGET="$(SYSROOT_CFLAGS_FOR_TARGET)"; export SYSROOT_CFLAGS_FOR_TARGET; \
d347 4
a379 1
GM2_FOR_BUILD = @@GM2_FOR_BUILD@@
d409 1
a409 1
AUTO_PROFILE = gcc-auto-profile --all -c 10000000
d449 1
a449 2
GDCFLAGS = @@GDCFLAGS@@
GM2FLAGS = $(CFLAGS)
a452 2
GUILE = guile

a499 1
PROFILE_MERGER = profile_merger
a538 5
@@if target-libphobos-bootstrap
STAGE1_CONFIGURE_FLAGS += --with-libphobos-druntime-only
STAGE2_CONFIGURE_FLAGS += --with-libphobos-druntime-only
@@endif target-libphobos-bootstrap

a556 4
# Disable warnings as errors for a few reasons:
# - sources for gen* binaries do not have .gcda files available
# - inlining decisions generate extra warnings
STAGEfeedback_CONFIGURE_FLAGS = $(filter-out --enable-werror-always,$(STAGE_CONFIGURE_FLAGS))
d558 1
a558 1
STAGEautoprofile_CFLAGS = $(filter-out -gtoggle,$(STAGE2_CFLAGS)) -g
a562 3
# Disable warnings as errors since inlining decisions with -fauto-profile
# may result in additional warnings.
STAGEautofeedback_CONFIGURE_FLAGS = $(filter-out --enable-werror-always,$(STAGE_CONFIGURE_FLAGS))
a584 1
GM2_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GM2_FOR_TARGET@@
a609 1
GM2FLAGS_FOR_TARGET = -O2 -g
a715 1
	'GM2=$(GM2)' \
d726 1
a726 2
	'CREATE_GCOV=$(CREATE_GCOV)' \
	'PROFILE_MERGER=$(PROFILE_MERGER)'
a741 1
	GM2="$${GM2}" GM2_FOR_BUILD="$${GM2_FOR_BUILD}" \
a776 2
	'GM2=$$(GM2_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
	'GM2FLAGS=$$(GM2FLAGS_FOR_TARGET)' \
d802 1
a802 2
	"GCC_FOR_TARGET=$(GCC_FOR_TARGET) $$TFLAGS" \
	"GM2_FOR_TARGET=$(GM2_FOR_TARGET) $$TFLAGS" \
a1619 8

.PHONY: gcc-site.exp
gcc-site.exp:
	r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(HOST_EXPORTS) \
	(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) site.exp);

d1622 1
a1622 1
check-gcc-[+language+]: gcc-site.exp
@


1.1
log
@Initial revision
@
text
@d9 2
a10 1
#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation
d14 1
a14 1
# the Free Software Foundation; either version 2 of the License, or
d23 2
a24 2
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
a105 2
GDB_NLM_DEPS = 

d115 3
d124 13
d147 2
d160 2
a163 1
	GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \
d165 4
d170 1
d179 1
a179 1
# built for the build system to override those in BASE_FLAGS_TO_PASSS.
d186 1
d204 3
d210 3
d214 1
d216 1
a216 1
	LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
d223 3
d228 1
d233 2
d236 1
d238 1
d241 5
d251 19
d274 16
a289 6
	  -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \
	CC_FOR_BUILD="$(STAGE_CC_WRAPPER) \
	  $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \
	  -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
	  -B$(build_tooldir)/bin/"; export CC_FOR_BUILD; \
	LDFLAGS="$(BOOT_LDFLAGS)"; export LDFLAGS;
d297 1
a297 1
# configuring subdirectories for the host system.
d302 2
a303 2
	CC="$(CC_FOR_TARGET)"; export CC; \
	CFLAGS="$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
d306 4
a309 3
	CXXFLAGS="$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
	GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
	GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \
d311 1
d317 2
d320 1
d324 5
a328 1
	$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
d333 1
a333 1
	CXX="$(RAW_CXX_FOR_TARGET)"; export CXX;
d337 1
a337 1
	CXX="$(CXX_FOR_TARGET)"; export CXX;
d343 8
d355 1
a355 1
SHELL = @@config_shell@@
d371 2
d376 1
a376 1
GCJ_FOR_BUILD = @@GCJ_FOR_BUILD@@
d378 2
d396 1
a396 1
BOOT_ADAFLAGS=-gnatpg -gnata
d398 2
d409 2
d422 1
a422 1
AR = @@AR@@
d427 1
d432 3
a434 1
RANLIB = @@RANLIB@@
d439 1
d448 2
d451 106
a556 5
# Only build the C compiler for stage1, because that is the only one that
# we can guarantee will build with the native compiler, and also it is the
# only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS),
# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
# overrideable (for a bootstrap build stage1 also builds gcc.info).
d558 2
a559 2
STAGE1_CHECKING=@@stage1_checking@@
STAGE1_LANGUAGES=@@stage1_languages@@
d561 2
a562 9
STAGE1_CFLAGS=@@stage1_cflags@@
STAGE2_CFLAGS=$(BOOT_CFLAGS)
STAGE3_CFLAGS=$(BOOT_CFLAGS)
STAGE4_CFLAGS=$(BOOT_CFLAGS)

STAGE1_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
STAGE2_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
STAGE3_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
STAGE4_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
a565 1
do-compare-debug = $(SHELL) $(srcdir)/contrib/compare-debug $$f1 $$f2
a570 2
FLAGS_FOR_TARGET = @@FLAGS_FOR_TARGET@@

d573 1
a573 1
CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @@CC_FOR_TARGET@@ $(FLAGS_FOR_TARGET)
d579 6
a584 5
GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GCC_FOR_TARGET@@ $(FLAGS_FOR_TARGET)
CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @@CXX_FOR_TARGET@@ $(FLAGS_FOR_TARGET)
RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @@RAW_CXX_FOR_TARGET@@ $(FLAGS_FOR_TARGET)
GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GCJ_FOR_TARGET@@ $(FLAGS_FOR_TARGET)
GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GFORTRAN_FOR_TARGET@@ $(FLAGS_FOR_TARGET)
d586 1
d592 2
d595 1
d606 8
d617 1
a617 3
LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
LDFLAGS_FOR_TARGET = 
d635 1
a635 1
# so that prorgams built for the target machine work.
d665 23
a687 1
# Flags to pass down to all sub-makes.
d690 7
a696 1
	"[+flag+]=$([+flag+])"[+ ENDIF optional+][+ ENDFOR flags_to_pass +] \
d698 2
a699 1
	"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" 
d712 4
d720 1
d722 1
d725 2
a726 1
	'WINDMC=$(WINDMC)'
d730 5
a734 11
# Flags that are concerned with the location of the X11 include files
# and library files
#
# NOTE: until the top-level is getting the values via autoconf, it only
# causes problems to have this top-level Makefile overriding the autoconf-set
# values in child directories.  Only variables that don't conflict with
# autoconf'ed ones should be passed by X11_FLAGS_TO_PASS for now.
#
X11_FLAGS_TO_PASS = \
	'X11_EXTRA_CFLAGS=$(X11_EXTRA_CFLAGS)' \
	'X11_EXTRA_LIBS=$(X11_EXTRA_LIBS)'
d740 6
a745 2
	GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind" \
	LDFLAGS="$(BOOT_LDFLAGS)" \
d748 8
d764 6
a769 4
	'CC=$$(CC_FOR_TARGET)' \
	'CFLAGS=$$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
	'CXX=$$(CXX_FOR_TARGET)' \
	'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
d771 6
d779 2
a780 2
	'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
	'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
d783 1
d785 1
d787 5
a791 1
	'WINDMC=$$(WINDMC_FOR_TARGET)'
d804 1
a804 4
	"`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
	"`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
	"`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
	"`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
d808 7
d828 6
d842 1
a842 1
	@@r=`${PWD_COMMAND}`; export r; \
d844 1
d846 1
d849 17
a865 2
	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target; \
	fi
d910 1
a910 1
.PHONY: install-info install-pdf install-html
d925 5
a929 3
	if [ -f dir.info ] ; then \
	  $(INSTALL_DATA) dir.info $(DESTDIR)$(infodir)/dir.info ; \
	else true ; fi
d940 1
a940 1
	-rm -f maybedep.tmp serdep.tmp
d952 3
a954 1
	-rmdir fastjar gcc libiberty texinfo zlib 2>/dev/null
d1012 21
d1065 2
a1066 2
	@@if [ -f ./gcc/Makefile ] ; then \
		r=`${PWD_COMMAND}` ; export r ; \
d1070 1
a1070 1
		$(MAKE) $(FLAGS_TO_PASS) install-headers) ; \
d1072 1
a1072 1
		true ; \
d1075 3
a1077 2
# install-no-fixedincludes is used because Cygnus can not distribute
# the fixed header files.
d1080 21
a1100 1
	install-target gcc-no-fixedincludes
d1112 4
a1115 4
	if [ -f $(srcdir)/texinfo/gen-info-dir ] ; then \
	  $(srcdir)/texinfo/gen-info-dir $(DESTDIR)$(infodir) $(srcdir)/texinfo/dir.info-template > dir.info.new ; \
	  mv -f dir.info.new dir.info ; \
	else true ; \
d1150 2
a1151 2
	$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \
	$(CC_FOR_TARGET) --print-multi-lib > [+subdir+]/[+module+]/multilib.tmp 2> /dev/null ; \
d1163 2
a1164 2
	$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \
	[+exports+] \
d1172 1
a1172 2
	srcdiroption="--srcdir=$${topdir}/[+module+]"; \
	libsrcdir="$$s/[+module+]"; \
d1174 3
a1176 1
	CONFIG_SITE=no-such-file [+ ENDIF +]$(SHELL) $${libsrcdir}/configure \
d1178 1
a1178 1
	  --target=[+target_alias+] $${srcdiroption} [+extra_configure_flags+] \
d1193 1
d1196 1
a1196 1
	$(CC_FOR_TARGET) --print-multi-lib > [+subdir+]/[+module+]/multilib.tmp 2> /dev/null ; \
d1209 11
a1219 7
	[+poststage1_exports+][+ ENDIF prev +] [+ IF prefix +] \
	CFLAGS="[+stage_libcflags+] $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
	CXXFLAGS="[+stage_libcflags+] $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; [+ ELSE +] \
	CFLAGS="[+stage_cflags+]"; export CFLAGS; \
	CXXFLAGS="[+stage_cflags+]"; export CXXFLAGS; [+ ENDIF +] \
	echo Configuring stage [+id+] in [+subdir+]/[+module+] ; \
	$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \
d1226 3
a1228 3
	srcdiroption="--srcdir=$${topdir}/[+module+]"; \
	libsrcdir="$$s/[+module+]"; \
	$(SHELL) $${libsrcdir}/configure \
d1230 1
a1230 1
	  --target=[+target_alias+] $${srcdiroption} \
d1232 2
a1233 1
	  [+stage_configure_flags+] [+extra_configure_flags+]
d1253 1
a1253 1
	[+exports+] \
d1255 1
a1255 1
	  $(MAKE) $(BASE_FLAGS_TO_PASS) [+args+] [+extra_make_flags+] \
d1273 1
d1275 1
a1275 1
	[+poststage1_exports+][+ ENDIF prev +] \
d1277 16
a1292 7
	$(MAKE) $(BASE_FLAGS_TO_PASS) \
		CFLAGS="[+stage_cflags+]" CXXFLAGS="[+stage_cflags+]" \
		LIBCFLAGS="[+stage_libcflags+]" \
		CFLAGS_FOR_TARGET="[+stage_libcflags+]" \
		CXXFLAGS_FOR_TARGET="[+stage_libcflags+]" [+args+] [+
		IF prev +][+poststage1_args+][+ ENDIF prev
		+] [+extra_make_flags+] \
d1305 2
a1306 3
	$(MAKE) [+args+] [+ IF prev +] \
		[+poststage1_args+] [+ ENDIF prev +] \
		[+extra_make_flags+] clean
d1341 1
d1354 1
a1354 1
	@@if [ '$(host)' = '$(target)' ] ; then \
d1357 2
a1358 1
	  $(HOST_EXPORTS) \
d1360 2
a1361 1
	    $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] check); \
d1368 2
a1369 1
	$(HOST_EXPORTS) \
d1371 2
a1372 1
	  $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] check)
d1393 17
d1432 1
a1432 1
	echo "Doing [+make_target+] in [+module+]" ; \
d1522 22
d1559 1
a1559 1
	@@[ -f $(TARGET_SUBDIR)/[+module+]/Makefile ] || exit 0 ; \
d1567 1
a1567 1
	echo "Doing [+make_target+] in $(TARGET_SUBDIR)/[+module+]" ; \
d1583 18
d1614 1
a1614 1
	s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
d1620 15
a1634 3
.PHONY: check-gcc-c++
check-gcc-c++:
	@@if [ -f ./gcc/Makefile ] ; then \
d1638 2
a1639 27
	  (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-c++); \
	else \
	  true; \
	fi

.PHONY: check-c++
check-c++: check-target-libstdc++-v3 check-gcc-c++

# Install the gcc headers files, but not the fixed include files,
# which Cygnus is not allowed to distribute.  This rule is very
# dependent on the workings of the gcc Makefile.in.
.PHONY: gcc-no-fixedincludes
gcc-no-fixedincludes:
	@@if [ -f ./gcc/Makefile ]; then \
	  rm -rf gcc/tmp-include; \
	  mv gcc/include gcc/tmp-include 2>/dev/null; \
	  mkdir gcc/include; \
	  cp $(srcdir)/gcc/gsyslimits.h gcc/include/syslimits.h; \
	  touch gcc/stmp-fixinc gcc/include/fixed; \
	  rm -f gcc/stmp-headers gcc/stmp-int-hdrs; \
	  r=`${PWD_COMMAND}`; export r; \
	  s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
	  $(HOST_EXPORTS) \
	  (cd ./gcc && \
	   $(MAKE) $(GCC_FLAGS_TO_PASS) install); \
	  rm -rf gcc/include; \
	  mv gcc/tmp-include gcc/include 2>/dev/null; \
d1698 1
a1698 1
	echo stage[+id+] > stage_current ; \
d1705 1
a1705 1
	mv stage[+id+]-[+module+] [+module+] [+ IF prev +] ; \
d1710 1
a1710 1
	mv stage[+id+]-$(TARGET_SUBDIR) $(TARGET_SUBDIR) [+ IF prev +] ; \
d1715 3
a1717 3
	@@if test -d $(HOST_SUBDIR)/[+module+] ; then \
	  cd $(HOST_SUBDIR); mv [+module+] stage[+id+]-[+module+] [+ IF prev +]; \
	  mv prev-[+module+] stage[+prev+]-[+module+] ; : [+ ENDIF prev +] ; \
d1720 3
a1722 3
	@@if test -d $(TARGET_SUBDIR) ; then \
	  mv $(TARGET_SUBDIR) stage[+id+]-$(TARGET_SUBDIR) [+ IF prev +] ; \
	  mv prev-$(TARGET_SUBDIR) stage[+prev+]-$(TARGET_SUBDIR) ; : [+ ENDIF prev +] ; \
d1734 2
a1735 2
	  IF prev +]|| test -f stage[+prev+]-lean [+ ENDIF prev +] ; then \
	  echo Skipping rebuild of stage[+id+] ; \
d1739 2
a1740 2
	    rm -rf stage[+lean+]-* ; \
	    $(STAMP) stage[+lean+]-lean ; \
d1757 2
a1758 2
	  echo Cannot compare object files as stage [+prev+] was deleted. ; \
	  exit 0 ; \
d1761 8
a1768 7
	rm -f .bad_compare ; \
	echo Comparing stages [+prev+] and [+id+] ; \
	cd stage[+id+]-gcc; \
	files=`find . -name "*$(objext)" -print` ; \
	cd .. ; \
	for file in $${files} ; do \
	  f1=$$r/stage[+prev+]-gcc/$$file; f2=$$r/stage[+id+]-gcc/$$file; \
d1772 1
a1772 1
	      ./cc*-checksum$(objext) | ./libgcc/* ) \
d1776 3
a1778 3
	    esac ; \
	  fi ; \
	done ; \
d1785 1
a1785 1
	fi ; \
d1803 1
d1814 1
d1837 1
d1851 1
a1851 1
	  j=`echo $$i | sed s/^prev-//` ; \
d1853 2
a1854 2
	  { find . -type d | sort | sed 's,.*,$(SHELL) '"$$s"'/mkinstalldirs "../'$$j'/&",' | $(SHELL) ; } && \
	  { find . -name '*.*da' | sed 's,.*,$(LN) -f "&" "../'$$j'/&",' | $(SHELL) ; } ; \
d1863 2
d1875 2
a1876 2
	rm -rf stage1-$(TARGET_SUBDIR) [+ FOR bootstrap-stage +][+ IF prev
	  +]stage[+id+]-* [+ ENDIF prev +][+ ENDFOR bootstrap-stage +]
d1946 13
a1958 6
   ;; dep-kind returns "normal" if the dependency is on an "install" target,
   ;; or if either module is not bootstrapped.  It returns "bootstrap" for
   ;; configure or build dependencies between bootstrapped modules; it returns
   ;; "prebootstrap" for configure or build dependencies of bootstrapped
   ;; modules on a build module (e.g. all-gcc on all-build-bison).  All this
   ;; is only necessary for host modules.
d1960 22
a1981 9
      (if (and (hash-ref boot-modules (dep-module "module"))
	       (=* (dep-module "on") "build-"))
	  "prebootstrap"

	  (if (or (= (dep-subtarget "on") "install-")
		  (not (hash-ref boot-modules (dep-module "module")))
		  (not (hash-ref boot-modules (dep-module "on"))))
              "normal"
	      "bootstrap"))))
d1985 1
d2002 17
a2018 12
[+ FOR dependencies +][+ (make-dep "" "") +]
[+ CASE (dep-kind) +]
[+ == "prebootstrap"
     +][+ FOR bootstrap_stage +]
[+ (make-dep (dep-stage) "") +][+
       ENDFOR bootstrap_stage +]
[+ == "bootstrap"
     +][+ FOR bootstrap_stage +]
[+ (make-dep (dep-stage) (dep-stage)) +][+
       ENDFOR bootstrap_stage +]
[+ ESAC +][+
ENDFOR dependencies +]
d2093 5
a2097 1
	$(srcdir)/config/override.m4 $(srcdir)/config/proginstall.m4
@


1.1.1.1
log
@Import binutils 2.19.1 as requested by matt@@

OK'ed by board@@
@
text
@@


1.1.1.2
log
@from ftp.gnu.org
@
text
@d9 1
a9 2
#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
#   Free Software Foundation
d13 1
a13 1
# the Free Software Foundation; either version 3 of the License, or
d22 2
a23 2
# along with this program; see the file COPYING3.  If not see
# <http://www.gnu.org/licenses/>.
a121 13
# Linker flags to use on the host, for stage1 or when not
# bootstrapping.
STAGE1_LDFLAGS = @@stage1_ldflags@@

# Libraries to use on the host, for stage1 or when not bootstrapping.
STAGE1_LIBS = @@stage1_libs@@

# Linker flags to use for stage2 and later.
POSTSTAGE1_LDFLAGS = @@poststage1_ldflags@@

# Libraries to use for stage2 and later.
POSTSTAGE1_LIBS = @@poststage1_libs@@

a131 2
	SED="$(SED)"; export SED; \
	AWK="$(AWK)"; export AWK; \
a162 1
TARGET_CONFIGDIRS = @@target_configdirs@@
a179 2
	GCJ="$(GCJ)"; export GCJ; \
	GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \
d185 1
a185 1
	LDFLAGS="$(STAGE1_LDFLAGS) $(LDFLAGS)"; export LDFLAGS; \
a199 1
	HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
a201 6
	PPLLIBS="$(HOST_PPLLIBS)"; export PPLLIBS; \
	PPLINC="$(HOST_PPLINC)"; export PPLINC; \
	CLOOGLIBS="$(HOST_CLOOGLIBS)"; export CLOOGLIBS; \
	CLOOGINC="$(HOST_CLOOGINC)"; export CLOOGINC; \
	LIBELFLIBS="$(HOST_LIBELFLIBS)" ; export LIBELFLIBS; \
	LIBELFINC="$(HOST_LIBELFINC)" ; export LIBELFINC; \
a206 16
POSTSTAGE1_CXX_EXPORT = \
	CXX='$(CXX)'; export CXX; \
	CXX_FOR_BUILD='$(CXX_FOR_BUILD)'; export CXX_FOR_BUILD;
@@if target-libstdc++-v3-bootstrap
# Override the above if we're bootstrapping C++.
POSTSTAGE1_CXX_EXPORT = \
	CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/g++$(exeext) \
	  -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \
	  -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
	  -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \
	  -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \
	  -I$$s/libstdc++-v3/libsupc++ \
	  -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; export CXX; \
	CXX_FOR_BUILD="$$CXX"; export CXX_FOR_BUILD;
@@endif target-libstdc++-v3-bootstrap

d211 6
a216 7
	  -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ \
	  $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \
	CC_FOR_BUILD="$$CC"; export CC_FOR_BUILD; \
	$(POSTSTAGE1_CXX_EXPORT) \
	GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND; \
	LDFLAGS="$(POSTSTAGE1_LDFLAGS) $(BOOT_LDFLAGS)"; export LDFLAGS; \
	HOST_LIBS="$(POSTSTAGE1_LIBS)"; export HOST_LIBS;
d224 1
a224 1
# configuring subdirectories for the target system.
d229 2
a230 2
	CC="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \
	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
d233 3
a235 3
	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
	GCJ="$(GCJ_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GCJ; \
	GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \
d246 1
a246 5
@@if gcc-bootstrap
	$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
@@endif gcc-bootstrap
	$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
	TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS;
d251 1
a251 1
	CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;
d255 1
a255 1
	CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;
a260 12
# Where to find PPL
HOST_PPLLIBS = @@ppllibs@@
HOST_PPLINC = @@pplinc@@

# Where to find CLOOG
HOST_CLOOGLIBS = @@clooglibs@@
HOST_CLOOGINC = @@clooginc@@

# Where to find libelf
HOST_LIBELFLIBS = @@libelflibs@@
HOST_LIBELFINC = @@libelfinc@@

a303 2
AWK = @@AWK@@
SED = @@SED@@
a346 20
TFLAGS =

# Defaults for all stages; some are overridden below.

STAGE_CFLAGS = $(BOOT_CFLAGS)
STAGE_TFLAGS = $(TFLAGS)
STAGE_CONFIGURE_FLAGS=@@stage2_werror_flag@@

[+ FOR bootstrap-stage +]
# Defaults for stage [+id+]; some are overridden below.
STAGE[+id+]_CFLAGS = $(STAGE_CFLAGS)
STAGE[+id+]_CXXFLAGS = $(CXXFLAGS)
@@if target-libstdc++-v3-bootstrap
# Override the above if we're bootstrapping C++.
STAGE[+id+]_CXXFLAGS = $(STAGE[+id+]_CFLAGS)
@@endif target-libstdc++-v3-bootstrap
STAGE[+id+]_TFLAGS = $(STAGE_TFLAGS)
STAGE[+id+]_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS)
[+ ENDFOR bootstrap-stage +]

d353 2
a354 11
STAGE1_CFLAGS = @@stage1_cflags@@
STAGE1_CHECKING = @@stage1_checking@@
STAGE1_LANGUAGES = @@stage1_languages@@
# * We force-disable intermodule optimizations, even if
#   --enable-intermodule was passed, since the installed compiler
#   probably can't handle them.  Luckily, autoconf always respects
#   the last argument when conflicting --enable arguments are passed.
# * Likewise, we force-disable coverage flags, since the installed
#   compiler probably has never heard of them.
STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \
	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
d356 9
a364 5
STAGEprofile_CFLAGS = $(STAGE2_CFLAGS) -fprofile-generate
STAGEprofile_TFLAGS = $(STAGE2_TFLAGS)

STAGEfeedback_CFLAGS = $(STAGE3_CFLAGS) -fprofile-use
STAGEfeedback_TFLAGS = $(STAGE3_TFLAGS)
d368 1
d374 2
d378 1
a378 1
CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @@CC_FOR_TARGET@@
d384 5
a388 5
GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GCC_FOR_TARGET@@
CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @@CXX_FOR_TARGET@@
RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @@RAW_CXX_FOR_TARGET@@
GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GCJ_FOR_TARGET@@
GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GFORTRAN_FOR_TARGET@@
d406 2
a412 6
FLAGS_FOR_TARGET = @@FLAGS_FOR_TARGET@@
SYSROOT_CFLAGS_FOR_TARGET = @@SYSROOT_CFLAGS_FOR_TARGET@@
DEBUG_PREFIX_CFLAGS_FOR_TARGET = @@DEBUG_PREFIX_CFLAGS_FOR_TARGET@@

XGCC_FLAGS_FOR_TARGET = $(FLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)

d429 1
a429 1
# so that programs built for the target machine work.
d462 1
a462 5
	"[+flag+]=$([+flag+])"[+ ENDIF optional+][+ ENDFOR flags_to_pass +][+ FOR bootstrap-stage +] \
	"STAGE[+id+]_CFLAGS=$(STAGE[+id+]_CFLAGS)" \
	"STAGE[+id+]_CXXFLAGS=$(STAGE[+id+]_CXXFLAGS)" \
	"STAGE[+id+]_TFLAGS=$(STAGE[+id+]_TFLAGS)"[+ ENDFOR bootstrap-stage +] \
	"TFLAGS=$(TFLAGS)" \
a476 2
	'GCJ=$(GCJ)' \
	'GFORTRAN=$(GFORTRAN)' \
d504 2
a505 4
	CXX="$${CXX}" CXX_FOR_BUILD="$${CXX_FOR_BUILD}" \
	GNATBIND="$${GNATBIND}" \
	LDFLAGS="$${LDFLAGS}" \
	HOST_LIBS="$${HOST_LIBS}" \
d516 4
a519 4
	'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
	'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
	'CXX=$$(CXX_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
	'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
a520 2
	'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
	'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
d523 2
a524 2
	'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
	'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
d529 1
a529 3
	'WINDMC=$$(WINDMC_FOR_TARGET)' \
	'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \
	"TFLAGS=$$TFLAGS"
a548 7
@@if gcc
BUILD_CONFIG = @@BUILD_CONFIG@@
ifneq ($(BUILD_CONFIG),)
include $(foreach CONFIG, $(BUILD_CONFIG), $(srcdir)/config/$(CONFIG).mk)
endif
@@endif gcc

a571 1
@@if gcc-bootstrap
a572 1
	  TFLAGS="$(STAGE$(shell test ! -f stage_last || sed s,^stage,, stage_last)_TFLAGS)"; \
d575 2
a576 7
@@endif gcc-bootstrap
	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target \
@@if gcc-bootstrap
	    ; \
	fi \
@@endif gcc-bootstrap
	&& :
a661 1
	-find . -name config.cache -exec rm -f {} \; \; 2>/dev/null
d829 1
a829 1
	[+exports+] [+extra_exports+] \
a856 1
	TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
d872 5
a876 9
	[+poststage1_exports+][+ ENDIF prev +][+ IF prefix +] \
	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;[+ ELSE prefix +] \
	CFLAGS="$(STAGE[+id+]_CFLAGS)"; export CFLAGS; \
	CXXFLAGS="$(STAGE[+id+]_CXXFLAGS)"; export CXXFLAGS;[+ IF prev +] \
	LIBCFLAGS="$(STAGE[+id+]_CFLAGS)"[+ ELSE prev +] \
	LIBCFLAGS="$(LIBCFLAGS)"[+ ENDIF prev +]; export LIBCFLAGS;[+
  ENDIF prefix +] [+extra_exports+] \
d889 3
a891 4
	  --target=[+target_alias+] $${srcdiroption} [+ IF prev +]\
	  --with-build-libsubdir=$(HOST_SUBDIR) [+ ENDIF prev +]\
	  $(STAGE[+id+]_CONFIGURE_FLAGS)[+ IF extra_configure_flags +] \
	  [+extra_configure_flags+][+ ENDIF extra_configure_flags +]
d911 1
a911 1
	[+exports+] [+extra_exports+] \
a930 1
	TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
d932 1
a932 1
	[+poststage1_exports+][+ ENDIF prev +] [+extra_exports+] \
d934 5
a938 12
	$(MAKE) $(BASE_FLAGS_TO_PASS)[+ IF prefix +] \
		CFLAGS="$(CFLAGS_FOR_TARGET)" \
		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"[+ ELSE prefix +] \
		CFLAGS="$(STAGE[+id+]_CFLAGS)" \
		CXXFLAGS="$(STAGE[+id+]_CXXFLAGS)"[+ IF prev +] \
		LIBCFLAGS="$(STAGE[+id+]_CFLAGS)"[+ ELSE prev +] \
		LIBCFLAGS="$(LIBCFLAGS)"[+ ENDIF prev +][+ ENDIF prefix +] \
		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
		[+args+] [+
a940 1
		TFLAGS="$(STAGE[+id+]_TFLAGS)" \
d1207 13
a1219 9
[+ FOR languages +]
.PHONY: check-gcc-[+language+] check-[+language+]
check-gcc-[+language+]:
	r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(HOST_EXPORTS) \
	(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) [+gcc-check-target+]);
check-[+language+]: check-gcc-[+language+][+ IF lib-check-target +] [+ lib-check-target +][+ ENDIF lib-check-target +]
[+ ENDFOR languages +]
d1363 3
a1365 3
        sed=`echo stage[+id+] | sed 's,^stage,,;s,.,.,g'`; \
	files=`find stage[+id+]-* -name "*$(objext)" -print | \
		 sed -n s,^stage$$sed-,,p` ; \
d1367 1
a1367 2
	  f1=$$r/stage[+prev+]-$$file; f2=$$r/stage[+id+]-$$file; \
	  if test ! -f $$f1; then continue; fi; \
d1371 1
a1371 1
	      @@compare_exclusions@@) \
a1401 1
	TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
a1411 1
	TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
a1433 1
	TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
a1458 2
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
d1469 2
a1470 2
	rm -rf stage1-$(TARGET_SUBDIR)[+ FOR bootstrap-stage +][+ IF prev
	  +] stage[+id+]-*[+ ENDIF prev +][+ ENDFOR bootstrap-stage +]
@


1.1.1.2.8.1
log
@Rebase to HEAD as of a few days ago.
@
text
@d9 1
a9 1
#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
d106 2
a162 2
	GOC="$(GOC_FOR_BUILD)"; export GOC; \
	GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
a198 1
	GOC="$(GOC)"; export GOC; \
a210 1
	READELF="$(READELF)"; export READELF; \
a217 1
	READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
a241 1
	  -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
d245 1
a245 3
	  -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
	  -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs"; \
	  export CXX; \
a278 1
	GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
a285 1
	READELF="$(READELF_FOR_TARGET)"; export READELF; \
a319 2
EXTRA_CONFIGARGS_LIBJAVA = @@EXTRA_CONFIGARGS_LIBJAVA@@

d324 1
a324 1
SHELL = @@SHELL@@
a344 1
GOC_FOR_BUILD = @@GOC_FOR_BUILD@@
a394 1
READELF = @@READELF@@
a406 1
GOCFLAGS = $(CFLAGS)
a414 1
POSTSTAGE1_CONFIGURE_FLAGS = @@POSTSTAGE1_CONFIGURE_FLAGS@@
d425 1
a425 4
# STAGE1_CONFIGURE_FLAGS overridden below, so we can use
# POSTSTAGE1_CONFIGURE_FLAGS here.
STAGE[+id+]_CONFIGURE_FLAGS = \
	$(STAGE_CONFIGURE_FLAGS) $(POSTSTAGE1_CONFIGURE_FLAGS)
a442 3
# * Don't remove this, because above we added
#   POSTSTAGE1_CONFIGURE_FLAGS to STAGE[+id+]_CONFIGURE_FLAGS, which
#   we don't want for STAGE1_CONFIGURE_FLAGS.
a471 1
GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GOC_FOR_TARGET@@
a478 1
READELF_FOR_TARGET=@@READELF_FOR_TARGET@@
d492 1
a492 2
LDFLAGS_FOR_TARGET = @@LDFLAGS_FOR_TARGET@@
GOCFLAGS_FOR_TARGET = -O2 -g
a545 20
CXX_FOR_TARGET_FLAG_TO_PASS = \
	"CXX_FOR_TARGET=$(CXX_FOR_TARGET)"
@@if target-libstdc++-v3
# CXX_FOR_TARGET is tricky to get right for target libs that require a
# functional C++ compiler.  When we recurse, if we expand
# CXX_FOR_TARGET before configuring libstdc++-v3, we won't get
# libstdc++ include flags from the script.  Instead, we get an
# -funconfigured-* word, so that we'll get errors if this invalid C++
# command line is used for anything, but also so that we can use the
# word to decide whether or not to pass on this CXX_FOR_TARGET.  If we
# don't pass it on, sub-make will use the default definition, that
# re-expands it at the time of use, so we'll get it right when we need
# it.  One potential exception is the expansion of CXX_FOR_TARGET
# passed down as part of CXX within TARGET_FLAGS, but this wouldn't
# really work, for C++ host programs can't depend on the current-stage
# C++ target library.
CXX_FOR_TARGET_FLAG_TO_PASS = \
	$(shell if echo "$(CXX_FOR_TARGET)" | grep " -funconfigured-" > /dev/null; then :; else echo '"CXX_FOR_TARGET=$(CXX_FOR_TARGET)"'; fi)
@@endif target-libstdc++-v3

a552 1
	$(CXX_FOR_TARGET_FLAG_TO_PASS) \
a569 1
	'GOC=$(GOC)' \
a574 1
	'READELF=$(READELF)' \
d581 12
a617 2
	'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
	'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
a624 1
	'READELF=$$(READELF_FOR_TARGET)' \
d641 4
a644 1
	"`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
a880 20
.PHONY: install-strip
install-strip:
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(MAKE) $(RECURSE_FLAGS_TO_PASS) installdirs install-strip-host install-strip-target

.PHONY: install-strip-host
install-strip-host: [+
  FOR host_modules +] \
    maybe-install-strip-[+module+][+
  ENDFOR host_modules +]

.PHONY: install-strip-target
install-strip-target: [+
  FOR target_modules +] \
    maybe-install-strip-target-[+module+][+
  ENDFOR target_modules +]


a1165 17
.PHONY: install-strip-[+module+] maybe-install-strip-[+module+]
maybe-install-strip-[+module+]:
@@if [+module+]
maybe-install-strip-[+module+]: install-strip-[+module+]
[+ IF no_install +]
install-strip-[+module+]:
[+ ELSE install +]
install-strip-[+module+]: installdirs
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(HOST_EXPORTS) \
	(cd $(HOST_SUBDIR)/[+module+] && \
	  $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] install-strip)
[+ ENDIF no_install +]
@@endif [+module+]

a1277 22
.PHONY: install-strip-target-[+module+] maybe-install-strip-target-[+module+]
maybe-install-strip-target-[+module+]:
@@if target-[+module+]
maybe-install-strip-target-[+module+]: install-strip-target-[+module+]
[+ IF no_install +]
# Dummy target for uninstallable.
install-strip-target-[+module+]:
[+ ELSE install +]
install-strip-target-[+module+]: installdirs
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \[+
IF raw_cxx +]
	$(RAW_CXX_TARGET_EXPORTS) \[+
ELSE normal_cxx +]
	$(NORMAL_TARGET_EXPORTS) \[+
ENDIF raw_cxx +]
	(cd $(TARGET_SUBDIR)/[+module+] && \
	  $(MAKE) $(TARGET_FLAGS_TO_PASS) [+extra_make_flags+] install-strip)
[+ ENDIF no_install +]
@@endif target-[+module+]

a1316 7
@@if target-libmudflap
.PHONY: check-target-libmudflap-c++
check-target-libmudflap-c++:
	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) c++frags.exp" check-target-libmudflap

@@endif target-libmudflap

d1343 1
a1343 1
check-[+language+]: check-gcc-[+language+][+ FOR lib-check-target +] [+ lib-check-target +][+ ENDFOR lib-check-target +]
@


1.1.1.2.2.1
log
@sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")
@
text
@d9 1
a9 1
#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
d106 2
a162 2
	GOC="$(GOC_FOR_BUILD)"; export GOC; \
	GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
a198 1
	GOC="$(GOC)"; export GOC; \
a210 1
	READELF="$(READELF)"; export READELF; \
a217 1
	READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
a241 1
	  -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
d245 1
a245 3
	  -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
	  -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs"; \
	  export CXX; \
a278 1
	GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
a285 1
	READELF="$(READELF_FOR_TARGET)"; export READELF; \
a319 2
EXTRA_CONFIGARGS_LIBJAVA = @@EXTRA_CONFIGARGS_LIBJAVA@@

d324 1
a324 1
SHELL = @@SHELL@@
a344 1
GOC_FOR_BUILD = @@GOC_FOR_BUILD@@
a394 1
READELF = @@READELF@@
a406 1
GOCFLAGS = $(CFLAGS)
a414 1
POSTSTAGE1_CONFIGURE_FLAGS = @@POSTSTAGE1_CONFIGURE_FLAGS@@
d425 1
a425 4
# STAGE1_CONFIGURE_FLAGS overridden below, so we can use
# POSTSTAGE1_CONFIGURE_FLAGS here.
STAGE[+id+]_CONFIGURE_FLAGS = \
	$(STAGE_CONFIGURE_FLAGS) $(POSTSTAGE1_CONFIGURE_FLAGS)
a442 3
# * Don't remove this, because above we added
#   POSTSTAGE1_CONFIGURE_FLAGS to STAGE[+id+]_CONFIGURE_FLAGS, which
#   we don't want for STAGE1_CONFIGURE_FLAGS.
a471 1
GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GOC_FOR_TARGET@@
a478 1
READELF_FOR_TARGET=@@READELF_FOR_TARGET@@
d492 1
a492 2
LDFLAGS_FOR_TARGET = @@LDFLAGS_FOR_TARGET@@
GOCFLAGS_FOR_TARGET = -O2 -g
a545 20
CXX_FOR_TARGET_FLAG_TO_PASS = \
	"CXX_FOR_TARGET=$(CXX_FOR_TARGET)"
@@if target-libstdc++-v3
# CXX_FOR_TARGET is tricky to get right for target libs that require a
# functional C++ compiler.  When we recurse, if we expand
# CXX_FOR_TARGET before configuring libstdc++-v3, we won't get
# libstdc++ include flags from the script.  Instead, we get an
# -funconfigured-* word, so that we'll get errors if this invalid C++
# command line is used for anything, but also so that we can use the
# word to decide whether or not to pass on this CXX_FOR_TARGET.  If we
# don't pass it on, sub-make will use the default definition, that
# re-expands it at the time of use, so we'll get it right when we need
# it.  One potential exception is the expansion of CXX_FOR_TARGET
# passed down as part of CXX within TARGET_FLAGS, but this wouldn't
# really work, for C++ host programs can't depend on the current-stage
# C++ target library.
CXX_FOR_TARGET_FLAG_TO_PASS = \
	$(shell if echo "$(CXX_FOR_TARGET)" | grep " -funconfigured-" > /dev/null; then :; else echo '"CXX_FOR_TARGET=$(CXX_FOR_TARGET)"'; fi)
@@endif target-libstdc++-v3

a552 1
	$(CXX_FOR_TARGET_FLAG_TO_PASS) \
a569 1
	'GOC=$(GOC)' \
a574 1
	'READELF=$(READELF)' \
d581 12
a617 2
	'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
	'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
a624 1
	'READELF=$$(READELF_FOR_TARGET)' \
d641 4
a644 1
	"`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
a880 20
.PHONY: install-strip
install-strip:
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(MAKE) $(RECURSE_FLAGS_TO_PASS) installdirs install-strip-host install-strip-target

.PHONY: install-strip-host
install-strip-host: [+
  FOR host_modules +] \
    maybe-install-strip-[+module+][+
  ENDFOR host_modules +]

.PHONY: install-strip-target
install-strip-target: [+
  FOR target_modules +] \
    maybe-install-strip-target-[+module+][+
  ENDFOR target_modules +]


a1165 17
.PHONY: install-strip-[+module+] maybe-install-strip-[+module+]
maybe-install-strip-[+module+]:
@@if [+module+]
maybe-install-strip-[+module+]: install-strip-[+module+]
[+ IF no_install +]
install-strip-[+module+]:
[+ ELSE install +]
install-strip-[+module+]: installdirs
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(HOST_EXPORTS) \
	(cd $(HOST_SUBDIR)/[+module+] && \
	  $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] install-strip)
[+ ENDIF no_install +]
@@endif [+module+]

a1277 22
.PHONY: install-strip-target-[+module+] maybe-install-strip-target-[+module+]
maybe-install-strip-target-[+module+]:
@@if target-[+module+]
maybe-install-strip-target-[+module+]: install-strip-target-[+module+]
[+ IF no_install +]
# Dummy target for uninstallable.
install-strip-target-[+module+]:
[+ ELSE install +]
install-strip-target-[+module+]: installdirs
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \[+
IF raw_cxx +]
	$(RAW_CXX_TARGET_EXPORTS) \[+
ELSE normal_cxx +]
	$(NORMAL_TARGET_EXPORTS) \[+
ENDIF raw_cxx +]
	(cd $(TARGET_SUBDIR)/[+module+] && \
	  $(MAKE) $(TARGET_FLAGS_TO_PASS) [+extra_make_flags+] install-strip)
[+ ENDIF no_install +]
@@endif target-[+module+]

a1316 7
@@if target-libmudflap
.PHONY: check-target-libmudflap-c++
check-target-libmudflap-c++:
	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) c++frags.exp" check-target-libmudflap

@@endif target-libmudflap

d1343 1
a1343 1
check-[+language+]: check-gcc-[+language+][+ FOR lib-check-target +] [+ lib-check-target +][+ ENDFOR lib-check-target +]
@


1.1.1.3
log
@from ftp.gnu.org
@
text
@d9 1
a9 1
#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
d106 2
a162 2
	GOC="$(GOC_FOR_BUILD)"; export GOC; \
	GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
a198 1
	GOC="$(GOC)"; export GOC; \
a210 1
	READELF="$(READELF)"; export READELF; \
a217 1
	READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
a241 1
	  -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
d245 1
a245 3
	  -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
	  -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs"; \
	  export CXX; \
a278 1
	GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
a285 1
	READELF="$(READELF_FOR_TARGET)"; export READELF; \
a319 2
EXTRA_CONFIGARGS_LIBJAVA = @@EXTRA_CONFIGARGS_LIBJAVA@@

d324 1
a324 1
SHELL = @@SHELL@@
a344 1
GOC_FOR_BUILD = @@GOC_FOR_BUILD@@
a394 1
READELF = @@READELF@@
a406 1
GOCFLAGS = $(CFLAGS)
a414 1
POSTSTAGE1_CONFIGURE_FLAGS = @@POSTSTAGE1_CONFIGURE_FLAGS@@
d425 1
a425 4
# STAGE1_CONFIGURE_FLAGS overridden below, so we can use
# POSTSTAGE1_CONFIGURE_FLAGS here.
STAGE[+id+]_CONFIGURE_FLAGS = \
	$(STAGE_CONFIGURE_FLAGS) $(POSTSTAGE1_CONFIGURE_FLAGS)
a442 3
# * Don't remove this, because above we added
#   POSTSTAGE1_CONFIGURE_FLAGS to STAGE[+id+]_CONFIGURE_FLAGS, which
#   we don't want for STAGE1_CONFIGURE_FLAGS.
a471 1
GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GOC_FOR_TARGET@@
a478 1
READELF_FOR_TARGET=@@READELF_FOR_TARGET@@
d492 1
a492 2
LDFLAGS_FOR_TARGET = @@LDFLAGS_FOR_TARGET@@
GOCFLAGS_FOR_TARGET = -O2 -g
a545 20
CXX_FOR_TARGET_FLAG_TO_PASS = \
	"CXX_FOR_TARGET=$(CXX_FOR_TARGET)"
@@if target-libstdc++-v3
# CXX_FOR_TARGET is tricky to get right for target libs that require a
# functional C++ compiler.  When we recurse, if we expand
# CXX_FOR_TARGET before configuring libstdc++-v3, we won't get
# libstdc++ include flags from the script.  Instead, we get an
# -funconfigured-* word, so that we'll get errors if this invalid C++
# command line is used for anything, but also so that we can use the
# word to decide whether or not to pass on this CXX_FOR_TARGET.  If we
# don't pass it on, sub-make will use the default definition, that
# re-expands it at the time of use, so we'll get it right when we need
# it.  One potential exception is the expansion of CXX_FOR_TARGET
# passed down as part of CXX within TARGET_FLAGS, but this wouldn't
# really work, for C++ host programs can't depend on the current-stage
# C++ target library.
CXX_FOR_TARGET_FLAG_TO_PASS = \
	$(shell if echo "$(CXX_FOR_TARGET)" | grep " -funconfigured-" > /dev/null; then :; else echo '"CXX_FOR_TARGET=$(CXX_FOR_TARGET)"'; fi)
@@endif target-libstdc++-v3

a552 1
	$(CXX_FOR_TARGET_FLAG_TO_PASS) \
a569 1
	'GOC=$(GOC)' \
a574 1
	'READELF=$(READELF)' \
d581 12
a617 2
	'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
	'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
a624 1
	'READELF=$$(READELF_FOR_TARGET)' \
d641 4
a644 1
	"`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
a880 20
.PHONY: install-strip
install-strip:
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(MAKE) $(RECURSE_FLAGS_TO_PASS) installdirs install-strip-host install-strip-target

.PHONY: install-strip-host
install-strip-host: [+
  FOR host_modules +] \
    maybe-install-strip-[+module+][+
  ENDFOR host_modules +]

.PHONY: install-strip-target
install-strip-target: [+
  FOR target_modules +] \
    maybe-install-strip-target-[+module+][+
  ENDFOR target_modules +]


a1165 17
.PHONY: install-strip-[+module+] maybe-install-strip-[+module+]
maybe-install-strip-[+module+]:
@@if [+module+]
maybe-install-strip-[+module+]: install-strip-[+module+]
[+ IF no_install +]
install-strip-[+module+]:
[+ ELSE install +]
install-strip-[+module+]: installdirs
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(HOST_EXPORTS) \
	(cd $(HOST_SUBDIR)/[+module+] && \
	  $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] install-strip)
[+ ENDIF no_install +]
@@endif [+module+]

a1277 22
.PHONY: install-strip-target-[+module+] maybe-install-strip-target-[+module+]
maybe-install-strip-target-[+module+]:
@@if target-[+module+]
maybe-install-strip-target-[+module+]: install-strip-target-[+module+]
[+ IF no_install +]
# Dummy target for uninstallable.
install-strip-target-[+module+]:
[+ ELSE install +]
install-strip-target-[+module+]: installdirs
	@@: $(MAKE); $(unstage)
	@@r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \[+
IF raw_cxx +]
	$(RAW_CXX_TARGET_EXPORTS) \[+
ELSE normal_cxx +]
	$(NORMAL_TARGET_EXPORTS) \[+
ENDIF raw_cxx +]
	(cd $(TARGET_SUBDIR)/[+module+] && \
	  $(MAKE) $(TARGET_FLAGS_TO_PASS) [+extra_make_flags+] install-strip)
[+ ENDIF no_install +]
@@endif target-[+module+]

a1316 7
@@if target-libmudflap
.PHONY: check-target-libmudflap-c++
check-target-libmudflap-c++:
	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) c++frags.exp" check-target-libmudflap

@@endif target-libmudflap

d1343 1
a1343 1
check-[+language+]: check-gcc-[+language+][+ FOR lib-check-target +] [+ lib-check-target +][+ ENDFOR lib-check-target +]
@


1.1.1.4
log
@Import binutils-2.26
@
text
@d172 1
a172 1
# built for the build system to override those in BASE_FLAGS_TO_PASS.
a218 1
	OBJCOPY_FOR_TARGET="$(OBJCOPY_FOR_TARGET)"; export OBJCOPY_FOR_TARGET; \
d225 6
a230 4
	ISLLIBS="$(HOST_ISLLIBS)"; export ISLLIBS; \
	ISLINC="$(HOST_ISLINC)"; export ISLINC; \
	LIBELFLIBS="$(HOST_LIBELFLIBS)"; export LIBELFLIBS; \
	LIBELFINC="$(HOST_LIBELFINC)"; export LIBELFINC; \
d242 1
a242 1
	CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xg++$(exeext) \
d246 3
a248 3
	  `if $(LEAN); then echo ' -isystem '; else echo ' -I'; fi`$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \
	  `if $(LEAN); then echo ' -isystem '; else echo ' -I'; fi`$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \
	  `if $(LEAN); then echo ' -isystem '; else echo ' -I'; fi`$$s/libstdc++-v3/libsupc++ \
a262 1
	$(LTO_EXPORTS) \
a291 1
	OBJCOPY="$(OBJCOPY_FOR_TARGET)"; export OBJCOPY; \
d316 7
a322 3
# Where to find ISL
HOST_ISLLIBS = @@isllibs@@
HOST_ISLINC = @@islinc@@
d372 1
a372 1
BOOT_ADAFLAGS= -gnatpg
d428 1
d439 4
a442 1
STAGE[+id+]_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS)
d445 5
a449 3
# By default, C and C++ are the only stage1 languages, because they are the
# only ones we require to build with the bootstrap compiler, and also the
# only ones useful for building stage2.
d460 3
a462 1
# * We also disable -Wformat, since older GCCs don't understand newer %s.
d464 1
a464 2
	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" \
	  --disable-build-format-warnings
a498 1
OBJCOPY_FOR_TARGET=@@OBJCOPY_FOR_TARGET@@
d589 1
a589 3
# Flags to pass down to all sub-makes. STAGE*FLAGS,
# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
# overrideable (for a bootstrap build stage1 also builds gcc.info).
a626 6
# Flags to pass to stage1 or when not bootstrapping.

STAGE1_FLAGS_TO_PASS = \
	LDFLAGS="$${LDFLAGS}" \
	HOST_LIBS="$${HOST_LIBS}"

a634 1
	$(LTO_FLAGS_TO_PASS) \
a636 8
@@if gcc-bootstrap
EXTRA_HOST_EXPORTS = if [ $(current_stage) != stage1 ]; then \
		       $(POSTSTAGE1_HOST_EXPORTS) \
		     fi;

EXTRA_BOOTSTRAP_FLAGS = CC="$$CC" CXX="$$CXX" LDFLAGS="$$LDFLAGS"
@@endif gcc-bootstrap

d647 1
a647 3
	'CXX=$$(CXX_FOR_TARGET) -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
	 -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
	 $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
a659 1
	'OBJCOPY=$$(OBJCOPY_FOR_TARGET)' \
a664 2
	'STAGE1_LDFLAGS=$$(POSTSTAGE1_LDFLAGS)' \
	'STAGE1_LIBS=$$(POSTSTAGE1_LIBS)' \
d783 3
a785 3
	if [ -f dir.info ]; then \
	  $(INSTALL_DATA) dir.info $(DESTDIR)$(infodir)/dir.info; \
	else true; fi
a866 12
# Local Vim config

$(srcdir)/.local.vimrc:
	$(LN_S) contrib/vimrc $@@

$(srcdir)/.lvimrc:
	$(LN_S) contrib/vimrc $@@

vimrc: $(srcdir)/.local.vimrc $(srcdir)/.lvimrc

.PHONY: vimrc

d899 2
a900 2
	@@if [ -f ./gcc/Makefile ]; then \
		r=`${PWD_COMMAND}`; export r; \
d904 1
a904 1
		$(MAKE) $(FLAGS_TO_PASS) install-headers); \
d906 1
a906 1
		true; \
d909 2
a910 3
# install-no-fixedincludes is used to allow the elaboration of binary packages
# suitable for distribution, where we cannot include the fixed system header
# files.
d913 1
a913 1
	install-target gcc-install-no-fixedincludes
d945 4
a948 4
	if [ -f $(srcdir)/texinfo/gen-info-dir ]; then \
	  $(srcdir)/texinfo/gen-info-dir $(DESTDIR)$(infodir) $(srcdir)/texinfo/dir.info-template > dir.info.new; \
	  mv -f dir.info.new dir.info; \
	else true; \
d983 2
a984 2
	$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+]; \
	$(CC_FOR_TARGET) --print-multi-lib > [+subdir+]/[+module+]/multilib.tmp 2> /dev/null; \
d996 1
a996 1
	$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+]; \
d1005 2
a1006 1
	module_srcdir=[+? module_srcdir (get "module_srcdir") (get "module")+]; \
d1008 1
a1008 3
	CONFIG_SITE=no-such-file [+ ENDIF +]$(SHELL) \
	  $$s/$$module_srcdir/configure \
	  --srcdir=$${topdir}/$$module_srcdir \
d1010 1
a1010 1
	  --target=[+target_alias+] [+extra_configure_flags+] \
d1028 1
a1028 1
	$(CC_FOR_TARGET) --print-multi-lib > [+subdir+]/[+module+]/multilib.tmp 2> /dev/null; \
d1050 2
a1051 2
	echo Configuring stage [+id+] in [+subdir+]/[+module+]; \
	$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+]; \
d1058 3
a1060 3
	module_srcdir=[+? module_srcdir (get "module_srcdir") (get "module")+]; \
	$(SHELL) $$s/$$module_srcdir/configure \
	  --srcdir=$${topdir}/$$module_srcdir \
d1062 2
a1063 2
	  --target=[+target_alias+] \
	  [+ IF prev +]--with-build-libsubdir=$(HOST_SUBDIR)[+ ENDIF prev +] \
d1087 1
a1087 1
	  $(MAKE) $(BASE_FLAGS_TO_PASS) [+args+] [+stage1_args+] [+extra_make_flags+] \
d1120 3
a1122 2
		[+args+] [+IF prev +][+poststage1_args+][+ ELSE prev +] \
		[+stage1_args+][+ ENDIF prev +] [+extra_make_flags+] \
d1136 3
a1138 2
	$(MAKE) [+args+] [+ IF prev +][+poststage1_args+][+ ELSE prev +] \
	[+stage1_args+][+ ENDIF prev +] [+extra_make_flags+] clean
a1172 1
       stage1_args="$(STAGE1_FLAGS_TO_PASS)"
d1185 1
a1185 1
	@@if [ '$(host)' = '$(target)' ]; then \
d1188 1
a1188 2
	  $(HOST_EXPORTS) [+ IF bootstrap +]$(EXTRA_HOST_EXPORTS)[+
	  ENDIF bootstrap +] \
d1190 1
a1190 2
	    $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+][+
	    IF bootstrap +] $(EXTRA_BOOTSTRAP_FLAGS)[+ ENDIF bootstrap +] check)
d1197 1
a1197 2
	$(HOST_EXPORTS) [+ IF bootstrap +]$(EXTRA_HOST_EXPORTS)[+
	ENDIF bootstrap +] \
d1199 1
a1199 2
	  $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+][+
	  IF bootstrap +] $(EXTRA_BOOTSTRAP_FLAGS)[+ ENDIF bootstrap +] check)
d1259 1
a1259 1
	echo "Doing [+make_target+] in [+module+]"; \
d1386 1
a1386 1
	@@[ -f $(TARGET_SUBDIR)/[+module+]/Makefile ] || exit 0; \
d1394 1
a1394 1
	echo "Doing [+make_target+] in $(TARGET_SUBDIR)/[+module+]"; \
d1410 4
a1413 11
@@if target-libgomp
.PHONY: check-target-libgomp-c++
check-target-libgomp-c++:
	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) c++.exp" check-target-libgomp

@@endif target-libgomp

@@if target-libitm
.PHONY: check-target-libitm-c++
check-target-libitm-c++:
	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) c++.exp" check-target-libitm
d1415 1
a1415 1
@@endif target-libitm
d1430 1
a1430 1
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
d1446 5
a1450 4
# The gcc part of install-no-fixedincludes, which relies on an intimate
# knowledge of how a number of gcc internal targets (inter)operate.  Delegate.
.PHONY: gcc-install-no-fixedincludes
gcc-install-no-fixedincludes:
d1452 6
d1459 1
a1459 1
	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
d1461 4
a1464 2
	  (cd ./gcc \
	   && $(MAKE) $(GCC_FLAGS_TO_PASS) install-no-fixedincludes); \
d1523 1
a1523 1
	echo stage[+id+] > stage_current; \
d1530 1
a1530 1
	mv stage[+id+]-[+module+] [+module+][+ IF prev +]; \
d1535 1
a1535 1
	mv stage[+id+]-$(TARGET_SUBDIR) $(TARGET_SUBDIR)[+ IF prev +]; \
d1540 3
a1542 3
	@@if test -d $(HOST_SUBDIR)/[+module+]; then \
	  cd $(HOST_SUBDIR); mv [+module+] stage[+id+]-[+module+][+ IF prev +]; \
	  mv prev-[+module+] stage[+prev+]-[+module+]; : [+ ENDIF prev +]; \
d1545 3
a1547 3
	@@if test -d $(TARGET_SUBDIR); then \
	  mv $(TARGET_SUBDIR) stage[+id+]-$(TARGET_SUBDIR)[+ IF prev +]; \
	  mv prev-$(TARGET_SUBDIR) stage[+prev+]-$(TARGET_SUBDIR); : [+ ENDIF prev +]; \
d1559 2
a1560 2
	  IF prev +]|| test -f stage[+prev+]-lean [+ ENDIF prev +]; then \
	  echo Skipping rebuild of stage[+id+]; \
d1564 2
a1565 2
	    rm -rf stage[+lean+]-*; \
	    $(STAMP) stage[+lean+]-lean; \
d1582 2
a1583 2
	  echo Cannot compare object files as stage [+prev+] was deleted.; \
	  exit 0; \
d1586 2
a1587 2
	rm -f .bad_compare; \
	echo Comparing stages [+prev+] and [+id+]; \
d1590 2
a1591 2
		 sed -n s,^stage$$sed-,,p`; \
	for file in $${files}; do \
d1601 3
a1603 3
	    esac; \
	  fi; \
	done; \
d1610 1
a1610 1
	fi; \
d1676 1
a1676 1
	  j=`echo $$i | sed s/^prev-//`; \
d1678 2
a1679 2
	  { find . -type d | sort | sed 's,.*,$(SHELL) '"$$s"'/mkinstalldirs "../'$$j'/&",' | $(SHELL); } && \
	  { find . -name '*.*da' | sed 's,.*,$(LN) -f "&" "../'$$j'/&",' | $(SHELL); }; \
@


1.1.1.4.2.1
log
@Sync with HEAD
@
text
@d9 1
a9 2
#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
#   2011, 2012, 2013, 2014, 2015, 2016
a227 1
	ISLVER="$(HOST_ISLVER)"; export ISLVER; \
a229 1
	XGCC_FLAGS_FOR_TARGET="$(XGCC_FLAGS_FOR_TARGET)"; export XGCC_FLAGS_FOR_TARGET; \
d317 1
a317 1
# Where to find isl
a319 1
HOST_ISLVER = @@islver@@
d592 1
a592 2
	"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
	$(if $(LSAN_OPTIONS),"LSAN_OPTIONS=$(LSAN_OPTIONS)")
d809 1
a809 1
	-rm -f maybedep.tmp serdep.tmp stage_final
d821 1
a821 2
	-rmdir fastjar gcc gnattools gotools libcc1 libiberty 2>/dev/null
	-rmdir texinfo zlib 2>/dev/null
a891 9
# clang-format config

$(srcdir)/.clang-format:
	$(LN_S) contrib/clang-format $@@

clang-format: $(srcdir)/.clang-format

.PHONY: clang-format

d1920 1
a1920 4
	$(srcdir)/config/override.m4 $(srcdir)/config/proginstall.m4 \
	$(srcdir)/config/elf.m4 $(srcdir)/config/isl.m4 \
	$(srcdir)/libtool.m4 $(srcdir)/ltoptions.m4 $(srcdir)/ltsugar.m4 \
	$(srcdir)/ltversion.m4 $(srcdir)/lt~obsolete.m4
@


1.1.1.5
log
@Import binutils-2.27 minus the testsuites
@
text
@d9 1
a9 2
#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
#   2011, 2012, 2013, 2014, 2015, 2016
a227 1
	ISLVER="$(HOST_ISLVER)"; export ISLVER; \
a229 1
	XGCC_FLAGS_FOR_TARGET="$(XGCC_FLAGS_FOR_TARGET)"; export XGCC_FLAGS_FOR_TARGET; \
d317 1
a317 1
# Where to find isl
a319 1
HOST_ISLVER = @@islver@@
d592 1
a592 2
	"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
	$(if $(LSAN_OPTIONS),"LSAN_OPTIONS=$(LSAN_OPTIONS)")
d809 1
a809 1
	-rm -f maybedep.tmp serdep.tmp stage_final
d821 1
a821 2
	-rmdir fastjar gcc gnattools gotools libcc1 libiberty 2>/dev/null
	-rmdir texinfo zlib 2>/dev/null
a891 9
# clang-format config

$(srcdir)/.clang-format:
	$(LN_S) contrib/clang-format $@@

clang-format: $(srcdir)/.clang-format

.PHONY: clang-format

d1920 1
a1920 4
	$(srcdir)/config/override.m4 $(srcdir)/config/proginstall.m4 \
	$(srcdir)/config/elf.m4 $(srcdir)/config/isl.m4 \
	$(srcdir)/libtool.m4 $(srcdir)/ltoptions.m4 $(srcdir)/ltsugar.m4 \
	$(srcdir)/ltversion.m4 $(srcdir)/lt~obsolete.m4
@


1.1.1.5.12.1
log
@Sync with HEAD, resolve some conflicts
@
text
@d10 1
a10 1
#   2011, 2012, 2013, 2014, 2015, 2016, 2017
d160 1
d198 1
d286 1
d329 2
d354 1
a385 2
AUTO_PROFILE = gcc-auto-profile -c 1000000

a421 2
CREATE_GCOV = create_gcov

a465 6
STAGEautoprofile_CFLAGS = $(STAGE2_CFLAGS) -g
STAGEautoprofile_TFLAGS = $(STAGE2_TFLAGS)

STAGEautofeedback_CFLAGS = $(STAGE3_CFLAGS)
STAGEautofeedback_TFLAGS = $(STAGE3_TFLAGS)

d484 1
d610 1
d621 1
a621 2
	'WINDMC=$(WINDMC)' \
	'CREATE_GCOV=$(CREATE_GCOV)'
d665 1
a1150 1
	[+autoprofile+] \
d1164 1
a1164 1
		TFLAGS="$(STAGE[+id+]_TFLAGS)" [+profile_data+] \
@


1.1.1.5.12.2
log
@Sync with HEAD, resolve a couple of conflicts
@
text
@a1462 4
.PHONY: check-target-libgomp-fortran
check-target-libgomp-fortran:
	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) fortran.exp" check-target-libgomp

@


1.1.1.6
log
@2018-01-10  Nick Clifton  <nickc@@redhat.com>

	* config-ml.in: Sync with gcc sources.
	* config.guess: Likewise.
	* config.sub: Likewise.
	* configure.ac: Likewise.
	* configure: Regenerate.

2017-12-14  Nick Clifton  <nickc@@redhat.com>

	* COPYING.LIBGLOSS: Update address of FSF in copyright notice.

2017-12-12  Stafford Horne  <shorne@@gmail.com>

	* configure.ac: Remove logic adding gdb to noconfigsdirs for or1k.
	* configure: Regenerate.

2017-09-15  Nick Clifton  <nickc@@redhat.com>

	* src-release.sh (LZIPPROG): New define.  Provides the name of the
	lzip program.
	(do_lz): New function.  Compresses a tarball using the lzip
	program.
	(do_compress): Add support for lzip compression.
	(usage): Mention -l option.
	(build_release): Support -l option to invoke lzip compression.

2017-09-15  Alan Modra  <amodra@@gmail.com>

	* src-release.sh (do_proto_toplev): Revert last patch.  Enable or
	disable binutils, gas, gdb, gold, gprof, ld, libdecnumber, readline,
	and sim depending on $tool and $support_files.  Echo configure line.

2017-09-14  Matt Rice <ratmice@@gmail.com>

	* src-release.sh (do_proto_toplev): Enable gold during release process.

2017-04-13  Andrew Jenner  <andrew@@codesourcery.com>

	* config.sub: Sync with master version in config project.

2017-04-03  Andrew Jenner  <andrew@@codesourcery.com>

	* config.sub: Handle ia16 in $basic_machine.

	bfd/
	* config.bfd: Handle ia16.

	gas/
	* configure.tgt: Handle ia16.

	ld/
	* configure.tgt: Handle ia16.

2017-03-22  Nick Clifton  <nickc@@redhat.com>

	* config.sub: Sync with master version in config project.
	* config.guess: Likewise.

2017-01-23  Nick Clifton  <nickc@@redhat.com>

	* configure.ac: Update year in copyright notice.
	Sync from FSF GCC mainline, bringing in the following patches.
	* Makefile.def: Likewise.
	* Makefile.tpl: Likewise.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

	2016-12-21  Jakub Jelinek  <jakub@@redhat.com>

	* configure.ac: Don't bootstrap libmpx unless --with-build-config
	includes bootstrap-mpx.

	2016-12-01  Matthias Klose  <doko@@ubuntu.com>

	* configure.ac: Don't use pkg-config to check for bdw-gc.

	2016-11-30  Matthias Klose  <doko@@ubuntu.com>

	* Makefile.def: Remove reference to boehm-gc target module.
  	* configure.ac: Include pkg.m4, check for --with-target-bdw-gc
	options and for the bdw-gc pkg-config module.

	2016-11-15  Matthias Klose  <doko@@ubuntu.com>

	* config-ml.in: Remove references to GCJ.
	* configure.ac: Likewise.

	2016-09-30  Jakub Jelinek  <jakub@@redhat.com>

	* configure.ac: Add target-libffi to target_libraries.
	Readd libgcj target disablings, modified to only target-libffi.
	Readd target addition of go to unsupported languages.

	2016-09-30  Andrew Haley  <aph@@redhat.com>

	* Makefile.def: Remove libjava.
	* Makefile.tpl: Likewise.
	* configure.ac: Likewise.

	2016-09-26  Anton Kolesov  <Anton.Kolesov@@synopsys.com>

	* configure.ac: Disable "sim" directory for arc*-*-*.

	2016-09-12  Maciej W. Rozycki  <macro@@imgtec.com>

	* configure.ac: Check for the minimum in-tree MPFR version
	handled.

2016-12-31  Alan Modra  <amodra@@gmail.com>

	* config.sub: Import from upstream.

2016-12-08  Alan Modra  <amodra@@gmail.com>

	* configure: Regenerate.

2016-12-02  Josh Conner  <joshconner@@google.com>

	* configure.ac: Add fuchsia to targets that use ELF.
	* configure: Regenerated.

2016-11-07  Doug Evans  <dje@@google.com>

	* config.sub: Sync with upstream version 2016-11-03.
	git://git.sv.gnu.org/config.git
	* config.guess: Sync with upstream version 2016-10-02.

2016-09-27  Simon Marchi  <simon.marchi@@polymtl.ca>

	* .gitignore: Add archives and make stamps.

2016-07-20  Yan-Ting Lin  <currygt52@@gmail.com>

	* configure.ac (nds32*-*-*): Remove entry to enable gdb.
	* configure: Regenerated.
@
text
@d10 1
a10 1
#   2011, 2012, 2013, 2014, 2015, 2016, 2017
d160 1
d198 1
d286 1
d329 2
d354 1
a385 2
AUTO_PROFILE = gcc-auto-profile -c 1000000

a421 2
CREATE_GCOV = create_gcov

a465 6
STAGEautoprofile_CFLAGS = $(STAGE2_CFLAGS) -g
STAGEautoprofile_TFLAGS = $(STAGE2_TFLAGS)

STAGEautofeedback_CFLAGS = $(STAGE3_CFLAGS)
STAGEautofeedback_TFLAGS = $(STAGE3_TFLAGS)

d484 1
d610 1
d621 1
a621 2
	'WINDMC=$(WINDMC)' \
	'CREATE_GCOV=$(CREATE_GCOV)'
d665 1
a1150 1
	[+autoprofile+] \
d1164 1
a1164 1
		TFLAGS="$(STAGE[+id+]_TFLAGS)" [+profile_data+] \
@


1.1.1.6.2.1
log
@Sync with HEAD
@
text
@a1462 4
.PHONY: check-target-libgomp-fortran
check-target-libgomp-fortran:
	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) fortran.exp" check-target-libgomp

@


1.1.1.6.2.2
log
@Merge changes from current as of 20200406
@
text
@d1821 6
a1826 13
   ;; dep-kind returns returns "prebootstrap" for configure or build
   ;; dependencies of bootstrapped modules on a build module
   ;; (e.g. all-gcc on all-build-bison); "normal" if the dependency is
   ;; on an "install" target, or if the dependence module is not
   ;; bootstrapped; otherwise, it returns "bootstrap" or
   ;; "postbootstrap" depending on whether the dependent module is
   ;; bootstrapped.  All this is only necessary for host and target
   ;; modules.  It might seem like, in order to avoid build races, we
   ;; might need more elaborate detection between prebootstrap and
   ;; postbootstrap modules, but there are no host prebootstrap
   ;; modules.  If there were any non-bootstrap host modules that
   ;; bootstrap modules depended on, we'd get unsatisfied per-stage
   ;; dependencies on them, which would be immediately noticed.
d1828 9
a1836 22
      (cond
       ((and (hash-ref boot-modules (dep-module "module"))
	     (=* (dep-module "on") "build-"))
	"prebootstrap")

       ((or (= (dep-subtarget "on") "install-")
	    (not (hash-ref boot-modules (dep-module "on"))))
	"normal")

       ((hash-ref boot-modules (dep-module "module"))
	"bootstrap")

       (1 "postbootstrap"))))

   (define make-postboot-dep (lambda ()
     (let ((target (dep-module "module")) (dep "stage_last"))
       (unless (= (hash-ref postboot-targets target) dep)
	 (hash-create-handle! postboot-targets target dep)
	 ;; All non-bootstrap modules' configure target already
	 ;; depend on dep.
	 (unless (=* target "target-")
           (string-append "configure-" target ": " dep "\n"))))))
a1839 1
   (define postboot-targets (make-hash-table 113))
d1856 12
a1867 17
[+ FOR dependencies +][+ CASE (dep-kind) +]
[+ == "prebootstrap" +][+ (make-dep "" "") +][+ FOR bootstrap_stage +]
[+ (make-dep (dep-stage) "") +][+ ENDFOR bootstrap_stage +]
[+ == "bootstrap" +][+ (make-dep "" "") +][+ FOR bootstrap_stage +]
[+ (make-dep (dep-stage) (dep-stage)) +][+ ENDFOR bootstrap_stage +]
[+ == "normal" +][+ (make-dep "" "") +]
[+ ESAC +][+ ENDFOR dependencies +]

@@if gcc-bootstrap
[+ FOR dependencies +][+ CASE (dep-kind) +]
[+ == "postbootstrap" +][+ (make-postboot-dep) +][+ ESAC +][+
ENDFOR dependencies +]@@endif gcc-bootstrap

@@unless gcc-bootstrap
[+ FOR dependencies +][+ CASE (dep-kind) +]
[+ == "postbootstrap" +][+ (make-dep "" "") +]
[+ ESAC +][+ ENDFOR dependencies +]@@endunless gcc-bootstrap
@


1.1.1.7
log
@2018-07-18  Nick Clifton  <nickc@@redhat.com>

	2.31.1 Release point.

2018-07-18  Nick Clifton  <nickc@@redhat.com>

	* (DEVO_SUPPORT): Fix typo in previous delta.
	(do_proto_toplev): Add --quiet option to configure command line.

2018-07-16  Nick Clifton  <nickc@@redhat.com>

	* src-release.sh (DEVO_SUPPORT): Add test-driver and ar-lib.

2018-07-06  Sebastian Huber  <sebastian.huber@@embedded-brains.de>

	* config.sub: Sync with upstream version 2018-07-03.

2018-07-05  Sebastian Huber  <sebastian.huber@@embedded-brains.de>

	* config.guess: Sync with upstream version 2018-06-26.
	* config.sub: Sync with upstream version 2018-07-02.

2018-06-24  Nick Clifton  <nickc@@redhat.com>

	* configure: Regenerate.

2018-06-19  Simon Marchi  <simon.marchi@@ericsson.com>

	* libtool.m4: Use AC_LANG_SOURCE.
	* configure.ac: Remove AC_PREREQ, use AC_LANG_SOURCE.
	* README-maintainer-mode: Update version requirements.
	* ar-lib: New file.
	* test-driver: New file.
	* configure: Re-generate.

2018-06-18  Eric Botcazou  <ebotcazou@@adacore.com>

	* Makefile.def (fortran): Add check-target-libgomp-fortran.
	* Makefile.tpl (check-target-libgomp-fortran): New phony target.
	* Makefile.in: Regenerate.

	* configure: Regenerate.

2018-06-18  Simon Marchi  <simon.marchi@@ericsson.com>

	* configure.ac: Sync with GCC, remove MPX-related things.

2018-05-01  Nick Clifton  <nickc@@redhat.com>

	* config.guess: Synchronize with config project master sources.
	* config.sub: Likewise.

2018-05-01  Francois H. Theron  <francois.theron@@netronome.com>

	* configure.ac: Added "nfp" target.
	* configure: Regenerate.

2018-02-13  Maciej W. Rozycki  <macro@@mips.com>

	* configure.ac <wasm32-*-*> (noconfigdirs): Add `ld'.
	* configure: Regenerate.

2018-01-30  Nick Clifton  <nickc@@redhat.com>

	* src-release.sh (do_proto_toplev): Add patterns for more junk files
	to delete before creating the tarball.

2018-01-29  Nick Clifton  <nickc@@redhat.com>

	* src-release.sh (do_proto_toplev): Strip patch remnant files from
	the sources before creating the tarball.

2018-01-13  Nick Clifton  <nickc@@redhat.com>

	* src-release.sh: Update copyright notice.  Change reference to devo
	to be a reference to root.
@
text
@a1462 4
.PHONY: check-target-libgomp-fortran
check-target-libgomp-fortran:
	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) fortran.exp" check-target-libgomp

@


1.1.1.8
log
@Import binutils-2.34

2020-01-18  Nick Clifton  <nickc@@redhat.com>

	Binutils 2.34 branch created.

2020-01-18  Nick Clifton  <nickc@@redhat.com>

	Synchronize top level configure files with master version:

	2020-01-01  Ben Elliston  <bje@@gnu.org>

	* config.guess: Update copyright years.
	* config.sub: Likewise.

	2019-12-21  Ben Elliston  <bje@@gnu.org>

	* config.guess (set_cc_for_build): Prevent multiple calls by
	checking if $tmp is already set. We can't check CC_FOR_BUILD as
	the user may set it externally. Thanks to Torbjörn Granlund for
	the bug report.

	2019-12-21  Torbjörn Granlund  <tg@@gmplib.org>

	* config.guess (alpha:Linux:*:*): Guard against missing
	/proc/cpuinfo by redirecting standard error to /dev/null.

	2019-09-12  Daniel Bittman  <danielbittman1@@gmail.com>

	* config.guess (*:Twizzler:*:*): New.
	* config.sub (-twizzler*): New.

	2019-07-24  Ben Elliston  <bje@@gnu.org>

	* config.guess (mips:OSF1:*.*): Whitespace cleanup.

	2019-06-30  Ben Elliston  <bje@@gnu.org>

	* config.sub (case $os): Match nsk* and powerunix. Don't later
	match nsk* and set os=nsk which removes the OS version number.

	2019-06-30  Ben Elliston  <bje@@gnu.org>

	* config.sub: Recognise os108*.

	2019-06-26  Ben Elliston  <bje@@gnu.org>

	* config.sub (hp300): Set $os to hpux.

	2019-06-26  Ben Elliston  <bje@@gnu.org>

	* config.sub (vsta): Move into alphabetical order.

	2019-06-10  Ben Elliston  <bje@@gnu.org>

	* config.guess (*:OS108:*:*): Recognise new OS.

	2019-05-28  Ben Elliston  <bje@@gnu.org>

	* config.guess (*:Darwin:*:*): Run xcode-select to determine if a
	system compiler is installed. If not, do not run set_cc_for_build,
	as the default cc will open a dialog box asking to install
	Xcode. If no C compiler is available, guess based on uname -p and
	uname -m.

	2019-05-28  Ben Elliston  <bje@@gnu.org>

	* config.guess (*:Darwin:*:*): Simplify UNAME_PROCESSOR.

2020-01-17  Simon Marchi  <simon.marchi@@efficios.com>

	* Makefile.def: Add dependencies of all-gdbsupport on all-bfd.
	* Makefile.in: Re-generate.

2020-01-14  Tom Tromey  <tom@@tromey.com>

	* src-release.sh (GDB_SUPPORT_DIRS): Add gdbsupport.
	* MAINTAINERS: Add gdbsupport.
	* configure: Rebuild.
	* configure.ac (configdirs): Add gdbsupport.
	* gdbsupport: New directory, move from gdb/gdbsupport.
	* Makefile.def (host_modules, dependencies): Add gnulib.
	* Makefile.in: Rebuild.

2020-01-09  Aaron Merey  <amerey@@redhat.com>

        * config/debuginfod.m4: New file. Add macro AC_DEBUGINFOD. Adds
        new configure option --with-debuginfod.
        * configure: Regenerate.
        * configure.ac: Call AC_DEBUGINFOD.

2019-12-26  Christian Biesinger  <cbiesinger@@google.com>

	* .gitignore: Add perf.data and perf.data.old.

2019-10-17  Sergio Durigan Junior  <sergiodj@@redhat.com>

	* src-release.sh (GDB_SUPPORT_DIRS): Add libctf.

2019-10-17  Alan Modra  <amodra@@gmail.com>

	PR 29
	* src-release.sh (getver): Replace "head -1" with "head -n 1".

2019-07-30  Nick Alcock  <nick.alcock@@oracle.com>

	* Makefile.def (host_modules): libctf is no longer no_install.
	* Makefile.in: Regenerated.

2019-07-13  Nick Alcock  <nick.alcock@@oracle.com>

	* Makefile.def (dependencies): all-ld depends on all-libctf.
	* Makefile.in: Regenerated.

2019-09-09  Phil Blundell  <pb@@pbcl.net>

	binutils 2.33 branch created

2019-08-19  Tom Tromey  <tom@@tromey.com>

	* configure: Rebuild.
	* configure.ac: Add --with-static-standard-libraries.

2019-08-09  Nick Clifton  <nickc@@redhat.com>

	* libiberty: Sync with gcc.  Bring in:
	2019-08-08  Martin Liska  <mliska@@suse.cz>

	PR bootstrap/91352
	* lrealpath.c (is_valid_fd): New function.

	2019-07-24  Martin Liska  <mliska@@suse.cz>

	PR lto/91228
	* simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
	Find first '\0' starting from gnu_lto + 1.

	2019-07-12  Ren Kimura  <rkx1209dev@@gmail.com>

	* simple-object-elf.c (simple_object_elf_match): Check zero value shstrndx.
	This fixes a Bug 90924.

	2019-07-22  Martin Liska  <mliska@@suse.cz>

	* simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
	Do not search for gnu_lto_v1, but search for first '\0'.

	2019-07-18  Eduard-Mihai Burtescu  <eddyb@@lyken.rs>

	* cplus-dem.c: Include rust-demangle.h.
	* rust-demangle.c: Include rust-demangle.h.
	* rust-demangle.h: New file.

	2019-05-31  Michael Forney  <mforney@@mforney.org>

	* cp-demangle.c: Don't define CP_DYNAMIC_ARRAYS if __STDC_NO_VLA__
	is non-zero.

	2019-04-30  Ben L  <bobsayshilol@@live.co.uk>

	* d-demangle.c (dlang_parse_assocarray): Correctly handle error result.
	* testsuite/d-demangle-expected: Add testcase.

	* d-demangle.c (dlang_parse_tuple): Correctly handle error result.
	* testsuite/d-demangle-expected: Add testcase.

	* d-demangle.c (dlang_parse_structlit): Correctly handle error result.
	* testsuite/d-demangle-expected: Add testcase.

	* d-demangle.c (dlang_parse_arrayliteral): Correctly handle error result.
	* testsuite/d-demangle-expected: Add testcase.

	* d-demangle.c (dlang_parse_integer): Fix stack underflow.
	* testsuite/d-demangle-expected: Add testcase.

	* cp-demangle (d_print_comp_inner): Guard against a NULL 'typed_name'.
	* testsuite/demangle-expected: Add testcase.

	* cp-demangle.c (d_encoding): Guard against NULL return values from
	d_right (dc).
	* testsuite/demangle-expected: Add testcase.

	2019-04-29  Ben L  <bobsayshilol@@live.co.uk>

	* cp-demangle.c (d_expression_1): Don't peek ahead unless the current
	char is valid.
	* testsuite/demangle-expected: Add testcase.

	2019-04-10  Nick Clifton  <nickc@@redhat.com>

	PR 89394
	* cp-demangle.c (cplus_demangle_fill_name): Reject negative
	lengths.
	(d_count_templates_scopes): Replace num_templates and num_scopes
	parameters with a struct d_print_info pointer parameter.  Adjust
	body of the function accordingly.  Add recursion counter and check
	that the recursion limit is not reached.
	(d_print_init): Pass dpi parameter to d_count_templates_scopes.
	Reset recursion counter afterwards, unless the recursion limit was
	reached.

2019-07-13  Joel Brobecker  <brobecker@@adacore.com>

	* src-release (getver): If $tool/gdbsupport/create-version.sh
	exists, use that to determine the version number.

2019-06-21  Andreas Schwab  <schwab@@linux-m68k.org>

	* src-release.sh (GDB_SUPPORT_DIRS): Add gnulib.

2019-06-14  Tom Tromey  <tom@@tromey.com>

	* MAINTAINERS: Add gnulib.
	* gnulib: New directory, move from gdb/gnulib.
	* configure.ac (host_libs): Add gnulib.
	* configure: Rebuild.
	* Makefile.def (host_modules, dependencies): Add gnulib.
	* Makefile.in: Rebuild.

2019-06-03  Nick Clifton  <nickc@@redhat.com>

	Revert:
	2019-05-29  Nick Clifton  <nickc@@redhat.com>

	* configure.ac (noconfigdirs): Add libctf if the target does not use
	the ELF file format.
	* configure: Regenerate.

2019-05-29  Nick Clifton  <nickc@@redhat.com>

	* src-release.sh (do_proto_toplev): Add libctf to list of
	directories that can be disabled.

2019-05-29  Nick Clifton  <nickc@@redhat.com>

	* configure.ac (noconfigdirs): Add libctf if the target does not use
	the ELF file format.
	* configure: Regenerate.

2019-05-28  Nick Alcock  <nick.alcock@@oracle.com>

	* Makefile.def (dependencies): configure-libctf depends on all-bfd
	and all its deps.
	* Makefile.in: Regenerated.

2019-05-28  Nick Alcock  <nick.alcock@@oracle.com>

	* MAINTAINERS: Add libctf.

2019-05-28  Nick Alcock  <nick.alcock@@oracle.com>

	* Makefile.def (host_modules): Add libctf.
	* Makefile.def (dependencies): Likewise.
	libctf depends on zlib, libiberty, and bfd.
	* Makefile.in: Regenerated.
	* configure.ac (host_libs): Add libctf.
	* configure: Regenerated.

2019-05-23  Jose E. Marchesi  <jose.marchesi@@oracle.com>

	* config.guess: Synchronize with config project master sources.
	* config.sub: Likewise.
	* readline/support/config.guess: Likewise.
	* readline/support/config.sub: Likewise.

2019-04-10  Nick Clifton  <nickc@@redhat.com>

	* libiberty: Sync with gcc.  Bring in:
	2019-04-10  Nick Clifton  <nickc@@redhat.com>

	PR 89394
	* cp-demangle.c (cplus_demangle_fill_name): Reject negative
	lengths.
	(d_count_templates_scopes): Replace num_templates and num_scopes
	parameters with a struct d_print_info pointer parameter.  Adjust
	body of the function accordingly.  Add recursion counter and check
	that the recursion limit is not reached.
	(d_print_init): Pass dpi parameter to d_count_templates_scopes.
	Reset recursion counter afterwards, unless the recursion limit was
	reached.

2018-06-24  Nick Clifton  <nickc@@redhat.com>

	2.32 branch created.

2019-01-14  Rainer Orth  <ro@@CeBiTec.Uni-Bielefeld.DE>

	Merge from GCC:
	PR target/88535
	* config.guess: Import upstream version 2019-01-03.
	* config.sub: Import upstream version 2019-01-01.

2019-01-10  Nick Clifton  <nickc@@redhat.com>

	* libiberty: Sync with gcc.  Bring in:
	2019-01-09  Sandra Loosemore  <sandra@@codesourcery.com>

	PR other/16615

	* cp-demangle.c: Mechanically replace "can not" with "cannot".
	* floatformat.c: Likewise.
	* strerror.c: Likewise.

	2018-12-22  Jason Merrill  <jason@@redhat.com>

	Remove support for demangling GCC 2.x era mangling schemes.
	* cplus-dem.c: Remove cplus_mangle_opname, cplus_demangle_opname,
	internal_cplus_demangle, and all subroutines.
	(libiberty_demanglers): Remove entries for ancient GNU (pre-3.0),
	Lucid, ARM, HP, and EDG demangling styles.
	(cplus_demangle): Remove 'work' variable.  Don't call
	internal_cplus_demangle.

2019-01-03  Дилян Палаузов  <dilyan.palauzov@@aegee.org>

	* configure.ac: Don't configure readline if --with-system-readline is
	used.
	* configure: Re-generate.

2018-10-31  Joseph Myers  <joseph@@codesourcery.com>

	Merge from GCC:
	PR bootstrap/82856
	* multilib.am: New file.  From automake.

2018-09-12  Sergio Durigan Junior  <sergiodj@@redhat.com>

	* src-release.sh (GDB_SUPPORT_DIRS): Add "contrib".

2018-07-16  Nick Clifton  <nickc@@redhat.com>

@@ -20,6 +338,18 @@@@
	* config.guess: Sync with upstream version 2018-06-26.
	* config.sub: Sync with upstream version 2018-07-02.

2018-06-29  Alexandre Oliva <oliva@@adacore.com>

	* configure.ac: Introduce support for @@unless/@@endunless.
	* Makefile.tpl (dep-kind): Rewrite with cond; return
	postbootstrap in some cases.
	(make-postboot-dep, postboot-targets): New.
	(dependencies): Do not output postbootstrap dependencies at
	first.  Output non-target ones changed for configure to depend
	on stage_last @@if gcc-bootstrap, and the original deps @@unless
	gcc-bootstrap.
	* configure.in, Makefile.in: Rebuilt.

2018-06-24  Nick Clifton  <nickc@@redhat.com>

	* configure: Regenerate.
@
text
@d1821 6
a1826 13
   ;; dep-kind returns returns "prebootstrap" for configure or build
   ;; dependencies of bootstrapped modules on a build module
   ;; (e.g. all-gcc on all-build-bison); "normal" if the dependency is
   ;; on an "install" target, or if the dependence module is not
   ;; bootstrapped; otherwise, it returns "bootstrap" or
   ;; "postbootstrap" depending on whether the dependent module is
   ;; bootstrapped.  All this is only necessary for host and target
   ;; modules.  It might seem like, in order to avoid build races, we
   ;; might need more elaborate detection between prebootstrap and
   ;; postbootstrap modules, but there are no host prebootstrap
   ;; modules.  If there were any non-bootstrap host modules that
   ;; bootstrap modules depended on, we'd get unsatisfied per-stage
   ;; dependencies on them, which would be immediately noticed.
d1828 9
a1836 22
      (cond
       ((and (hash-ref boot-modules (dep-module "module"))
	     (=* (dep-module "on") "build-"))
	"prebootstrap")

       ((or (= (dep-subtarget "on") "install-")
	    (not (hash-ref boot-modules (dep-module "on"))))
	"normal")

       ((hash-ref boot-modules (dep-module "module"))
	"bootstrap")

       (1 "postbootstrap"))))

   (define make-postboot-dep (lambda ()
     (let ((target (dep-module "module")) (dep "stage_last"))
       (unless (= (hash-ref postboot-targets target) dep)
	 (hash-create-handle! postboot-targets target dep)
	 ;; All non-bootstrap modules' configure target already
	 ;; depend on dep.
	 (unless (=* target "target-")
           (string-append "configure-" target ": " dep "\n"))))))
a1839 1
   (define postboot-targets (make-hash-table 113))
d1856 12
a1867 17
[+ FOR dependencies +][+ CASE (dep-kind) +]
[+ == "prebootstrap" +][+ (make-dep "" "") +][+ FOR bootstrap_stage +]
[+ (make-dep (dep-stage) "") +][+ ENDFOR bootstrap_stage +]
[+ == "bootstrap" +][+ (make-dep "" "") +][+ FOR bootstrap_stage +]
[+ (make-dep (dep-stage) (dep-stage)) +][+ ENDFOR bootstrap_stage +]
[+ == "normal" +][+ (make-dep "" "") +]
[+ ESAC +][+ ENDFOR dependencies +]

@@if gcc-bootstrap
[+ FOR dependencies +][+ CASE (dep-kind) +]
[+ == "postbootstrap" +][+ (make-postboot-dep) +][+ ESAC +][+
ENDFOR dependencies +]@@endif gcc-bootstrap

@@unless gcc-bootstrap
[+ FOR dependencies +][+ CASE (dep-kind) +]
[+ == "postbootstrap" +][+ (make-dep "" "") +]
[+ ESAC +][+ ENDFOR dependencies +]@@endunless gcc-bootstrap
@


1.1.1.9
log
@Update binutils from 2.34 to 2.39

2022-07-08  Nick Clifton  <nickc@@redhat.com>

	* 2.39 branch created.

2022-07-04  Nick Clifton  <nickc@@redhat.com>

	* libiberty: Synchronize with GCC.  Bring in:
	2022-07-01  Nick Clifton  <nickc@@redhat.com>

	PR demangler/105039
	* rust-demangle.c (demangle_const): Add recursion limit.

	2022-06-26  Simon Marchi  <simon.marchi@@efficios.com>

	* configure.ac: Add AC_CONFIG_MACRO_DIRS call.
	* configure: Re-generate.

2022-04-12  Nick Clifton  <nickc@@redhat.com>

	* zlib: Rebase to the 1.2.12 release.

2022-04-08  Simon Marchi  <simon.marchi@@efficios.com>

	* configure.ac: Add AC_SUBST(PKG_CONFIG_PATH).
	* configure: Re-generate.
	* Makefile.tpl (HOST_EXPORTS): Pass PKG_CONFIG_PATH.
	(PKG_CONFIG_PATH): New.
	* Makefile.in: Re-generate.

2022-03-15  Jose E. Marchesi  <jose.marchesi@@oracle.com>

	* gprofng/src/gp-collect-app.cc (collect::check_args): Use
	fallthrough comment instead of attribute.

2022-03-11  Vladimir Mezentsev  <vladimir.mezentsev@@oracle.com>

	* Makefile.def: Add gprofng module.
	* configure.ac: Add --enable-gprofng option.
	* src-release.sh: Add gprofng.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* gprofng: New directory.

2022-01-22  Nick Clifton  <nickc@@redhat.com>

	* 2.38 release branch created.

2022-01-17  Nick Clifton  <nickc@@redhat.com>

	Update config.[guess|sub] from upstream:

	2022-01-09  Idan Horowitz  <idan.horowitz@@gmail.com>

	config.guess: recognize SerenityOS
	* config.guess (*:SerenityOS:*:*): Recognize.
	(timestamp): Update.

	2022-01-03  Bernhard Voelker  <mail@@bernhard-voelker.de>

	Fix GPLv3 license headers to use a comma instead of semicolon
	See: https://www.gnu.org/licenses/gpl-3.0.html#howto

	Update license headers automatically using the following script:

	  $ git grep -l 'Foundation; either version 3' \
	    | xargs sed -i '/Foundation; either version 3/ s/n; e/n, e/'

	* config.guess: Adjust via the above command.
	(timestamp): Update.
	* config.sub: Likewise.
	* doc/config.guess.1: Regenerate.
	* doc/config.sub.1: Likewise.

	2022-01-01  Dmitry V. Levin  <ldv@@altlinux.org>

	Update copyright years
	* config.guess: Update copyright years.
	* config.sub: Likewise.

	2021-12-25  Dmitry V. Levin  <ldv@@altlinux.org>

	config.sub: alias armh to armv7l
	ALT uses armh as an alias for armv7l-alt-linux-gnueabihf since 2012.

	* config.sub (armh-unknown|armh-alt): Set cpu, vendor, and basic_os.
	(timestamp): Update.

	2021-12-24  Dmitry V. Levin  <ldv@@altlinux.org>

	config.sub: alias aarch64le to aarch64
	Apparently, QNX reports aarch64 as aarch64le on little-endian machines.

	* config.sub (aarch64le-*): Set cpu to aarch64.
	(timestamp): Update.

	2021-12-13  Dmitry V. Levin  <ldv@@altlinux.org>

	config.sub: fix typo in timestamp
	* config.sub: Fix timestamp.

	2021-11-30  Andreas F. Borchert  <github@@andreas-borchert.de>

	config.guess: x86_64-pc-solaris2.11 is not properly recognized
	config.guess guesses Solaris 11 to run on a 32-bit platform
	despite Solaris 11 no longer supporting any 32-bit platform.

	See the following code at lines 434 to 445:

	| SUN_ARCH=i386
	| # If there is a compiler, see if it is configured for 64-bit objects.
	| # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
	| # This test works for both compilers.
	| if test "$CC_FOR_BUILD" != no_compiler_found; then
	|     if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
	|         (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
	|         grep IS_64BIT_ARCH >/dev/null
	|     then
	|         SUN_ARCH=x86_64
	|     fi
	| fi

	If "cc" is installed, i.e. the Oracle Studio compiler, this one is
	chosen for $CC_FOR_BUILD.  This compiler, the gcc provided by Oracle
	and also gcc bootstrapped from sources on that platform with a default
	configuration will by default generate 32-bit binaries -- even on
	a 64-bit platform.  And __amd64 will not be defined for compilations
	targeting a 32-bit platform.  This is different from the corresponding
	behaviour on GNU/Linux systems where the local platform is targeted by
	default.

	Thus, as long as you do not add "-m64" or if you have a custom-built
	gcc which defaults to 64 bit, you will get 32-bit binaries on Solaris
	despite living on a 64-bit platform.

	* config.guess (i86pc:SunOS:5.*:* || i86xen:SunOS:5.*:*): Adapt the
	test by adding the "-m64" flag.  This will work properly for Solaris
	10 as well (the last Solaris release that supported x86 32-bit
	platforms).

	2021-10-27  Jordi Sanfeliu  <jordi@@fibranet.cat>

	Recognize Fiwix
	$ make check
	cd testsuite && bash config-guess.sh && rm uname
	PASS: config.guess checks (137 tests)
	cd testsuite && bash config-sub.sh
	PASS: config.sub checks (882 tests)
	PASS: config.sub idempotency checks (819 tests)
	PASS: config.sub canonicalise each config.guess testcase (137 tests)

	* config.guess (i*86:Fiwix:*:*): Recognize.
	* config.sub (fiwix*): Likewise.

	2021-10-18  Kinshuk Dua  <kinshukdua@@gmail.com>

	config.sub: Fix typo in comment
	Fixes: 5e531d391852a54e7fab2d8ff55625fca514b305

	2021-08-14  Nick Bowler  <nbowler@@draconx.ca>

	config.sub: work around command assignment bug in some shells
	When combining variable assignments with a shell command, some older
	shells (notably heirloom-sh and presumably also Solaris 10 /bin/sh)
	have a bug which causes the assignment to alter the current execution
	environment whenever the command is a shell built-in.  For example:

	  % dash -c 'x=good; x=bad echo >/dev/null; echo $x'
	  good

	  % jsh -c 'x=good; x=bad echo >/dev/null; echo $x'
	  bad

	The config.sub script contains a few commands of the form:

	  IFS=- read ...

	which triggers this bug, causing the IFS assignment to persist for the
	remainder of the script.  This can cause misbehaviour in certain cases,
	for example:

	  % jsh config.sub i386-linux-gnu
	  config.sub: test: unknown operator gnu

	  % jsh config.sub i386-gnu/linux
	  sed: can't read s|gnu/linux|gnu|: No such file or directory
	  Invalid configuration `i386-gnu/linux': OS `' not recognized

	* config.sub: Save and restore IFS explicitly to avoid shell bugs.
	* doc/config.sub.1: Regenerate.

	2021-08-04  Jeremy Soller  <jackpot51@@gmail.com>

	config.sub: add Linux Relibc Target
	$ make check
	cd testsuite && bash config-guess.sh && rm uname
	PASS: config.guess checks (136 tests)
	cd testsuite && bash config-sub.sh
	PASS: config.sub checks (881 tests)
	PASS: config.sub idempotency checks (818 tests)
	PASS: config.sub canonicalise each config.guess testcase (136 tests)

	* config.sub (relibc*): Recognize.
	* doc/config.sub.1: Regenerate.
	* testsuite/config-sub.data (x86_64-linux-relibc): New test.

	2021-07-06  Stephanos Ioannidis  <root@@stephanos.io>

	config.sub: add Zephyr RTOS support
	This adds the Zephyr RTOS targets in preparation for implementing the
	Zephyr RTOS-specific toolchain support.

	$ make check
	cd testsuite && bash config-guess.sh && rm uname
	PASS: config.guess checks (136 tests)
	cd testsuite && bash config-sub.sh
	PASS: config.sub checks (880 tests)
	PASS: config.sub idempotency checks (817 tests)
	PASS: config.sub canonicalise each config.guess testcase (136 tests)

	* config.sub (zephyr*): Recognize.
	* doc/config.sub.1: Regenerate.
	* testsuite/config-sub.data: Add testcases for *-zephyr.

	2021-07-03  Ozkan Sezer  <sezero@@users.sourceforge.net>

	config.sub: disable shellcheck SC2006 / SC2268 warnings
	This is in line with the recent config.guess change in commit
	12fcf67c9108f4c4b581eaa302088782f0ee40ea

	* config.sub (shellcheck disable): Add SC2006,SC2268.

	Suggested-by: Jacob Bachmeyer <jcb@@gnu.org>

	2021-07-03  Ozkan Sezer  <sezero@@users.sourceforge.net>

	config.sub: normalize the quoting in the `echo FOO | sed ...`
	Some cases quote the argument to echo and some do not.  At runtime
	it probably does not matter because the substituted values will never
	contain whitespace, but quoting them all would make shellcheck more
	useful.

	* config.sub: Consistently quote the argument of echo.
	* doc/config.sub.1: Regenerate.

	Suggested-by: Jacob Bachmeyer <jcb@@gnu.org>

	2021-07-02  Ozkan Sezer  <sezero@@users.sourceforge.net>

	config.sub: replace POSIX $( ) with classic ` ` throughout
	This is in line with the recent config.guess change in commit
	d70c4fa934de164178054c3a60aaa0024ed07c91.

	The patch was generated using patch-6.gawk script introduced in that
	commit.

	* config.sub: Revert POSIX command substitutions to classic form.

	2021-06-04  Vineet Gupta  <Vineet.Gupta1@@synopsys.com>

	Recognize arc32
	This is the 32-bit variant of ARCv3 ISA (which is not compatible with the
	32-bit ARCv2 ISA)

	| make check
	| cd testsuite && bash config-guess.sh && rm uname
	| PASS: config.guess checks (136 tests)
	| cd testsuite && bash config-sub.sh
	| PASS: config.sub checks (864 tests)
	| PASS: config.sub idempotency checks (801 tests)
	| PASS: config.sub canonicalise each config.guess testcase (136 tests)

	* config.guess (arc32:Linux:*:*): Recognize.
	* config.sub (arc32): Likewise.

	2021-05-27  Jacob Bachmeyer  <jcb@@gnu.org>

	Remove automatic patch generators
	These tools have served their purposes and need not be kept outside of
	the repository history any longer.  This patch as a diff also collects
	the contents of the various tools in one convenient place.

	* patch-1.gawk: Remove.
	* patch-3.gawk: Likewise.
	* patch-6.gawk: Likewise.

	2021-05-26  Jacob Bachmeyer  <jcb@@gnu.org>

	config.guess: manual fixups after previous automatic patch
	The tool could not handle command substitutions that span lines, but
	fortunately there were only two such substitutions in the script.

	The test for which universe is active on Pyramid is rewritten into a
	case block because it was the only use of a command substitution as an
	argument to the test command, which would require quoting.

	* config.guess: Rewrite "if" for Pyramid systems to "case".

	2021-05-26  Jacob Bachmeyer  <jcb@@gnu.org>

	config.guess: replace POSIX $( ) with classic ` ` throughout
	The previous replacement of backticks with POSIX command substitutions
	was ill-considered and illogical: this script recognizes many archaic
	machine types that probably never had POSIX shells, therefore it needs
	to be able to run successfully under pre-POSIX shells.

	This patch was generated using the included GNU Awk program.

	* config.guess: Revert POSIX command substitutions to classic form.
	* patch-6.gawk: Store the tool that produced the automated patch.

	2021-05-26  Jacob Bachmeyer  <jcb@@gnu.org>

	config.guess: manual fixup after previous automated patches
	This patch provides the special handling for the GNU system.  As these
	were two small and unique edits, they were not included in the scripts.

	This patch also cleans up other minor issues that must be addressed
	before reverting to classic command substitutions and updates
	"shellcheck" directives to account for changes in this script and the
	change in "shellcheck" towards reporting individual portability issues.

	2021-05-26  Jacob Bachmeyer  <jcb@@gnu.org>

	config.guess: automatic fixups after previous automated patch
	This patch was generated using the following command:

	  sed -i config.guess \
	      -e '/="[^"]\+"\(-\|$\)/s/="\([^"([:space:])]\+\)"/=\1/' \
	      -e '/="[^"]\+"[[:alnum:]]/s/="\$\([^([:space:])]\+\)"/=${\1}/' \
	      -e \
	'/\$(echo[^|]\+|/s/\([^[:space:]]\)[[:space:]]*|[[:space:]]*sed/\1 | sed/g'

	* config.guess: Remove unneeded quotes in other variable assignments,
	standardize spacing for "echo ... | sed" substitutions.

	2021-05-26  Jacob Bachmeyer  <jcb@@gnu.org>

	config.guess: remove unneeded quotes and factor command substitutions
	This is further cleanup and simplifies some constructs that can confuse
	Emacs' syntax highlighting while generally reducing required quoting.

	This patch was generated using the included GNU Awk program.

	* config.guess: Remove unneeded variable quotes and factor out command
	substitutions when setting GUESS.
	* patch-3.gawk: Store the tool that produced the automated patch.

	2021-05-25  Jacob Bachmeyer  <jcb@@gnu.org>

	config.guess: manual fixups after previous automatic patch
	* config.guess: Adjust a few "leftover" cases that the tool could not
	easily recognize and fixes comment indentation in a few other special
	cases.

	2021-05-25  Jacob Bachmeyer  <jcb@@gnu.org>

	config.guess: use intermediate variable with uname results
	This will allow quoting to be significantly simplified in another
	pass through the file.

	This patch was generated using the included GNU Awk program.

	* config.guess: Use GUESS variable to hold results of uname analysis.
	* patch-1.gawk: Store the tool that produced the automated patch.

	2021-05-25  Jacob Bachmeyer  <jcb@@gnu.org>

	config.guess: introduce intermediate variable with uname results
	This will allow quoting to be significantly simplified in another
	pass through the file.

	* config.guess: Introduce GUESS variable to hold results of uname analysis.

	2021-05-24  Dmitry V. Levin  <ldv@@altlinux.org>

	config.guess: fix shellcheck warning SC2154
	While, according to Plan 9 documentation, the environment variable
	$cputype is set to the name of the kernel's CPU's architecture,
	shellcheck warns that cputype is referenced but not assigned.
	Be on the safe side and do not use cputype if it is not defined
	or empty.

	* config.guess (*:Plan9:*:*): Fix shellcheck warning SC2154.

	2021-05-24  Dmitry V. Levin  <ldv@@altlinux.org>

	config.guess: remove redundant quotes in case commands
	According to the GNU Autoconf Portable Shell Programming manual,
	the Bourne shell does not systematically split variables and back-quoted
	expressions, in particular on the right-hand side of assignments and in
	the argument of 'case'.

	The change is made automatically using the following command:
	$ sed -E -i 's/(\<case )"(\$[^"]+)"( in\>)/\1\2\3/' config.guess

	* config.guess: Simplify case commands by removing quotes around the
	argument.

	Suggested-by: Jacob Bachmeyer <jcb@@gnu.org>

	2021-05-24  Dmitry V. Levin  <ldv@@altlinux.org>

	config.guess: simplify exit status workaround on alphaev67-dec-osf5.1
	Commit 29865ea8a5622cdd80b7a69a0afa78004b4cd311 introduced an exit trap
	reset before exiting to avoid a spurious non-zero exit status on
	alphaev67-dec-osf5.1.  Simplify that code a bit by moving the exit trap
	reset around.

	* config.guess (alpha:OSF1:*:*): Reset exit trap earlier.
	* doc/config.guess.1: Regenerate.

2021-10-29  Eli Zaretskii  <eliz@@gnu.org>

	* gdb/doc/gdb.texinfo (Command Options): (Data): Document
	'-memory-tag-violations'.  Update the example.

2021-09-28  Andrew Burgess  <andrew.burgess@@embecosm.com>

	* src-release.sh (GDB_SUPPPORT_DIRS): Add libbacktrace.

2021-09-27  Nick Alcock  <nick.alcock@@oracle.com>

	PR libctf/27967
	* libtool.m4 (LT_PATH_NM): Try BSDization flags with a user-provided
	NM, if there is one.  Run nm on itself, not on /dev/null, to avoid
	errors from nms that refuse to work on non-regular files.  Remove
	other workarounds for this problem.  Strip out blank lines from the
	nm output.

2021-09-27  Nick Alcock  <nick.alcock@@oracle.com>

	PR libctf/27967
	* libtool.m4 (lt_cv_sys_global_symbol_pipe): Augment symcode for
	Solaris 11.

2021-07-03  Nick Clifton  <nickc@@redhat.com>

	* 2.37 release branch created.

2021-07-03  Nick Clifton  <nickc@@redhat.com>

	* libiberty: Sync with gcc.  Bring in:
	2021-06-30  Gerald Pfeifer  <gerald@@pfeifer.com>

	* make-temp-file.c (usrtmp): Remove.
	(choose_tmpdir): Remove use of usrtmp.

	2021-06-28  Indu Bhagat  <indu.bhagat@@oracle.com>

	* simple-object.c (handle_lto_debug_sections): Copy over .BTF section.

	2021-06-28  Indu Bhagat  <indu.bhagat@@oracle.com>
	    David Faust  <david.faust@@oracle.com>
	    Jose E. Marchesi  <jose.marchesi@@oracle.com>
	    Weimin Pan  <weimin.pan@@oracle.com>

	* simple-object.c (handle_lto_debug_sections): Copy over .ctf
	sections.

	2021-06-05  John David Anglin  <danglin@@gcc.gnu.org>

	PR target/100734
	* configure.ac: Use libiberty snprintf and vsnprintf on
	hppa*-*-hpux*.
	* configure: Regenerate.

	2021-05-06  Tom Tromey  <tom@@tromey.com>

	* hashtab.c (htab_eq_string): New function.

	2021-05-04  Eric Botcazou  <ebotcazou@@adacore.com>

	* configure.ac: Make test for variables more robust.
	* configure: Regenerate.

	2021-05-03  H.J. Lu  <hjl.tools@@gmail.com>

	PR bootstrap/99703
	* configure: Regenerated.

	2021-04-21  Andreas Schwab  <schwab@@linux-m68k.org>

	PR demangler/100177
	* rust-demangle.c (demangle_const_char): Properly print the
	character value.

	2021-03-31  Patrick Palka  <ppalka@@redhat.com>

	PR c++/88115
	* cp-demangle.c (d_dump, d_make_comp, d_expression_1)
	(d_count_templates_scopes): Handle DEMANGLE_COMPONENT_VENDOR_EXPR.
	(d_print_comp_inner): Likewise.
	<case DEMANGLE_COMPONENT_EXTENDED_OPERATOR>: Revert r11-4926
	change.
	<case DEMANGLE_COMPONENT_UNARY>: Likewise.
	* testsuite/demangle-expected: Adjust __alignof__ tests.

	2021-03-16  Nick Clifton  <nickc@@redhat.com>

	* sha1.c (sha1_process_bytes): Use memmove in place of memcpy.

	2021-02-20  Mike Frysinger  <vapier@@gentoo.org>

	* Makefile.in (ACLOCAL, ACLOCAL_AMFLAGS, $(srcdir)/aclocal.m4): Define.
	(configure_deps): Rename to ...
	(aclocal_deps): ... this.  Replace aclocal.m4 with acinclude.m4.
	($(srcdir)/configure): Replace $(configure_deps) with
	$(srcdir)/aclocal.m4.
	* aclocal.m4: Move libiberty macros to acinclude.m4, then regenerate.
	* acinclude.m4: New file.
	* configure: Regenerate.

	2021-02-19  Ayush Mittal  <ayush.m@@samsung.com>

	* argv.c (expandargv): free allocated buffer if read fails.

	2021-02-01  Martin Sebor  <msebor@@redhat.com>

	* dyn-string.c (dyn_string_insert_cstr): Use memcpy instead of strncpy
	to avoid -Wstringop-truncation.

2021-05-29  Mike Frysinger  <vapier@@gentoo.org>

	* configure.ac: Add gnulib to configdirs for sim.
	* configure: Regenerate.

2021-05-24  Maciej W. Rozycki  <macro@@orcam.me.uk>

	* MAINTAINERS: Update path to readline config.{sub,guess} files.

2021-05-24  Maciej W. Rozycki  <macro@@orcam.me.uk>

	* config.guess: Import from upstream.
	* config.sub: Likewise.

2021-05-18  Mike Frysinger  <vapier@@gentoo.org>

	* Makefile.def: Add configure-sim dependency on all-gnulib.
	* Makefile.in: Regenerated.

2021-05-04  Nick Clifton  <nickc@@redhat.com>

	* configure.ac (AC_PROG_CC): Replace with AC_PROG_CC_C99.
	* configure: Regenerate.

2021-03-18  Nick Alcock  <nick.alcock@@oracle.com>

	PR libctf/27482
	* Makefile.def: Add install-bfd dependencies for install-libctf and
	install-ld, and install-strip-bfd dependencies for
	install-strip-libctf and install-strip-ld; move the install-ld
	dependency on install-libctf to join it.
	* Makefile.in: Regenerated.

2021-03-12  Mike Frysinger  <vapier@@gentoo.org>

	* Makefile.def: Remove all-sim dependency on configure-gdb.
	* Makefile.in: Regenerated.

2021-02-28  H.J. Lu  <hongjiu.lu@@intel.com>

	PR binutils/26766
	* Makefile.tpl (PGO_BUILD_TRAINING_FLAGS_TO_PASS): Add
	PGO_BUILD_TRAINING=yes.
	(PGO_BUILD_TRAINING_MFLAGS): New.
	(all): Pass $(PGO_BUILD_TRAINING_MFLAGS) to the PGO build.

2021-02-09  Alan Modra  <amodra@@gmail.com>

	* configure.ac: Delete arm*-*-symbianelf* entry.
	* configure: Regenerate.

2021-01-26  Nick Alcock  <nick.alcock@@oracle.com>

	* Makefile.def: Add install-libctf dependency to install-ld.
	* Makefile.in: Regenerated.

2021-01-12  Mike Frysinger  <vapier@@gentoo.org>

	* src-release.sh (do_proto_toplev): Rewrite indentation.

2021-01-11  H.J. Lu  <hongjiu.lu@@intel.com>

	PR binutils/26766
	* configure.ac:
	* configure: Regenerated.

2021-01-11  H.J. Lu  <hongjiu.lu@@intel.com>

	PR ld/27173
	* configure: Regenerated.
	* libtool.m4 (_LT_CMD_OLD_ARCHIVE): Check if AR works with
	--plugin and rc before enabling --plugin.

2021-01-09  H.J. Lu  <hongjiu.lu@@intel.com>

	PR binutils/26766
	* Makefile.tpl (BUILD_CFLAGS): New.
	(CFLAGS): Append $(BUILD_CFLAGS).
	(CXXFLAGS): Likewise.
	(PGO_BUILD_GEN_FLAGS_TO_PASS): New.
	(PGO_BUILD_TRAINING_CFLAGS): Likewise.
	(PGO_BUILD_TRAINING_CXXFLAGS): Likewise.
	(PGO_BUILD_TRAINING_FLAGS_TO_PASS): Likewise.
	(PGO_BUILD_TRAINING_MFLAGS): Likewise.
	(PGO_BUILD_USE_FLAGS_TO_PASS): Likewise.
	(PGO-TRAINING-TARGETS): Likewise.
	(PGO_BUILD_TRAINING): Likewise.
	(all): Add '+' to the command line for recursive make.  Support
	the PGO build.
	* configure.ac: Add --enable-pgo-build[=lto].
	AC_SUBST PGO_BUILD_GEN_CFLAGS, PGO_BUILD_USE_CFLAGS and
	PGO_BUILD_LTO_CFLAGS.  Enable the PGO build in Makefile.
	* Makefile.in: Regenerated.
	* configure: Likewise.

2021-01-09  H.J. Lu  <hongjiu.lu@@intel.com>

	* Makefile.tpl (AR): Add @@AR_PLUGIN_OPTION@@
	(RANLIB): Add @@RANLIB_PLUGIN_OPTION@@.
	* configure.ac: Include config/gcc-plugin.m4.
	AC_SUBST AR_PLUGIN_OPTION and RANLIB_PLUGIN_OPTION.
	* libtool.m4 (_LT_CMD_OLD_ARCHIVE): Pass --plugin to AR and
	RANLIB if possible.
	* Makefile.in: Regenerated.
	* configure: Likewise.

2021-01-09  Nick Clifton  <nickc@@redhat.com>

	* 2.36 release branch crated.

2021-01-07  Samuel Thibault  <samuel.thibault@@gnu.org>

	* libtool.m4: Match gnu* along with other GNU systems.

2021-01-07  Alan Modra  <amodra@@gmail.com>

	* config.sub: Accept OS of eabi* and gnueabi*.

2021-01-05  Nick Alcock  <nick.alcock@@oracle.com>

	* Makefile.def (libctf): No longer no_check.  Checking depends on
	all-ld.
	* Makefile.in: Regenerated.

2021-01-05  Nick Clifton  <nickc@@redhat.com>

	* libiberty: Sync with gcc.  Bring in:
	2021-01-04  Martin Liska  <mliska@@suse.cz>

	* strverscmp.c: Convert to utf8 from iso8859.

	2020-12-22  Jason Merrill  <jason@@redhat.com>

	PR c++/67343
	* cp-demangle.h (struct d_info): Add unresolved_name_state.
	* cp-demangle.c (d_prefix): Add subst parm.
	(d_nested_name): Pass it.
	(d_unresolved_name): Split out from...
	(d_expression_1): ...here.
	(d_demangle_callback): Maybe retry with old sr mangling.
	* testsuite/demangle-expected: Add test.

	2020-12-21  Jason Merrill  <jason@@redhat.com>

	* cp-demangle.c (d_expression_1): Recognize qualified-id
	on RHS of dt/pt.
	* testsuite/demangle-expected: Add test.

	2020-12-21  Jason Merrill  <jason@@redhat.com>

	* cp-demangle.c (d_unqualified_name): Clear is_expression.
	* testsuite/demangle-expected: Add tests.

	2020-11-25  Matthew Malcomson  <matthew.malcomson@@arm.com>

	* configure: Regenerate.
	* configure.ac: Avoid using sanitizer.

	2020-11-13  Eduard-Mihai Burtescu  <eddyb@@lyken.rs>

	* rust-demangle.c (struct rust_demangler): Add
	skipping_printing and bound_lifetime_depth fields.
	(eat): Add (v0-only).
	(parse_integer_62): Add (v0-only).
	(parse_opt_integer_62): Add (v0-only).
	(parse_disambiguator): Add (v0-only).
	(struct rust_mangled_ident): Add punycode{,_len} fields.
	(parse_ident): Support v0 identifiers.
	(print_str): Respect skipping_printing.
	(print_uint64): Add (v0-only).
	(print_uint64_hex): Add (v0-only).
	(print_ident): Respect skipping_printing,
	Support v0 identifiers.
	(print_lifetime_from_index): Add (v0-only).
	(demangle_binder): Add (v0-only).
	(demangle_path): Add (v0-only).
	(demangle_generic_arg): Add (v0-only).
	(demangle_type): Add (v0-only).
	(demangle_path_maybe_open_generics): Add (v0-only).
	(demangle_dyn_trait): Add (v0-only).
	(demangle_const): Add (v0-only).
	(demangle_const_uint): Add (v0-only).
	(basic_type): Add (v0-only).
	(rust_demangle_callback): Support v0 symbols.
	* testsuite/rust-demangle-expected: Add v0 testcases.

	2020-11-13  Seija Kijin  <doremylover456@@gmail.com>

	* strstr.c (strstr): Make implementation ANSI/POSIX compliant.

	2020-11-11  Patrick Palka  <ppalka@@redhat.com>

	PR c++/88115
	* cp-demangle.c (d_print_comp_inner)
	<case DEMANGLE_COMPONENT_EXTENDED_OPERATOR>: Don't print the
	"operator " prefix for __alignof__.
	<case DEMANGLE_COMPONENT_UNARY>: Always print parens around the
	operand of __alignof__.
	* testsuite/demangle-expected: Test demangling for __alignof__.

	2020-11-09  Christophe Lyon  <christophe.lyon@@linaro.org>

	* pex-win32.c (pex_win32_exec_child): Initialize orig_err.

	2020-10-06  Martin Liska  <mliska@@suse.cz>

	PR lto/97290
	* simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
	Use sh_link of a .symtab_shndx section.

2021-01-05  Alan Modra  <amodra@@gmail.com>

	* config.guess: Import from upstream.
	* config.sub: Likewise.

2020-12-16  Martin Liska  <mliska@@suse.cz>
	    Tom de Vries  <tdevries@@suse.de>

	* gdb/debuginfod-support.c (struct user_data): Remove has_printed
	field.  Add meter field.
	(progressfn): Print progress using meter.

2020-12-02  Enze Li  <lienze2010@@hotmail.com>

	* .gitignore: Add gnu global outputs.

2020-12-02  Simon Marchi  <simon.marchi@@polymtl.ca>

	* .gitignore: Sync with gcc.

2020-10-26  Andreas Rammhold <andreas@@rammhold.de>

	* src-release.sh: Use sha256sum instead of md5sum.

2020-10-14  Andrew Burgess  <andrew.burgess@@embecosm.com>

	* Makefile.in: Rebuild.
	* Makefile.def: Make distclean-gnulib depend on distclean-gdb and
	distclean-gdbserver.

2020-07-24  Aaron Merey  <amerey@@redhat.com>

	* configure: Rebuild.
	* configure.ac: Remove AC_DEBUGINFOD.

2020-07-04  Nick Clifton  <nickc@@redhat.com>

	Binutils 2.35 branch created.

2020-04-21  Stephen Casner  <casner@@acm.org>

	PR 25830
	* configure.ac (noconfigdirs): Exclude gdb & gprof for pdp11.
	* configure: Rebuild.

2020-03-12  Tom Tromey  <tom@@tromey.com>

	* Makefile.in: Rebuild.
	* Makefile.def (gdbserver): Depend on gdbsupport.

2020-03-12  Tom Tromey  <tom@@tromey.com>

	* Makefile.in: Rebuild.
	* Makefile.def (gdbsupport): Don't depend on bfd.

2020-03-12  Tom Tromey  <tom@@tromey.com>

	* Makefile.in: Rebuild.
	* Makefile.def (gdbsupport): Depend on intl.

2020-02-17  Tom Tromey  <tom@@tromey.com>

	* configure: Rebuild.
	* configure.ac (configdirs): Add gnulib and gdbsupport when building
	gdbserver.

2020-02-14  Tom Tromey  <tom@@tromey.com>

	* Makefile.in: Rebuild.
	* Makefile.def: Make gdbserver require gnulib and libiberty.

2020-02-07  Tom Tromey  <tom@@tromey.com>
	    Pedro Alves  <palves@@redhat.com>

	* src-release.sh (GDB_SUPPORT_DIRS): Add gdbserver.
	* gdbserver: New directory, moved from gdb/gdbserver.
	* configure.ac (host_tools): Add gdbserver.
	Only build gdbserver on certain systems.
	* Makefile.in, configure: Rebuild.
	* Makefile.def (host_modules, dependencies): Add gdbserver.
	* MAINTAINERS: Add gdbserver.

2020-01-28  Sergio Durigan Junior  <sergiodj@@redhat.com>

	* src-release.sh (getver): Look for gdbsupport's
	create-version.sh script at the current directory if tool is
	"gdb".

2020-01-19  Simon Marchi  <simon.marchi@@polymtl.ca>

	* remote-sim.c (gdbsim_target::wait): Return
	sim_data->remote_sim_ptid instead of inferior_ptid.
@
text
@d9 2
a10 1
#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
a115 3
# If the build should make suitable code for shared host resources.
host_shared = @@host_shared@@

a157 2
	CPP="$(CPP_FOR_BUILD)"; export CPP; \
	CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
a162 2
	GDC="$(GDC_FOR_BUILD)"; export GDC; \
	GDCFLAGS="$(GDCFLAGS_FOR_BUILD)"; export GDCFLAGS; \
a163 1
	DSYMUTIL="$(DSYMUTIL_FOR_BUILD)"; export DSYMUTIL; \
a198 1
	GDC="$(GDC)"; export GDC; \
a201 3
	CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \
	CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \
	CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \
a202 1
	DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
a210 2
	OTOOL="$(OTOOL)"; export OTOOL; \
	PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"; export PKG_CONFIG_PATH; \
a213 1
	DSYMUTIL_FOR_TARGET="$(DSYMUTIL_FOR_TARGET)"; export DSYMUTIL_FOR_TARGET; \
a218 1
	OTOOL_FOR_TARGET="$(OTOOL_FOR_TARGET)"; export OTOOL_FOR_TARGET; \
d227 1
a263 8
	GDC="$$r/$(HOST_SUBDIR)/prev-gcc/gdc$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
	  -B$(build_tooldir)/bin/ $(GDC_FLAGS_FOR_TARGET) \
	  -B$$r/prev-$(TARGET_SUBDIR)/libphobos/src \
	  -I$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime -I$$s/libphobos/libdruntime \
	  -L$$r/prev-$(TARGET_SUBDIR)/libphobos/src/.libs \
	  -L$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime/.libs"; \
	export GDC; \
	GDC_FOR_BUILD="$$GDC"; export GDC_FOR_BUILD; \
a285 1
	GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
a286 1
	DSYMUTIL="$(DSYMUTIL_FOR_TARGET)"; export DSYMUTIL; \
a292 1
	OTOOL="$(OTOOL_FOR_TARGET)"; export OTOOL; \
d320 1
a345 2
CPP_FOR_BUILD = @@CPP_FOR_BUILD@@
CPPFLAGS_FOR_BUILD = @@CPPFLAGS_FOR_BUILD@@
a348 1
DSYMUTIL_FOR_BUILD = @@DSYMUTIL_FOR_BUILD@@
a350 1
GDC_FOR_BUILD = @@GDC_FOR_BUILD@@
d380 1
a380 1
AUTO_PROFILE = gcc-auto-profile -c 10000000
d393 1
a393 1
AR = @@AR@@ @@AR_PLUGIN_OPTION@@
a397 1
DSYMUTIL = @@DSYMUTIL@@
d402 1
a402 2
OTOOL = @@OTOOL@@
RANLIB = @@RANLIB@@ @@RANLIB_PLUGIN_OPTION@@
a407 1
GDC = @@GDC@@
a416 46
GDCFLAGS = $(CFLAGS)

PKG_CONFIG_PATH = @@PKG_CONFIG_PATH@@

# Pass additional PGO and LTO compiler options to the PGO build.
BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS)
override CFLAGS += $(BUILD_CFLAGS)
override CXXFLAGS += $(BUILD_CFLAGS)

# Additional PGO and LTO compiler options to generate profiling data
# for the PGO build.
PGO_BUILD_GEN_FLAGS_TO_PASS = \
	PGO_BUILD_CFLAGS="@@PGO_BUILD_GEN_CFLAGS@@" \
	PGO_BUILD_LTO_CFLAGS="@@PGO_BUILD_LTO_CFLAGS@@"

# NB: Filter out any compiler options which may fail PGO training runs.
PGO_BUILD_TRAINING_CFLAGS:= \
	$(filter-out -Werror=%,$(CFLAGS))
PGO_BUILD_TRAINING_CXXFLAGS:=\
	$(filter-out -Werror=%,$(CXXFLAGS))
PGO_BUILD_TRAINING_CFLAGS:= \
	$(filter-out -Wall,$(PGO_BUILD_TRAINING_CFLAGS))
PGO_BUILD_TRAINING_CXXFLAGS:= \
	$(filter-out -Wall,$(PGO_BUILD_TRAINING_CXXFLAGS))
PGO_BUILD_TRAINING_CFLAGS:= \
	$(filter-out -specs=%,$(PGO_BUILD_TRAINING_CFLAGS))
PGO_BUILD_TRAINING_CXXFLAGS:= \
	$(filter-out -specs=%,$(PGO_BUILD_TRAINING_CXXFLAGS))
PGO_BUILD_TRAINING_FLAGS_TO_PASS = \
	PGO_BUILD_TRAINING=yes \
	CFLAGS_FOR_TARGET="$(PGO_BUILD_TRAINING_CFLAGS)" \
	CXXFLAGS_FOR_TARGET="$(PGO_BUILD_TRAINING_CXXFLAGS)"

# Ignore "make check" errors in PGO training runs.
PGO_BUILD_TRAINING_MFLAGS = -i

# Additional PGO and LTO compiler options to use profiling data for the
# PGO build.
PGO_BUILD_USE_FLAGS_TO_PASS = \
	PGO_BUILD_CFLAGS="@@PGO_BUILD_USE_CFLAGS@@" \
	PGO_BUILD_LTO_CFLAGS="@@PGO_BUILD_LTO_CFLAGS@@"

# PGO training targets for the PGO build.  FIXME: Add gold tests to
# training.
PGO-TRAINING-TARGETS = binutils gas gdb ld sim
PGO_BUILD_TRAINING = $(addprefix maybe-check-,$(PGO-TRAINING-TARGETS))
a457 10
# When using the slow stage1 compiler disable IL verification and forcefully
# enable it when using the stage2 compiler instead.  As we later compare
# stage2 and stage3 we are merely avoid doing redundant work, plus we apply
# checking when building all target libraries for release builds.
STAGE1_TFLAGS += -fno-checking
STAGE2_CFLAGS += -fno-checking
STAGE2_TFLAGS += -fno-checking
STAGE3_CFLAGS += -fchecking=1
STAGE3_TFLAGS += -fchecking=1

d461 2
a462 5
STAGEtrain_CFLAGS = $(filter-out -fchecking=1,$(STAGE3_CFLAGS))
STAGEtrain_TFLAGS = $(filter-out -fchecking=1,$(STAGE3_TFLAGS))

STAGEfeedback_CFLAGS = $(STAGE4_CFLAGS) -fprofile-use -fprofile-reproducible=parallel-runs
STAGEfeedback_TFLAGS = $(STAGE4_TFLAGS)
a489 1
GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GDC_FOR_TARGET@@
a490 1
DSYMUTIL_FOR_TARGET=@@DSYMUTIL_FOR_TARGET@@
a496 1
OTOOL_FOR_TARGET=@@OTOOL_FOR_TARGET@@
a513 1
GDCFLAGS_FOR_TARGET = -O2 -g
a594 1
	"STAGE[+id+]_GENERATOR_CFLAGS=$(STAGE[+id+]_GENERATOR_CFLAGS)" \
a612 1
	'DSYMUTIL=$(DSYMUTIL)' \
a614 1
	'GDC=$(GDC)' \
a618 1
	'OTOOL=$(OTOOL)' \
a638 1
	GDC="$${GDC}" GDC_FOR_BUILD="$${GDC_FOR_BUILD}" \
a667 1
	'DSYMUTIL=$$(DSYMUTIL_FOR_TARGET)' \
a670 2
	'GDC=$$(GDC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
	'GDCFLAGS=$$(GDCFLAGS_FOR_TARGET)' \
a721 6

# --enable-pgo-build enables the PGO build.
# 1. First build with -fprofile-generate.
# 2. Use "make maybe-check-*" to generate profiling data.
# 3. Use "make clean" to remove the previous build.
# 4. Rebuild with -fprofile-use.
d730 1
a730 1
	+@@r=`${PWD_COMMAND}`; export r; \
d738 1
a738 11
	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) \
		$(PGO_BUILD_GEN_FLAGS_TO_PASS) all-host all-target \
@@if pgo-build
	&& $(MAKE) $(RECURSE_FLAGS_TO_PASS) \
		$(PGO_BUILD_TRAINING_MFLAGS) \
		$(PGO_BUILD_TRAINING_FLAGS_TO_PASS) \
		$(PGO_BUILD_TRAINING) \
	&& $(MAKE) $(RECURSE_FLAGS_TO_PASS) clean \
	&& $(MAKE) $(RECURSE_FLAGS_TO_PASS) \
		$(PGO_BUILD_USE_FLAGS_TO_PASS) all-host all-target \
@@endif pgo-build
d788 1
a788 1
.PHONY: install-info install-dvi install-pdf install-html
a806 2
install-dvi: do-install-dvi

d828 2
a829 2
	-rmdir c++tools fastjar gcc gnattools gotools 2>/dev/null
	-rmdir libcc1 libiberty texinfo zlib 2>/dev/null
a1158 1
		GENERATOR_CFLAGS="$(STAGE[+id+]_GENERATOR_CFLAGS)" \
d1641 1
a1641 1
	for file in $${files} ${extra-compare}; do \
a1969 1
	$(srcdir)/config/gcc-plugin.m4 \
@


1.1.1.10
log
@Import binutils-2.42 (last was 2.39)

2024-01-15  Nick Clifton  <nickc@@redhat.com>

	* 2.42 branch point.

2023-11-15  Arsen Arsenović  <arsen@@aarsen.me>

	* intl: Remove directory.  Replaced with out-of-tree GNU
	gettext.
	* .gitignore: Add '/gettext*'.
	* configure.ac (host_libs): Replace intl with gettext.
	(hbaseargs, bbaseargs, baseargs): Split baseargs into
	{h,b}baseargs.
	(skip_barg): New flag.  Skips appending current flag to
	bbaseargs.
	<library exemptions>: Exempt --with-libintl-{type,prefix} from
	target and build machine argument passing.
	* configure: Regenerate.
	* Makefile.def (host_modules): Replace intl module with gettext
	module.
	(configure-ld): Depend on configure-gettext.
	* Makefile.in: Regenerate.
	* src-release.sh: Remove references to the intl/ directory.

2023-07-03  Nick Clifton  <nickc@@redhat.com>

	2.41 Branch Point.

2023-06-26  Nick Clifton  <nickc@@redhat.com>

	* Import these updates to the config scripts

	commit 4ad4bb7c30aca1e705448ba8d51a210bbd47bb52
	Author: Paul Eggert <eggert@@cs.ucla.edu>
	Date:   Fri Jun 23 09:55:10 2023 -0700

		Quote 'like this', not `like this'.

	commit 63acb96f92473ceb5e21d873d7c0aee266b3d6d3
	Author: Paul Eggert <eggert@@cs.ucla.edu>
	Date:   Sat Jan 21 00:15:01 2023 -0600

		Fix config.sub spelling typo for "athlon"

	commit 4ce12a5c9125cedc0d0ba584444a6865396923ec
	Author: Dmitry V. Levin <ldv@@altlinux.org>
	Date:   Sun Jan 1 08:00:00 2023 +0000

		Update copyright years

	commit c397e2c040bce50bcdccb131f90115ba7e8bfc19
	Author: Arsen Arsenovi <arsen@@aarsen.me>
	Date:   Sat Sep 17 23:34:48 2022 +0200

		config.sub: add linux-mlibc targets

	commit 9f9f9b0b13197269848c76e3e057a3ed0680b4bf
	Author: Arsen Arsenovi <arsen@@aarsen.me>
	Date:   Sat Sep 17 23:34:47 2022 +0200

		config.guess: support running on Managarm systems

	commit 87e6687749da7bb2ab158a79fa83721c19ed9246
	Author: Arsen Arsenovi <arsen@@aarsen.me>
	Date:   Sat Sep 17 23:34:46 2022 +0200

		config.sub: add managarm-{mlibc,kernel} targets

	commit 20403c5701973a4cbd7e0b4bbeb627fcd424a0f1
	Author: Xiaotian Wu <wuxiaotian@@loongson.cn>
	Date:   Mon Aug 1 16:05:29 2022 +0800

		Remove loongarchx32

	commit 02ba26b218d3d3db6c56e014655faf463cefa983
	Author: Alexander von Gluck IV <kallisti5@@unixzen.com>
	Date:   Wed May 25 15:43:13 2022 -0500

		config.guess: Update Haiku guesses

	commit f56a7140386d08a531bcfd444d632b28c61a6329
	Author: Bruno Haible <bruno@@clisp.org>
	Date:   Sun May 8 19:08:08 2022 +0200

		config.guess (x86_64:Linux:*:*): Detect 32-bit ABI.

2023-04-20  Nick Clifton  <nickc@@redhat.com>

	* SECURITY.txt: New file.
	* src-release.sh (DEVO_SUPPORT): Add SECURITY.txt.

2022-12-31  Nick Clifton  <nickc@@redhat.com>

	* 2.40 binutils branch created.

2022-10-10  Nick Clifton  <nickc@@redhat.com>

	* src-release.sh: Add "-r <date>" option to create reproducible
	tarballs based upon a fixed timestamp of <date>.
	* binutils/README-how-to-make-a-release: Add a line showing how to
	use -r <date> when creating a binutils release.

2022-10-04  Nick Clifton  <nickc@@redhat.com>

	* README-maintainer-mode: Add a minimum version of dejagnu
	requirement.

2022-09-08  Nick Clifton  <nickc@@redhat.com>

	* README-maintainer-mode: Update minimum version  of gettext
	required.
@
text
@d9 1
a9 1
#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2023
d149 1
a149 2
	MAKEINFO="$(MAKEINFO)"; export MAKEINFO; \
	GUILE="$(GUILE)"; export GUILE;
a168 2
	GM2="$(GM2_FOR_BUILD)"; export GM2; \
	GM2FLAGS="$(GM2FLAGS_FOR_BUILD)"; export GM2FLAGS; \
a206 1
	GM2="$(GM2)"; export GM2; \
d229 1
a229 1
	GCC_FOR_TARGET="$(GCC_FOR_TARGET) $$TFLAGS"; export GCC_FOR_TARGET; \
d243 2
d280 1
a280 2
	  -B$(build_tooldir)/bin/ $(GDCFLAGS_FOR_TARGET) \
	  -B$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime/gcc \
a281 1
	  -B$$r/prev-$(TARGET_SUBDIR)/libphobos/src/.libs \
d284 1
a284 2
	  -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
	  -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; \
a309 1
	GM2="$(GM2_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GM2; \
a321 1
	SYSROOT_CFLAGS_FOR_TARGET="$(SYSROOT_CFLAGS_FOR_TARGET)"; export SYSROOT_CFLAGS_FOR_TARGET; \
d347 4
a379 1
GM2_FOR_BUILD = @@GM2_FOR_BUILD@@
d409 1
a409 1
AUTO_PROFILE = gcc-auto-profile --all -c 10000000
d449 1
a449 2
GDCFLAGS = @@GDCFLAGS@@
GM2FLAGS = $(CFLAGS)
a452 2
GUILE = guile

a496 1
PROFILE_MERGER = profile_merger
a535 5
@@if target-libphobos-bootstrap
STAGE1_CONFIGURE_FLAGS += --with-libphobos-druntime-only
STAGE2_CONFIGURE_FLAGS += --with-libphobos-druntime-only
@@endif target-libphobos-bootstrap

a553 4
# Disable warnings as errors for a few reasons:
# - sources for gen* binaries do not have .gcda files available
# - inlining decisions generate extra warnings
STAGEfeedback_CONFIGURE_FLAGS = $(filter-out --enable-werror-always,$(STAGE_CONFIGURE_FLAGS))
d555 1
a555 1
STAGEautoprofile_CFLAGS = $(filter-out -gtoggle,$(STAGE2_CFLAGS)) -g
a559 3
# Disable warnings as errors since inlining decisions with -fauto-profile
# may result in additional warnings.
STAGEautofeedback_CONFIGURE_FLAGS = $(filter-out --enable-werror-always,$(STAGE_CONFIGURE_FLAGS))
a581 1
GM2_FOR_TARGET=$(STAGE_CC_WRAPPER) @@GM2_FOR_TARGET@@
a606 1
GM2FLAGS_FOR_TARGET = -O2 -g
a712 1
	'GM2=$(GM2)' \
d723 1
a723 2
	'CREATE_GCOV=$(CREATE_GCOV)' \
	'PROFILE_MERGER=$(PROFILE_MERGER)'
a738 1
	GM2="$${GM2}" GM2_FOR_BUILD="$${GM2_FOR_BUILD}" \
a773 2
	'GM2=$$(GM2_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
	'GM2FLAGS=$$(GM2FLAGS_FOR_TARGET)' \
d799 1
a799 2
	"GCC_FOR_TARGET=$(GCC_FOR_TARGET) $$TFLAGS" \
	"GM2_FOR_TARGET=$(GM2_FOR_TARGET) $$TFLAGS" \
a1616 8

.PHONY: gcc-site.exp
gcc-site.exp:
	r=`${PWD_COMMAND}`; export r; \
	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
	$(HOST_EXPORTS) \
	(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) site.exp);

d1619 1
a1619 1
check-gcc-[+language+]: gcc-site.exp
@


1.1.1.11
log
@Import binutils 2.45 (previous was 2.42)

2.45 Release Notes
------------------

Assembler:

  All sframe information generated by the assembler is now in compliance
  with the SFrame V2 specification.

  The assembler now supports .errif and .warnif directives, permitting
  user-controlled diagnostics with conditionals that are evaluated only
  at the end of assembly.

  The assembler predefines the symbol "GAS(version)".

  The assembler now supports the generation of SFrame stack trace
  information (.sframe) from CFI directives on s390 64-bit (s390x).

  For RISC-V, the ".option arch, -ext" format is deprecated due to its
  controversial use.

  For RISC-V, stop generating mapping symbols $x and replace with $x<isa>.  The
  $x was defined to have the same ISA as previous $x<isa>, but now is defined
  to have the same ISA as elf architecture attribute.  Once both used .option
  arch/rvc/norvc/push/pop directives (some code have different architectures
  with file attribute) and data directives in text, then the file need to be
  rebuilt since 2.45.

  The assembler supports the latest architecture extensions for the
  RISC-V, LoongArch and AArch64 architectures.

Linker:

  The linker's --stats option can take an optional argument which if used is
  interpreted as a filename into which resource usage information should be
  stored.  As an alternative mechanism the LD_STATS environment variable can
  also be used to achieve the same results.  Resource usage information for
  various phases of the linking operation is now included in the report.
  If a map file is being produced then the information is also included there.
  The --no-stats option can be used to disable stat reporting, should it have
  been enabled.

  On s390 64-bit (s390x), generate SFrame stack trace information (.sframe)
  for the linker generated .plt section.  On s390 32-bit, generate
  ".eh_frame" unwind information for the linker generated .plt section.
  Both features are enabled by default and can be disabled using linker
  option --no-ld-generated-unwind-info.

  On RISC-V, add new PLT formats, and GNU property merge rules for zicfiss and
  zicfilp extensions.

  On AVR, the default linker scripts now assert that the .progmem sections
  don't extend past 0xffff since they are accessed by means of LPM.
  For data in program memory that may be located past 0xffff, a .progmemx
  section should be used.

  On LoongArch, linker relaxation time complexity is no longer quadratic with
  respect to relocation counts.  Linking time of large software should be
  improved.  In addition  R_LARCH_32_PCREL records are now checked for
  overflow.

Other binary utilities:

  New versioned release of libsframe: libsframe.so.2.  This release introduces
  versioned symbols with version node name LIBSFRAME_2.0.  Some new symbols
  have been added to support the new flag SFRAME_F_FDE_FUNC_START_PCREL and
  retrieving flags from SFrame decoder and encoder objects:
    - Addition of sframe_decoder_get_flags,
      sframe_decoder_get_offsetof_fde_start_addr, sframe_encoder_get_flags,
      sframe_encoder_get_offsetof_fde_start_addr.
  This release also includes backward-incompatible ABI changes:
    - Removal of sframe_get_funcdesc_with_addr.
    - Change in the behavior of sframe_decoder_get_funcdesc_v2,
      sframe_encoder_add_funcdesc_v2 and sframe_encoder_write.

  For SFrame stack trace format, the function start address in each SFrame
  FDE has a changed encoding:  The 32-bit signed integer now holds the offset
  of the start PC of the associated function from the sfde_func_start_address
  field itself (instead of the earlier where it was the offset from the start
  of the SFrame section itself).  All SFrame sections generated by gas and ld
  now default to this new encoding, setting the (new)
  SFRAME_F_FDE_FUNC_START_PCREL flag.

  Relocatable SFrame links are now fixed.

 Readelf now recognizes RISC-V GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS and
  GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED for zicfiss and zicfilp
  extensions.

  The LoongArch disassembler now properly accepts multiple disassembly
  options given by -M, such as "-M no-aliases,numeric".  (Previously only the
  first option took effect.)


2.44 Release Notes
------------------

   Assembler:
      Support for new architecture extensions for AArch64, Risc-V and
      x86.

    Linker:
      The default maximum page size was changed from 16KiB to 64KiB for
      LoongArch.

      This now supports mixed LTO and non-LTO object files in
      relocatable output.

      The ELF forms of the linker support a --image-base=<ADDR> option
      for compatibility with LLD.

      The --build-id= option now accepts an argument of "xx" which
      enables the use of the xxhash library.  This produces a 128-bit
      hash and is 2-4x faster than md5 or sha1.

      The ELF linker option --package-metadata supports percent-encoded
      and %[string] encoded JSON payloads.

    Disassembler:
      The RISC-V disassembler now supports -M,max option like QEMU to
      dump instruction without checking architecture support as usual.

    GprofNG:
      Support added for hardware event counters for Neoverse-N1,
      Ampere-1, and Appliedmicro processors.

    Support for the Nios II target has been removed.

2.43 Release Notes
------------------

    Assembler:

* Add a .base64 directive to the assembler which allows base64 encoded
  binary data to be provided as strings.

* Assembler macros as well as the bodies of .irp / .irpc / .rept can now use
  the syntax \+ to access the number of times a given macro has been executed.
  This is similar to the already existing \@@ syntax, except that the count is
  maintained on a per-macro basis.

* References to FB and dollar labels, when supported, are no longer permitted
  in a radix other than 10.  (Note that definitions of such labels were
  already thus restricted, except that leading zeroes were permitted).

    Linker:

* Add support for DT_RELR type compressed runtime relocations for the
  AArch64 and LoongArch architectures.

* Add --rosegment option which changes the -z separate-code option so that
  only one read-only segment is created (instead of two).

* Add --section-ordering-file <FILE> option to add extra mapping of input
  sections to output sections.

* Add -plugin-save-temps to store plugin intermediate files permanently.

    Utilities:

* Readelf will now display DT_RELR relocations in full detail.

* Readelf now has a -j/--display-section option which takes the name
  or index of a section and displays its contents according to its
  type.  The option can be used multiple times on the command line to
  display multiple sections.

* When objdump or readelf are used to display the contents of a
  .eh_frame section they will now also display the contents of the
  .eh_frame_hdr section, if present.

    Gprofng:

* Improved the support for hardware event counters:
    - Re-designed and streamlined the implementation.
    - Defined a common set of events for ARM processors.
    - Added specific events for AMD ZEN3 / ZEN4, and Intel
      Ice Lake processors.
* Added a minimal support for RISC-V.

    General:

* Target specific improvements for many architectures.
@
text
@d9 1
a9 1
#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
d149 2
a150 1
	MAKEINFO="$(MAKEINFO)"; export MAKEINFO;
d458 2
@


1.1.1.12
log
@Import binutils-2.46.0 (previous was 2.45)

Changes in 2.45:

* New versioned release of libsframe: libsframe.so.2.  This release introduces
  versioned symbols with version node name LIBSFRAME_2.0.  Some new symbols
  have been added to support the new flag SFRAME_F_FDE_FUNC_START_PCREL and
  retrieving flags from SFrame decoder and encoder objects:
    - Addition of sframe_decoder_get_flags,
      sframe_decoder_get_offsetof_fde_start_addr, sframe_encoder_get_flags,
      sframe_encoder_get_offsetof_fde_start_addr.
  This release also includes backward-incompatible ABI changes:
    - Removal of sframe_get_funcdesc_with_addr.
    - Change in the behavior of sframe_decoder_get_funcdesc_v2,
      sframe_encoder_add_funcdesc_v2 and sframe_encoder_write.

* On s390 64-bit (s390x), gas, ld, objdump, and readelf now support generating
  and processing SFrame V2 stack trace information (.sframe).  The assembler
  generates SFrame info from CFI directives with option "--gsframe".  The
  linker generates SFrame info for the linker-generated .plt section and merges
  all .sframe sections.  Both objdump and readelf dump SFrame info with option
  "--sframe[=<section-name>]".

* For SFrame stack trace format, the function start address in each SFrame
  FDE has a changed encoding:  The 32-bit signed integer now holds the offset
  of the start PC of the associated function from the sfde_func_start_address
  field itself (instead of the earlier where it was the offset from the start
  of the SFrame section itself).  All SFrame sections generated by gas and ld
  now default to this new encoding, setting the (new)
  SFRAME_F_FDE_FUNC_START_PCREL flag.

  Relocatable SFrame links are now fixed.

* Readelf now recognizes RISC-V GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS and
  GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED for zicfiss and zicfilp
  extensions.

* For RISC-V dis-assembler, the definition of mapping symbol $x is changed,
  so the file needs to be rebuilt since 2.45 once used .option arch directives.

* The LoongArch disassembler now properly accepts multiple disassembly
  options given by -M, such as "-M no-aliases,numeric".  (Previously only the
  first option took effect.)
@
text
@a209 1
	GNATMAKE_FOR_BUILD="$(GNATMAKE_FOR_BUILD)"; export GNATMAKE_FOR_BUILD; \
a314 1
	GNATMAKE_FOR_BUILD="$(GNATMAKE_FOR_BUILD)"; export GNATMAKE_FOR_BUILD; \
a342 1
	CXX_FOR_TARGET="$(CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
a382 1
GNATMAKE_FOR_BUILD = @@GNATMAKE_FOR_BUILD@@
d433 1
a433 1
NM = @@NM@@ @@NM_PLUGIN_OPTION@@
d585 1
a585 1
AR_FOR_TARGET=@@AR_FOR_TARGET@@ @@AR_PLUGIN_OPTION_FOR_TARGET@@
d605 1
a605 1
NM_FOR_TARGET=@@NM_FOR_TARGET@@ @@NM_PLUGIN_OPTION_FOR_TARGET@@
d609 1
a609 1
RANLIB_FOR_TARGET=@@RANLIB_FOR_TARGET@@ @@RANLIB_PLUGIN_OPTION_FOR_TARGET@@
@


