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

	* configure.ac: Call SIM_AC_OPTION_RESERVED_BITS.
	(sim_reserved_bits): Delete.
	* m4/sim_ac_option_reserved_bits.m4: Delete first arg.  Define
	WITH_RESERVED_BITS.
	* m4/sim_ac_output.m4 (sim_reserved_bits): Delete.
	* aclocal.m4, config.h.in, configure, Makefile.in: Regenerate.

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

	* configure.ac: Remove [true] from m32r SIM_TARGET call.
	* configure, Makefile.in: Regenerate.

2021-06-30  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Remove [true] from cris, frv, iq2000, and lm32
	SIM_TARGET calls.  Include frv/acinclude.m4.
	* configure, Makefile.in: Regenerate.

2021-06-30  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Call SIM_AC_OPTION_SCACHE.
	(sim_scache): Delete.
	* m4/sim_ac_option_scache.m4: Delete first arg.  Define WITH_SCACHE.
	* m4/sim_ac_output.m4 (sim_scache): Delete.
	* aclocal.m4, config.h.in, configure, Makefile.in: Regenerate.

2021-06-30  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Remove [true] from bfin SIM_TARGET call.
	* configure, Makefile.in: Regenerate.

2021-06-30  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (sim_default_model): Delete.
	* m4/sim_ac_output.m4 (sim_default_model): Likewise.
	* configure, Makefile.in: Regenerate.
	* m4/sim_ac_option_default_model.m4: Removed.

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

	* m4/sim_ac_option_warnings.m4: Add -Wunused-but-set-parameter.
	* configure: Regenerate.

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

	* m4/sim_ac_option_warnings.m4: Add -Wno-error=maybe-uninitialized.
	* configure: Regenerate.

2021-06-27  Mike Frysinger  <vapier@gentoo.org>

	* arch-subdir.mk.in: Move TERMCAP and READLINE variables from
	erc32/Makefile.in.
	* configure.ac: Remove [true] from erc32 SIM_TARGET call.
	* m4/sim_ac_platform.m4: Check for cygwin, termcap, and readline.
	* configure, Makefile.in: Regenerate.

2021-06-27  Mike Frysinger  <vapier@gentoo.org>

	* arch-subdir.mk.in: Move SDL_CFLAGS & SDL_LIBS from bfin/Makefile.in.
	* m4/sim_ac_platform.m4: Call PKG_CHECK_MODULES and export SDL_CFLAGS
	and SDL_LIBS.
	* m4/sim_ac_toolchain.m4: Call PKG_PROG_PKG_CONFIG.
	* aclocal.m4, configure, Makefile.in: Regenerate.

2021-06-23  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (SIM_BUILD_TARGET): Simplify sed script.
	* configure: Regenerate.

2021-06-22  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Update rx SIM_TARGET call.  Include rx/acinclude.m4.
	* configure, Makefile.in: Regenerate.

2021-06-22  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.am (SUBDIRS): Add $(SIM_SUBDIRS).
	* configure.ac (SIM_SUBDIRS): Define.
	(SIM_COMMON_BUILD): New conditional.
	(SIM_BUILD_TARGET): Update to take a 2nd arg.
	(SIM_TARGET): Update to take a 4th arg.  Update callers.
	(sim_bitsize, sim_float, sim_scache, sim_default_model,
	sim_reserved_bits): Define.
	* m4/sim_ac_output.m4 (SIM_COMMON_BUILD): New conditional.
	* configure, Makefile.in: Regenerate.

2021-06-21  Mike Frysinger  <vapier@gentoo.org>

	* arch-subdir.mk.in: Move sim-hw settings from common/Make-common.in.
	* configure.ac: Call SIM_AC_OPTION_HARDWARE.
	* m4/sim_ac_option_hardware.m4: Use AM_CONDITIONAL for SIM_ENABLE_HW.
	* m4/sim_ac_output.m4: Do not require SIM_AC_OPTION_HARDWARE.
	* aclocal.m4, configure, Makefile.in: Regenerate.

2021-06-21  Mike Frysinger  <vapier@gentoo.org>

	* README-HACKING: Change SIM_AC_OPTION_HARDWARE to
	SIM_EXTRA_HW_DEVICES.
	* m4/sim_ac_option_hardware.m4: Remove first argument, and change
	configure option to a boolean.  Delete device list.
	* m4/sim_ac_output.m4: Delete sim_hw variables.

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

	* README-HACKING (SIM_AC_COMMON): Delete mention.
	* m4/sim_ac_common.m4: Removed.

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

	* arch-subdir.mk.in (MAINT): Define.
	* m4/sim_ac_common.m4: Delete AM_MAINTAINER_MODE call.

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

	* arch-subdir.mk.in (CGEN_MAINT, CGENDIR): Define.
	* configure.ac: Call SIM_AC_OPTION_CGEN_MAINT.
	* aclocal.m4, configure, Makefile.in: Regenerate.

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

	* Makefile.am (AM_CPPFLAGS): Add $(SIM_INLINE).
	* arch-subdir.mk.in (SIM_INLINE): Define.
	* configure.ac: Call SIM_AC_OPTION_INLINE.
	* m4/sim_ac_common.m4: Delete SIM_AC_OPTION_INLINE call.
	* m4/sim_ac_option_inline.m4: Output SIM_INLINE.
	* aclocal.m4, configure, Makefile.in: Regenerate.

2021-06-19  Mike Frysinger  <vapier@gentoo.org>

	* arch-subdir.mk.in (DTC): Define.
	* m4/sim_ac_toolchain.m4: Call AC_CHECK_TOOL.
	* configure, Makefile.in: Regenerate.

2021-06-19  Mike Frysinger  <vapier@gentoo.org>

	* arch-subdir.mk.in: Move intl vars from common/Make-common.in.
	* m4/sim_ac_common.m4: Move ZW_GNU_GETTEXT_SISTER_DIR call ...
	* m4/sim_ac_platform.m4: ... here.
	* aclocal.m4, config.h.in, configure, Makefile.in: Regenerate.

2021-06-19  Mike Frysinger  <vapier@gentoo.org>

	* arch-subdir.mk.in: Move dependency vars from common/Make-common.in.
	* configure.ac (SIM_BUILD_TARGET): New macro.
	(SIM_TARGET): Call SIM_BUILD_TARGET.
	(example): Change AC_CONFIG_SUBDIRS to SIM_BUILD_TARGET.
	* m4/sim_ac_common.m4: Delete AC_PROG_CC & AC_PROG_INSTALL require,
	and delete ZW_CREATE_DEPDIR & ZW_PROG_COMPILER_DEPENDENCIES.
	* configure: Regenerate.

2021-06-19  Mike Frysinger  <vapier@gentoo.org>

	* arch-subdir.mk.in: Move toolchain vars from common/Make-common.in.
	* m4/sim_ac_common.m4: Delete SIM_AC_TOOLCHAIN call.  Require
	AC_PROG_CC and AC_PROG_INSTALL.

2021-06-19  Mike Frysinger  <vapier@gentoo.org>

	* arch-subdir.mk.in (zlibdir): New variable.
	(@PLUGINS_TRUE@LIBDL): New variable.
	* m4/sim_ac_common.m4: Move bfd dep calls ...
	* m4/sim_ac_platform.m4: ... here.
	* aclocal.m4, config.h.in, configure, Makefile.in: Regenerate.

2021-06-19  Mike Frysinger  <vapier@gentoo.org>

	* arch-subdir.mk.in (COMMON_LIBS): New variable.
	* m4/sim_ac_common.m4: Delete AC_CHECK_LIB calls.
	* m4/sim_ac_option_hardware.m4: Likewise.
	* m4/sim_ac_platform.m4: Call AC_CHECK_LIB.
	* config.h.in, configure: Regenerate.

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

	* Makefile.am (AM_CFLAGS): New variable.
	* arch-subdir.mk.in (WARN_CFLAGS, WERROR_CFLAGS): New variables.
	* configure.ac: Call SIM_AC_OPTION_WARNINGS.
	* m4/sim_ac_output.m4: Delete SIM_AC_OPTION_WARNINGS require.
	* aclocal.m4, configure, Makefile.in: Regenerate.

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

	* m4/sim_ac_option_warnings.m4: Delete 1st arg to macro.

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

	* configure.ac: Output arch-subdir.mk.
	* Makefile.in, configure: Regenerate.
	* arch-subdir.mk.in: New file.

2021-06-17  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Call SIM_AC_OPTION_ENDIAN.
	* m4/sim_ac_option_endian.m4: Delete wire & default arguments.
	* m4/sim_ac_output.m4: Delete sim_alignment & sim_endian.
	* aclocal.m4, Makefile.in, config.h.in, configure: Regenerate.

2021-06-16  Simon Marchi  <simon.marchi@polymtl.ca>

	* common/Make-common.in (COMPILE, libsim.a, run$(EXEEXT),
	gentmap.o, gentmap): Make rules silent.

2021-06-16  Mike Frysinger  <vapier@gentoo.org>

	* m4/sim_ac_common.m4: Delete AC_EXEEXT call.

2021-06-16  Mike Frysinger  <vapier@gentoo.org>

	* m4/sim_ac_common.m4: Delete AC_CONFIG_HEADERS call.

2021-06-15  Mike Frysinger  <vapier@gentoo.org>

	* m4/sim_ac_option_hardware.m4: Delete AC_DEFINE_UNQUOTED call.
	Add -DHAVE_DV_SOCKSER to sim_hw_cflags.

2021-06-15  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in: Regenerate.

2021-06-14  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Call AM_SILENT_RULES.
	* Makefile.in, configure: Regenerate.

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

	* Makefile.in: Regenerate.

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

	* m4/sim_ac_platform.m4: Delete sys/select.h.
	* config.h.in, configure: Regenerate.

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

	* configure.ac: Call SIM_AC_OPTION_ALIGNMENT.
	* m4/sim_ac_option_alignment.m4: Delete wire and default alignment.
	* aclocal.m4, config.h.in, configure, Makefile.in: Regenerate.

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

	* configure.ac: Define PKGVERSION & REPORT_BUGS_TO.
	* m4/sim_ac_common.m4: Delete calls to ACX_PKGVERSION & ACX_BUGURL.
	* aclocal.m4, config.h.in, configure, Makefile.in: Regenerate.

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

	* configure.ac: Call SIM_AC_OPTION_DEBUG, SIM_AC_OPTION_STDIO,
	SIM_AC_OPTION_TRACE, and SIM_AC_OPTION_PROFILE.
	* m4/sim_ac_common.m4: Delete calls to SIM_AC_OPTION_DEBUG,
	SIM_AC_OPTION_STDIO, SIM_AC_OPTION_TRACE, and SIM_AC_OPTION_PROFILE.
	* aclocal.m4, config.h.in, configure, Makefile.in: Regenerate.

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

	* m4/sim_ac_common.m4: Replace --enable-sim-debug, --enable-sim-stdio,
	--enable-sim-trace, and --enable-sim-profile with calls to
	SIM_AC_OPTION_DEBUG, SIM_AC_OPTION_STDIO, SIM_AC_OPTION_TRACE, and
	SIM_AC_OPTION_PROFILE.
	* m4/sim_ac_option_debug.m4: New file.
	* m4/sim_ac_option_profile.m4: New file.
	* m4/sim_ac_option_stdio.m4: New file.
	* m4/sim_ac_option_trace.m4: New file.

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

	* m4/sim_ac_platform.m4: Check more headers, funcs, structs, and
	types.
	* config.h.in, configure: Regenerate.

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

	* configure.ac: Call SIM_AC_OPTION_ENVIRONMENT.
	* m4/sim_ac_common.m4: Delete call to SIM_AC_OPTION_ENVIRONMENT.
	* aclocal.m4, config.h.in, configure, Makefile.in: Regenerate.

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

	* configure.ac: Call SIM_AC_OPTION_ASSERT.
	* m4/sim_ac_common.m4: Delete call to SIM_AC_OPTION_ASSERT.
	* aclocal.m4, config.h.in, configure, Makefile.in: Regenerate.

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

	* configure.ac: Call AC_CONFIG_HEADERS and SIM_AC_PLATFORM.
	* m4/sim_ac_common.m4: Delete calls to AC_CHECK_HEADERS_ONCE,
	AC_CHECK_FUNCS_ONCE, AC_CHECK_MEMBERS, AC_CHECK_TYPES, and
	AC_TYPE_SIGNAL.
	* aclocal.m4, configure, Makefile.in: Regenerate.
	* config.h.in: New file.
	* m4/sim_ac_platform.m4: New file.

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

	* Makefile.am: Include common/local.mk.
	(SIM_ALL_RECURSIVE_DEPS): Define.
	(all-recursive): New rule.
	* Makefile.in: Regenerated.

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

	* Makefile.am (pkginclude_HEADERS): Define.
	* Makefile.in: Regenerated.

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

	* m4/sim_ac_common.m4: Check for __int128 type.

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

	* README-HACKING: Update callback.h path.

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

	* README-HACKING: Delete mention of SIM_AC_OPTION_ENVIRONMENT.

2021-05-12  Luis Machado  <luis.machado@linaro.org>

	* d10v/interp.c (sim_create_inferior): Fix memset call.

2021-05-07  Dimitar Dimitrov  <dimitar@dinux.eu>

	* Makefile.in: Rebuild.

2021-05-04  Tom Tromey  <tromey@adacore.com>

	* Makefile.in: Rebuild.
	* Makefile.am (AM_CPPFLAGS): New variable.

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

	* m4/sim_ac_toolchain.m4 (SIM_AC_TOOLCHAIN): Define AR_FOR_BUILD and
	RANLIB_FOR_BUILD.
	* configure, Makefile.in: Regenerate.

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

	* m4/sim_ac_common.m4 (AC_CHECK_FUNCS_ONCE): Add strsignal.

2021-04-26  Mike Frysinger  <vapier@gentoo.org>

	* README-HACKING (nltvals.def): Update to gennltvals.py.

2021-04-26  Mike Frysinger  <vapier@gentoo.org>

	* m4/sim_ac_output.m4 (SIM_AC_OUTPUT): Require SIM_AC_OPTION_HARDWARE.

2021-04-23  Mike Frysinger  <vapier@gentoo.org>

	* README-HACKING (SIM_AC_OPTION_HARDWARE): Delete first two args.
	* m4/sim_ac_option_hardware.m4 (SIM_AC_OPTION_HARDWARE): Replace [$1]
	with yes.  Delete test [$2].  Change [$3] to [$1].  Update comments.

2021-04-22  Tom Tromey  <tom@tromey.com>

	* m4/sim_ac_common.m4 (SIM_AC_COMMON): Don't check for sys/time.h
	or sys/times.h.

2021-04-22  Tom Tromey  <tom@tromey.com>

	* m4/sim_ac_common.m4 (SIM_AC_COMMON): Don't check for make.

2021-04-21  Simon Marchi  <simon.marchi@polymtl.ca>

	* m4/sim_ac_option_warnings.m4 (SIM_AC_OPTION_WARNINGS): Use
	-Werror when probing for supported warning flags.

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

	* m4/sim_ac_common.m4: Change AC_CHECK_HEADERS to
	AC_CHECK_HEADERS_ONCE, merge calls, and sort args.

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

	* m4/sim_ac_common.m4: Change AC_CHECK_FUNCS to AC_CHECK_FUNCS_ONCE,
	merge calls, and sort args.

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

	* configure.ac: Add --example-sims option.
	* configure: Regenerate.

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

	* Makefile.am (check_PROGRAMS, CLEANFILES, DISTCLEANFILES): Define.
	* Makefile.in: Regenerated.

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

	* Makefile.am (SIM_PRIMARY_TARGET, AM_MAKEFLAGS): Define.
	* configure.ac: Add --enable-targets option.  Define SIM_PRIMARY_TARGET
	and SIM_TARGET.  Rewrite case statement with SIM_TARGET calls.
	* Makefile.in, configure: Regenerate.

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

	* Makefile.am [SIM_ENABLE_IGEN]: Include igen/local.mk.
	* configure.ac: Delete AC_CONFIG_SUBDIRS(igen) call.
	(SIM_ENABLE_IGEN): Define.
	* configure, Makefile.in: Regenerate.

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

	* Makefile.am (ACLOCAL_AMFLAGS): Add -Im4.
	(COMPILE_FOR_BUILD, LINK_FOR_BUILD): Define.
	* configure.ac: Replace toolchain calls with SIM_AC_TOOLCHAIN.
	* m4/sim_ac_common.m4 (SIM_AC_COMMON): Replace toolchain calls
	with SIM_AC_TOOLCHAIN.
	* m4/sim_ac_toolchain.m4: New file.
	* aclocal.m4, configure, Makefile.in: Regenerate.

2021-03-08  Tom Tromey  <tromey@adacore.com>

	* aclocal.m4, configure, Makefile.in: Rebuild.
	* configure.ac: Use AM_MAINTAINER_MODE.

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

	* configure.ac (AC_CONFIG_FILES): Delete testsuite/Makefile.
	* Makefile.am: Include testsuite/local.mk.
	(AUTOMAKE_OPTIONS): Add dejagnu.
	* configure, Makefile.in: Regenerated.

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

	* Makefile.am: New file.
	* configure.ac: Update AC_INIT call.  Move AC_CANONICAL_SYSTEM after
	it.  Call AM_INIT_AUTOMAKE.  Delete AC_CONFIG_MACRO_DIRS.
	* aclocal.m4, configure, Makefile.in: Regenerated.

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

	* m4/sim_ac_common.m4 (SIM_AC_COMMON): Delete CC_FOR_BUILD test.
	Change CC_FOR_BUILD assignment.  Define CFLAGS_FOR_BUILD.

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

	* m4/sim_ac_common.m4 (SIM_AC_COMMON): Replace AR assignment and
	AC_SUBST(AR) with call to AC_CHECK_TOOL(AR, ar).

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

	* m4/sim_ac_common.m4 (SIM_AC_COMMON): Require AC_PROG_CPP.

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

	* README-HACKING: Delete SIM_EXTRA_LIBDEPS.

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

	* README-HACKING: Delete SIM_EXTRA_ALL.

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

	* m4/sim_ac_common.m4, m4/sim_ac_option_alignment.m4,
	m4/sim_ac_option_assert.m4, m4/sim_ac_option_bitsize.m4,
	m4/sim_ac_option_cgen_maint.m4, m4/sim_ac_option_default_model.m4,
	m4/sim_ac_option_endian.m4, m4/sim_ac_option_environment.m4,
	m4/sim_ac_option_float.m4, m4/sim_ac_option_hardware.m4,
	m4/sim_ac_option_inline.m4, m4/sim_ac_option_reserved_bits.m4,
	m4/sim_ac_option_scache.m4, m4/sim_ac_option_smp.m4,
	m4/sim_ac_option_warnings.m4, m4/sim_ac_option_xor_endian.m4,
	m4/sim_ac_output.m4: New files.

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

	* configure.tgt: Move arch list ...
	* configure.ac: ... here.
	* configure: Regenerate.

2021-02-19  Nelson Chu  <nelson.chu@sifive.com>

	PR 27158
	* riscv/sim-main.c (execute_i): Updated encoding macros.

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

	* configure.tgt: Delete call to AC_SUBST(sim_arch).
	* configure: Regenerate.

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

	* README-HACKING: Replace sinclude with AC_CONFIG_MACRO_DIRS in
	configure.ac skeleton.

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

	* README-HACKING: Replace STATE_WATCHPOINTS with CPU_PC_FETCH.

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

	* configure.ac (HDEFINES): Delete AC_SUBST call.
	* configure: Regenerate.

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

	* configure.tgt (sim_arch): Add entry for riscv*-*-*.
	* configure: Regenerate.

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

	* Makefile.in (nltvals): Change to gennltvals.py.

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

	* README-HACKING: Delete reference to sizeof_pc.

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

	* MAINTAINERS (Global Maintainers): Move myself back.

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

	* configure.ac: Call AC_PROG_CPP.
	* configure: Regenerate.
	* Makefile.in (abs_srcdir, srcroot, CPP): Define.
	(nltvals): New target.
	* README-HACKING: Change headers to nltvals.

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

	* Makefile.in (headers): Change args to gennltvals.sh.
	* gennltvals.sh: Rewrite from scratch.
	* gentvals.sh: Delete.
	* nltvals.def: Regen.

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

	* configure.ac: Delete AC_CONFIG_SUBDIRS(testsuite) call.
	Add AC_CONFIG_FILES([Makefile testsuite/Makefile]) call.
	Drop argument to AC_OUTPUT.
	* configure: Regenerate.

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

	* README-HACKING (SIM_RUN_OBJS): Delete.

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

	* MAINTAINERS (sh64): Move to past maintainers.
	* configure: Regenerate.
	* configure.tgt (sh64*-*-*): Delete.
	* sh64/: Delete.

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

	* README-HACKING (AC_PREREQ): Delete.

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

	* README-HACKING (C Language Assumptions): Require C11 compiler.

2020-09-03  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* configure.ac: Do not configure sim/testsuite nor sim/igen if the
	primary target doesn't have a simulator.
	* configure: Regenerate.

2020-08-04  Jose E. Marchesi  <jose.marchesi@oracle.com>
	    David Faust <david.faust@oracle.com>

	* configure.tgt (sim_arch): Add entry for bpf-*-*.
	* configure: Regenerate.
	* MAINTAINERS: Add maintainer for the BPF simulator.

2019-12-19  Tom Tromey  <tromey@adacore.com>

	PR build/24572:
	* Makefile.in (install-strip): New target.

2019-09-23  Dimitar Dimitrov  <dimitar@dinux.eu>

	* MAINTAINERS: Add myself as PRU maintainer.
	* configure: Regenerated.
	* configure.tgt: Add PRU.

2019-09-18  Alan Modra  <amodra@gmail.com>

	* common/sim-load.c, * common/sim-utils.c, * cris/sim-if.c,
	* erc32/func.c, * lm32/sim-if.c, * m32c/load.c, * m32c/trace.c,
	* m68hc11/interp.c, * ppc/hw_htab.c, * ppc/hw_init.c,
	* rl78/load.c, * rl78/trace.c, * rx/gdb-if.c, * rx/load.c,
	* rx/trace.c: Update throughout for bfd section macro changes.

2019-02-28  Joel Brobecker  <brobecker@adacore.com>

	* MAINTAINERS: Move Mike Frysinger to past maintainers' section.

2019-02-13  Simon Marchi  <simon.marchi@ericsson.com>

	* MAINTAINERS: Add Andrew Burgess as global maintainer.

2019-01-03  Pavel I. Kryukov  <kryukov@frtk.ru>

	* sim-base.h: Add 'extern C' if header is compiled with C++.

2018-12-06  Andrew Burgess  <andrew.burgess@embecosm.com>

	* common/acinclude.m4 (enable-cgen-maint): Support passing path to
	cgen source tree.
	* cris/configure: Regenerate.
	* frv/configure: Regenerate.
	* iq2000/configure: Regenerate.
	* lm32/configure: Regenerate.
	* m32r/configure: Regenerate.
	* or1k/configure: Regenerate.
	* sh64/configure: Regenerate.

2018-07-20  Maciej W. Rozycki  <macro@mips.com>

	* MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
	ISA maintenance.

2018-07-19  DJ Delorie  <dj@redhat.com>

	* MAINTAINERS (rl78, m32c, rx, v850): Remove myself as maintainer.

2018-07-14  Stafford Horne  <shorne@gmail.com>

	* MAINTAINERS (or1k): Add myself as or1k maintainer.

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

	* All configure.ac: Remove AC_PREREQ.
	* All configure: Re-generate.

2018-01-22  Maciej W. Rozycki  <macro@mips.com>

	* MAINTAINERS: Update my company e-mail address.

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

	* configure: Regenerated.

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

	* configure.tgt: Add or1k sim.

2017-10-12  James Bowman  <james.bowman@ftdichip.com>

	* MAINTAINERS (ft32): Add myself.

2017-10-03  Jim Wilson  <wilson@tuliptree.org>

	* MAINTAINERS (aarch64): Update my email address.

2017-09-06  John Baldwin  <jhb@FreeBSD.org>

	* configure.ac: Honor existing CC_FOR_BUILD in environment.
	* configure: Regenerate.

2017-02-14  Jim Wilson  <jim.wilson@linaro.org>

	* MAINTAINTERS (aarch64): Add myself.

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

	* MAINTAINERS (Maintainers for particular sims): Add myself as
	a MIPS maintainer.

2016-02-03  Maciej W. Rozycki  <macro@linux-mips.org>

	* MAINTAINERS (Past sim maintainers): Add Thiemo Seufer.

2016-01-09  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Delete sim_common check and the
	AC_CONFIG_SUBDIRS(common) call.
	* configure: Regenerate.
	* configure.tgt (sim_common): Delete the variable.

2016-01-09  Mike Frysinger  <vapier@gentoo.org>

	* .gitignore: Delete /common/cconfig.h entry.

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

	* MAINTAINERS: Add myself as AArch64 sim maintainer.

2015-12-09  Tristan Gingold  <gingold@adacore.com>

	* aarch64/simulator.c: Remove syscall.h include.

2015-12-26  Mike Frysinger  <vapier@gentoo.org>

	* README-HACKING: Delete mention of tconfig.h.

2015-11-24  Nick Clifton  <nickc@redhat.com>

	* configure.tgt: Add aarch64 entry.
	* configure: Regenerate.

2015-06-23  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (AC_ARG_ENABLE(sim)): Call AS_HELP_STRING.
	* configure: Regenerate.

2015-06-12  Mike Frysinger  <vapier@gentoo.org>

	* README-HACKING: Change configure.in to configure.ac.

2015-04-02  H.J. Lu  <hongjiu.lu@intel.com>

	* arm/configure: Regenerated.
	* avr/configure: Likewise.
	* bfin/configure: Likewise.
	* common/configure: Likewise.
	* cr16/configure: Likewise.
	* cris/configure: Likewise.
	* d10v/configure: Likewise.
	* erc32/configure: Likewise.
	* frv/configure: Likewise.
	* ft32/configure: Likewise.
	* h8300/configure: Likewise.
	* igen/configure: Likewise.
	* iq2000/configure: Likewise.
	* lm32/configure: Likewise.
	* m32c/configure: Likewise.
	* m32r/configure: Likewise.
	* m68hc11/configure: Likewise.
	* mcore/configure: Likewise.
	* microblaze/configure: Likewise.
	* mips/configure: Likewise.
	* mn10300/configure: Likewise.
	* moxie/configure: Likewise.
	* msp430/configure: Likewise.
	* ppc/configure: Likewise.
	* rl78/configure: Likewise.
	* rx/configure: Likewise.
	* sh/configure: Likewise.
	* sh64/configure: Likewise.
	* v850/configure: Likewise.

2015-04-01  H.J. Lu  <hongjiu.lu@intel.com>

	* common/Make-common.in (CSEARCH): Remove $(ZLIBINC).
	(BFD_LIB): Remove $(ZLIB).
	(CONFIG_LIBS): Add $(ZLIB).
	* ppc/Makefile.in (ZLIBINC): Removed.
	(INCLUDES): Remove $(ZLIBINC).
	(BFD_LIB): Remove $(ZLIB).

2015-04-01  H.J. Lu  <hongjiu.lu@intel.com>

	* arm/configure: Regenerated.
	* avr/configure: Likewise.
	* bfin/configure: Likewise.
	* common/configure: Likewise.
	* cr16/configure: Likewise.
	* cris/configure: Likewise.
	* d10v/configure: Likewise.
	* erc32/configure: Likewise.
	* frv/configure: Likewise.
	* ft32/configure: Likewise.
	* h8300/configure: Likewise.
	* igen/configure: Likewise.
	* iq2000/configure: Likewise.
	* lm32/configure: Likewise.
	* m32c/configure: Likewise.
	* m32r/configure: Likewise.
	* m68hc11/configure: Likewise.
	* mcore/configure: Likewise.
	* microblaze/configure: Likewise.
	* mips/configure: Likewise.
	* mn10300/configure: Likewise.
	* moxie/configure: Likewise.
	* msp430/configure: Likewise.
	* ppc/configure: Likewise.
	* rl78/configure: Likewise.
	* rx/configure: Likewise.
	* sh/configure: Likewise.
	* sh64/configure: Likewise.
	* v850/configure: Likewise.

2015-03-29  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.
	* configure.ac: Delete sim_testsuite check and config in testsuite.
	* configure.tgt (sim_testsuite): Delete everywhere.

2015-03-28  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.
	* configure.tgt (avr*-*-*): Set sim_testsuite=yes.

2015-03-28  James Bowman  <james.bowman@ftdichip.com>

	* configure.tgt: Add FT32 entry.
	* configure: Regenerate.

2015-03-16  Mike Frysinger  <vapier@gentoo.org>

	* .gitignore: Delete tconfig.h.
	* README-HACKING: Change tconfig.in to tconfig.h.

2014-03-12  Nick Clifton  <nickc@redhat.com>

	* MAINTAINERS: Add myself as the maintainer for the MSP430.

2014-03-10  Mike Frysinger  <vapier@gentoo.org>

	* configure.tgt (msp430*-*-*): Set sim_testsuite to yes.
	* configure: Regenerate.

2014-01-06  Tom Tromey  <tromey@redhat.com>

	* common/cgen-trace.c: Don't use old VA_* macros.
	* common/sim-load.c (xprintf): Likewise.
	* common/sim-trace.c (trace_printf, debug_printf): Likewise.

2014-01-06  Tom Tromey  <tromey@redhat.com>

	* README-HACKING: Don't use PARAMS.
	* arm/wrapper.c: Don't use PARAMS.
	* bfin/sim-main.h: Don't use PARAMS.
	* common/callback.c: Don't use PARAMS.
	* common/cgen-trace.c: Don't use PARAMS.
	* common/run-sim.h: Don't use PARAMS.
	* common/run.c: Don't use PARAMS.
	* common/sim-base.h: Don't use PARAMS.
	* common/sim-load.c: Don't use PARAMS.
	* common/sim-options.h: Don't use PARAMS.
	* common/sim-trace.c: Don't use PARAMS.
	* common/sim-trace.h: Don't use PARAMS.
	* common/sim-utils.h: Don't use PARAMS.
	* cr16/cr16_sim.h: Don't use PARAMS.
	* cr16/gencode.c: Don't use PARAMS.
	* cr16/interp.c: Don't use PARAMS.
	* cr16/simops.c: Don't use PARAMS.
	* d10v/d10v_sim.h: Don't use PARAMS.
	* d10v/gencode.c: Don't use PARAMS.
	* d10v/interp.c: Don't use PARAMS.
	* d10v/simops.c: Don't use PARAMS.
	* erc32/erc32.c: Don't use PARAMS.
	* erc32/exec.c: Don't use PARAMS.
	* erc32/float.c: Don't use PARAMS.
	* erc32/func.c: Don't use PARAMS.
	* erc32/sis.c: Don't use PARAMS.
	* erc32/sis.h: Don't use PARAMS.
	* mips/interp.c: Don't use PARAMS.
	* mips/sim-main.h: Don't use PARAMS.
	* sh/interp.c: Don't use PARAMS.
	* v850/sim-main.h: Don't use PARAMS.
	* v850/v850_sim.h: Don't use PARAMS.

2013-11-07  Will Newton  <will.newton@linaro.org>

	PR gdb/15508
	* arm/wrapper.c (sim_create_inferior): Call init before
	accessing STATE.

2013-11-07  Will Newton  <will.newton@linaro.org>

	PR gdb/8989
	* arm/wrapper.c (sim_create_inferior): Avoid calling
	bfd_get_mach with a NULL bfd.

2013-06-21  Nick Clifton  <nickc@redhat.com>

	* msp430: New Directory.
	* configure.tgt: Add it.
	* configure: Regenerate.

2013-03-15  Steve Ellcey  <sellcey@mips.com>

	* arm/wrapper.c (sim_complete_command): Make char arguments const.
	* avr/interp.c (sim_complete_command): Ditto.
	* common/sim-options.c (sim_complete_command): Ditto.
	* cr16/interp.c (sim_complete_command): Ditto.
	* erc32/interf.c (sim_complete_command): Ditto.
	* m32c/gdb-if.c (sim_complete_command): Ditto.
	* microblaze/interp.c (sim_complete_command): Ditto.
	* ppc/sim_calls.c (sim_complete_command): Ditto.
	* rl78/gdb-if.c (sim_complete_command): Ditto.
	* rx/gdb-if.c (sim_complete_command): Ditto.
	* sh/interp.c (sim_complete_command): Ditto.

2013-01-01  Joel Brobecker  <brobecker@adacore.com>

	Update year range in copyright notice of all files.

2012-12-19  Joel Brobecker  <brobecker@adacore.com>

	Update old contact info in GPL license notices.

2012-12-19  Joel Brobecker  <brobecker@adacore.com>

	Update the non-FSF-copyrighted files in sim to GPLv3 or later.

2012-11-20  Pavel Chupin  <pavel.v.chupin@intel.com>

	* common/Make-common.in: Use lt_cv_dlopen_libs under PLUGINS
	condition.
	* common/acinclude.m4: Define lt_cv_dlopen_libs.
	* arm/configure: Regenerate.
	* avr/configure: Regenerate.
	* bfin/configure: Regenerate.
	* common/configure: Regenerate.
	* cr16/configure: Regenerate.
	* cris/configure: Regenerate.
	* d10v/configure: Regenerate.
	* erc32/configure: Regenerate.
	* frv/configure: Regenerate.
	* h8300/configure: Regenerate.
	* igen/configure: Regenerate.
	* iq2000/configure: Regenerate.
	* lm32/configure: Regenerate.
	* m32c/configure: Regenerate.
	* m32r/configure: Regenerate.
	* m68hc11/configure: Regenerate.
	* mcore/configure: Regenerate.
	* microblaze/configure: Regenerate.
	* mips/configure: Regenerate.
	* mn10300/configure: Regenerate.
	* moxie/configure: Regenerate.
	* ppc/configure: Regenerate.
	* rl78/configure: Regenerate.
	* rx/configure: Regenerate.
	* sh/configure: Regenerate.
	* sh64/configure: Regenerate.
	* testsuite/configure: Regenerate.
	* v850/configure: Regenerate.

2012-11-05  Stephane Carrez  <Stephane.Carrez@gmail.com>

	* MAINTAINERS: Update my email address.

2012-09-24  Steve Ellcey  <sellcey@mips.com>

	* mips/basic.exp: Add mips*-mti-elf* target.
	* configure.ac: Add mips*-mti-elf* target.
	* configure: Regenerate.

2012-06-15  Joel Brobecker  <brobecker@adacore.com>

	* configure: Regenerate.

2012-06-06  Michael Eager  <eager@eagercon.com>

	* microblaze/interp.c (config.h): Add #include.

2011-11-29  Joel Brobecker  <brobecker@adacore.com>

	* MAINTAINERS (Global Maintainers): New section.  Add Mike
	Frysinger.

2011-11-28  DJ Delorie  <dj@redhat.com>

	* configure.tgt: Add rl78 support.
	* configure: Regenerate.
	* rl78: New directory.
	* MAINTAINERS: Add myself as RL78 maintainer.

2011-07-08  Hans-Peter Nilsson  <hp@axis.com>

	* MAINTAINERS: Remove Thiemo Seufer.

2011-06-04  Mike Frysinger  <vapier@gentoo.org>

	* configure.tgt (bfin-*-*): Add sim_testsuite=yes.
	* configure: Regenerate.

2011-05-04  Joseph Myers  <joseph@codesourcery.com>

	* configure.tgt (thumb*-*-* | strongarm*-*-* | xscale-*-*): Don't
	handle targets.
	* configure: Regenerate.

2011-03-05  Mike Frysinger  <vapier@gentoo.org>

	* MAINTAINERS: Add bfin entry.
	* configure.tgt (bfin-*-*): Handle bfin targets.
	* configure: Regenerate.

2011-01-05  Mike Frysinger  <vapier@gentoo.org>

	* .gitignore: Add /*/hw-config.h.

2010-12-23  Mike Frysinger  <vapier@gentoo.org>

	* .gitignore: New file.

2010-07-28  DJ Delorie  <dj@redhat.com>

	* MAINTAINERS: Add self as RX maintainer.  Sort list.

2010-06-08  Nick Clifton  <nickc@redhat.com>

	* reg.c (set_oszc): Use unsigned int for the mask.
	(set_szc, set_osz, set_sz): Likewise.

2010-04-26  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Target logic moved out to and included from ...
	* configure.tgt: ... this new file.
	* configure: Regenerated.

2010-04-12  Mike Frysinger  <vapier@gentoo.org>

	* README-HACKING: Add more sections.

2010-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* avr/configure: Regenerate.
	* cris/configure: Regenerate.
	* microblaze/configure: Regenerate.

2009-11-24  Joel Brobecker  <brobecker@adacore.com>

	* common/aclocal.m4: Add include of ../../config/zlib.m4.
	* common/common.m4: Use AM_ZLIB to check for zlib support.
	* ppc/configure.ac: Likewise.
	* arm/configure, avr/configure, common/configure, cr16/configure,
	cris/configure, d10v/configure, erc32/configure, frv/configure,
	h8300/configure, iq2000/configure, lm32/configure, m32c/configure,
	m32r/configure, m68hc11/configure, mcore/configure,
	microblaze/configure, mips/configure, mn10300/configure,
	moxie/configure, ppc/configure, sh/configure, sh64/configure,
	v850/configure: Regenerate.

2009-11-24  DJ Delorie  <dj@redhat.com>

	* rx: New directory.
	* configure.ac: Add entry for Renesas RX.
	* configure: Regenerate.

2009-10-16  Doug Evans  <dje@sebabeach.org>

	* MAINTAINERS: Add myself as m32r maintainer.

2009-10-15  Michael Egaer  <eager@eagercon.com>

	* MAINTAINERS: Add self as MicroBlaze maintainer.

2009-10-14  Ben Elliston  <bje@gnu.org>

	* MAINTAINERS (common): Move myself to "past maintainers" section.

2009-10-06  Michael Eager  <eager@eagercon.com>

	* microblaze/interp.c: Add include microblaze-dis.h.

2009-09-23  Michael Eager  <eager@eagercon.com>

	* configure: Add microblaze-*.* (not regenerated).
	* configure.ac: Likewise.
	* microblaze/config.in: New.
	* microblaze/configure: Generate.
	* microblaze/configure.ac: New.
	* microblaze/interp.c: New.
	* microblaze/Makefile.in: New.
	* microblaze/microblaze.h: New.
	* microblaze/microblaze.isa: New.
	* microblaze/sim-main.h: New.
	* microblaze/sysdep.h: New.

2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* avr/config.in: Regenerate.
	* avr/configure: Likewise.
	* configure: Likewise.
	* cris/config.in: Likewise.
	* cris/configure: Likewise.

	* configure.ac: m4_include toplevel config/override.m4.
	* configure: Regenerate.
	* avr/configure: Regenerate.
	* cris/configure: Regenerate.

2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.in (datarootdir): New variable.

2009-05-18  Jon Beniston <jon@beniston.com>

	* MAINTAINERS: Add Jon Beniston as maintainer of lm32 sim.
	* configure.ac: Add lm32 target.
	* lm32: New directory.

2009-05-11  Andrew Cagney  <cagney@gnu.org>

	* MAINTAINERS: Orphan ppc.

2009-04-30  Anthony Green  <green@moxielogic.com>

	* MAINTAINERS: Add myself for the moxie port.
	* moxie: New directory.
	* configure.ac: Add entry for moxie.
	* configure: Regenerate.

2009-04-27  Tristan Gingold  <gingold@adacore.com>

	* avr: New directory.
	* configure.ac: Add avr.
	* configure: Regenerated.

2009-04-17  Carlos O'Donell  <carlos@codesourcery.com>

	* Makefile.in: Add dummy install-pdf, html, and
	install-html targets.

2008-07-29  Nick Clifton  <nickc@redhat.com>

	* common/genmloop.sh: Add new parameter: -shell to specify the
	command interpreter to use to run the input file.  This is
	necessary because otherwise SHELL is taken from the user's
	environment, and not from the makefile that invoked this script
	and the user might not be running an sh-like shell.
	* cris/Makefile.in: Pass -shell parameter to genmloop.sh.
	* fr30/Makefile.in: Likewise.
	* frv/Makefile.in: Likewise.
	* i960/Makefile.in: Likewise.
	* iq2000/Makefile.in: Likewise.
	* m32r/Makefile.in: Likewise.

	* frv/mloop.in: Add missing start of line comment marker.

2008-05-09  Olivier Hainque  <hainque@adacore.com>

	* ppc/altivec.igen (vperm): Latch inputs into temporaries.

2008-03-25  M R Swami Reddy <MR.Swami.Reddy@nsc.com>

	* MAINTAINERS: Add myself as maintainer of cr16 port.

2008-02-12  M Ranga Swami Reddy <MR.Swami.Reddy@nsc.com>

	Add simulator for National cr16 processor.
	* cr16: New directory.
	* configure.ac: Add entry for National cr16.
	* configure: Regenerate.

2008-02-05  DJ Delorie  <dj@redhat.com>

	* configure.ac (v850): V850 now has a testsuite.
	* configure (v850): Likewise.

2008-01-01  Daniel Jacobowitz  <dan@codesourcery.com>

	Updated copyright notices for most files.

2007-12-19  DJ Delorie  <dj@redhat.com>

	* frv/frv.c (frvbf_cut): Only look at the six LSBs of
	cut_point.

2007-08-24  Joel Brobecker  <brobecker@adacore.com>

	Switch the license of all files explicitly copyright the FSF
	to GPLv3.

2007-03-27  Brooks Moses  <brooks.moses@codesourcery.com>

	* Makefile.in: Add dummy "pdf" target.

2007-02-16  Thiemo Seufer  <ths@mips.com>

	* Makefile.in (FLAGS_TO_PASS, TARGET_FLAGS_TO_PASS): Add RUNTEST.

2007-01-28  Manuel Lauss  <slauss@resi.at>

	* configure.ac (sh64-*-*): Change to sh64*-*-*.
	(sh-*-*): Change to sh*-*-*.
	* configure: Regenerated.

2007-01-09  Daniel Jacobowitz  <dan@codesourcery.com>

	Updated copyright notices for most files.

2006-12-20  Hans-Peter Nilsson  <hp@axis.com>

	* Makefile.in (autoconf-common autoheader-common): Only run
	autoheader on subdirs with a file config.in.

	* configure.ac (common): Make the default "yes" for all targets
	with sim subdirs.
	* configure: Regenerate.

	* Makefile.in (autoconf-common autoheader-common): In documented
	usage, say SHELL=/bin/sh.
	(.PHONY): Add autoheader-common.

	* MAINTAINERS: Add self as authorized committer for *.

2006-09-30  Daniel Jacobowitz  <dan@codesourcery.com>

	* MAINTAINERS: Add Dave Brolley for sh64.

2006-08-08  Joel Sherrill <joel.sherrill@oarcorp.com>

	* configure.ac (sparc-*-rtems*|sparc-*-elf*): Enable erc32 simulator.
	* Makefile.in (FLAGS_TO_PASS): Include libdir.
	* configure: Regenerated.

2006-05-05  Andreas Schwab  <schwab@suse.de>

	* configure.ac (CFLAGS_FOR_BUILD): Set and substitute.
	* configure: Regenerate.

	* Makefile.in (CFLAGS_FOR_BUILD): Define.
	(CC_FOR_BUILD): Don't override.
	(FLAGS_TO_PASS): Pass CFLAGS_FOR_BUILD.

2006-05-04  Daniel Jacobowitz  <dan@codesourcery.com>

	* MAINTAINERS: Add an "Authorized committers" section, and list
	DJ Delorie for v850.

2006-03-13  DJ Delorie  <dj@redhat.com>

	* MAINTAINERS: Add self as m32c sim maintainer.

2006-01-23  Jim Blandy  <jimb@redhat.com>

	Add simulator for Renesas M32C and M16C.

	* m32c: New directory.
	* configure.ac: Add entry for Renesas M32C.
	* configure: Regenerate.

2005-05-26  Chris Demetriou  <cgd@netbsd.org>

	* MAINTAINERS: Update my mail address, move myself to the
	"Past maintainers" section.

2005-05-17  Corinna Vinschen  <vinschen@redhat.com>

	* configure.ac: Add igen to v850 build.
	* configure: Regenerate.

2005-04-29  Paul Brook  <paul@codesourcery.com>

	* common/callback.c (PIPE_BUF): Provide default definition.
	(os_lstat): Use stat if lstat is not available on the host.
	(os_ftruncate): Return EINVAL if not available on the host.
	(os_truncate): Ditto.
	* common/configure.ac: Check for lstat, truncate and ftruncate.
	* common/configure: Regenerate.
	* common/config.in: Regenerate.

2005-04-27  Paul Brook  <paul@codesourcery.com>

	* common/Make-common.in: Add $(EXEEXT) to "run".

2005-04-15  Corinna Vinschen  <vinschen@redhat.com>

	* configure.ac: Add explicit sh64 case.
	* configure: Regenerate.

2005-03-30  Paul Brook  <paul@codesourcery.com>

	* arm/wrapper.c: Provide SIGTRAP and SIGBUS.

2005-02-28  Jim Blandy  <jimb@redhat.com>

	* d10v/configure.ac, igen/configure.ac, m68hc11/configure.ac,
	mips/configure.ac, mn10300/configure.ac, v850/configure.ac:
	Regenerated, after change to common/aclocal.m4.

2005-02-18  Corinna Vinschen  <vinschen@redhat.com>

	* iq2000: New target subdirectory.
	* configure.ac: Add iq2000 target.
	* configure: Regenerate.

2005-01-29  Hans-Peter Nilsson  <hp@axis.com>

	* Makefile.in (all, clean mostlyclean, distclean maintainer-clean)
	(realclean, install): Fail if subdir make failed.

2005-01-28  Hans-Peter Nilsson  <hp@axis.com>

	* cris: New directory, simulator for Axis Communications CRIS
	including CRIS v32, CGEN-based.
	* configure.ac: Add corresponding configury.
	* configure: Regenerate.

2005-01-17  Andrew Cagney  <cagney@gnu.org>

	* configure.ac: For mips*-*-* and mn10300*-*-* configure the
	common directory.  Remove sparc*-*-* from list.

2005-01-11  Andrew Cagney  <cagney@gnu.org>

	* Makefile.in (autoconf-common autoheader-common): Add --force to
	autoconf and autoheader.
	(autoconf-common autoheader-common)
	(autoconf-install autoheader-install): Check for configure.ac, not
	configure.in.
	* configure.ac: Delete AC_CONFIG_AUX_DIR.
	* configure: Re-generate.

2005-01-07  Andrew Cagney  <cagney@gnu.org>

	* configure.ac: Replace configure.in.  Requires autoconf 2.59 and
	correctly calls AC_CONFIG_SUBDIRS.
	* configure: Re-generate.

2004-12-01  Andrew Cagney  <cagney@gnu.org>

	* i960, h8500: Delete directory.

2004-11-12  Andrew Cagney  <cagney@gnu.org>

	* d30v, fr30, mn10200, z8k: Delete directory.

2004-03-10  Ben Elliston  <bje@gnu.org>

	* MAINTAINERS: Update my mail address.

2004-01-26  Chris Demetriou  <cgd@broadcom.com>

	* configure.in (mips*-*-*): Configure in testsuite.
	* configure: Regenerate.

2003-10-08  Dave Brolley  <brolley@redhat.com>

	* configure.in: Move frv handling to alphabetically correct placement.

2003-09-03  Andreas Schwab  <schwab@suse.de>

	* Makefile.in (FLAGS_TO_PASS): Pass down $(bindir) and $(mandir).

2003-08-29  Dave Brolley  <brolley@redhat.com>

	* MAINTAINERS: Add myself as maintainer of the FRV port.

2003-08-20  Michael Snyder  <msnyder@redhat.com>
	    Dave Brolley  <brolley@redhat.com>

	* frv/: New directory, simulator for the Fujitsu FRV.
	* configure.in: Add frv configury.
	* configure: Regenerate.

2003-08-10  Ben Elliston  <bje@wasabisystems.com>

	* MAINTAINERS: Update my mail address.

2003-08-09  Andrew Cagney  <cagney@redhat.com>

	* MAINTAINERS: Andrew Cagney (mips) and Geoff Keating (ppc) drop
	maintenance.  List igen and sh maintainers.  Mention that target
	and global maintainers pick up the slack.

2003-07-09  Michael Snyder  <msnyder@redhat.com>

	* configure.in: Add testsuite to extra_subdirs for sh.
	* configure: Regenerate.

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

	* Add sh2e support:

2002-04-02  Alexandre Oliva  <aoliva@redhat.com>

	* sh/gencode.c: Replace sh3e with sh2e except in fsqrt.

2002-08-24  Geoffrey Keating  <geoffk@redhat.com>

	* MAINTAINERS: Update my email address.

2002-07-17  Andrew Cagney  <ac131313@redhat.com>

	* w65/: Delete directory.

2002-07-16  Andrew Cagney  <ac131313@redhat.com>

	* configure.in (extra_subdirs): Mark fr30-*-* as obsolete.
	* configure: Re-generate.

2002-07-13  Andrew Cagney  <ac131313@redhat.com>

	* configure.in (extra_subdirs): Mark d30v-*-* as obsolete.
	* configure: Re-generate.

2002-06-16  Andrew Cagney  <ac131313@redhat.com>

	* Makefile.in (autoconf-changelog autoheader-changelog): Let name,
	id, date and host to be overriden by NAME, ID, DATE and HOST
	respectfully.  Use ISO dates.

Thu Jun  6 12:34:13 2002  Andrew Cagney  <cagney@redhat.com>

	* Makefile.in (ChangeLog): New makefile variable.
	* README-HACKING: Mention the ChangeLog makefile variable.

2002-06-01  Andrew Cagney  <ac131313@redhat.com>

	* tic80/: Delete directory.

2002-05-16  Stephane Carrez  <stcarrez@nerim.fr>

	* MAINTAINERS: Update my email address.

2002-03-06  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* MAINTAINERS: Record self as maintainer of m68hc11 simulator.

2002-03-01  Frank Ch. Eigler  <fche@redhat.com>

	* MAINTAINERS: Record self as a co-maintainer of just common/.

2002-02-07  Nick Clifton  <nickc@cambridge.redhat.com>

	* MAINTAINERS: Point to GDB files describing overall maintaince
	and check-in procedures.

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

	* MAINTAINERS: Add myself for ARM portions.

2001-10-19  Andrew Cagney  <ac131313@redhat.com>

	* configure.in: When Linux or NetBSD, enable PowerPC simulator.
	* configure: Re-generate.

2001-02-16  Ben Elliston  <bje@redhat.com>

	* MAINTAINERS: Add myself for common portions.

2001-01-15  Chris Demetriou  <cgd@broadcom.com>

	* MAINTAINERS: Added self and Andrew for the mips sim.

2000-10-25  Geoff Keating  <geoffk@cygnus.com>

	* MAINTAINERS: Added self and Andrew for the ppc sim.

Thu Jul 27 21:26:26 2000  Andrew Cagney  <cagney@b1.cygnus.com>

	From Stephane Carrez <Stephane.Carrez@worldnet.fr>:
	* m68hc11: New directory.
	* configure.in: Add.
	* configure: Regenerate.

Tue Jul  4 13:43:54 2000  Andrew Cagney  <cagney@b1.cygnus.com>

	* tic80: New directory.
	* configure.in: Add configury.
	* configure: Regenerate.

2000-04-20  Nick Clifton  <nickc@cygnus.com>

	* configure.in (extra_subdirs): Add testsuite to strongarm
	directories.
	* configure: Regenerate.

Sat Mar  4 16:48:54 2000  Andrew Cagney  <cagney@b1.cygnus.com>

	* MAINTAINERS: New file.  Blank.

1999-11-18  Ben Elliston  <bje@cygnus.com>

	* configure.in: Require autoconf 2.13 and remove obsolete
	invocation of AC_C_CROSS.
	* configure: Regenerate.

1999-09-29  Doug Evans  <devans@casey.cygnus.com>

	* configure.in: Configure the testsuite directory for thumb.
	* configure: Regenerate.

1999-07-16  Ben Elliston  <bje@cygnus.com>

	* configure.in: Configure the testsuite directory for arm.
	* configure: Regenerate.

1999-04-08  Nick Clifton  <nickc@cygnus.com>

	* configure.in: Add support for MCore target.
	* configure: Regenerate.

1999-03-14  Stan Shebs  <shebs@andros.cygnus.com>

	* Makefile.in (FLAGS_TO_PASS, TARGET_FLAGS_TO_PASS): Remove
 	RUNTEST instead of commenting out, fixes portability problem.

1999-02-08  Nick Clifton  <nickc@cygnus.com>

	* configure.in: Add support for StrongARM target.
	* configure: Regenerate.

1999-01-04  Jason Molenda  (jsm@bugshack.cygnus.com)

	* configure.in: Require autoconf 2.12.1 or higher.

1998-12-08  James E Wilson  <wilson@wilson-pc.cygnus.com>

	* configure.in (i960-*-*): Add.
	* configure: Rebuild.

Wed Nov  4 19:11:43 1998  Dave Brolley  <brolley@cygnus.com>

	* configure.in: Added case for fr30-*-*.
	* configure: Regenerated.

Fri Sep 25 10:12:19 1998  Christopher Faylor <cgf@cygnus.com>

	* ppc/Makefile.in: Add EXEEXT to installed powerpc-eabi-run program
	to allow successful operation on Windows.

Thu May 28 14:59:46 1998 Jillian Ye <jillian@cygnus.com>

	* Makefile.in: Take RUNTEST out of FLAGS_TO_PASS so that make
	check can be invoked recursively.

Wed Apr 29 12:38:53 1998  Mark Alexander  <marka@cygnus.com>

	* configure.in: Build simulator on sparclite and sparc86x targets.
	* configure: Regenerate.

Sun Apr 26 15:21:01 1998  Tom Tromey  <tromey@cygnus.com>

	* Makefile.in (autoconf-common autoheader-common): Don't pass -l
	to autoconf and autoheader.

Fri Apr 24 11:14:13 1998  Tom Tromey  <tromey@cygnus.com>

	* Makefile.in (autoconf-common autoheader-common): Pass `-l
	../common' to autoconf and autoheader.  Unconditionally run
	autoconf in every subdir.
	(autoconf-changelog autoheader-changelog): Unconditionally run
	commands in every subdir.
	(autoconf-install autoheader-install): Likewise.

Tue Mar 24 17:12:43 1998  Stu Grossman  <grossman@bhuna.cygnus.co.uk>

	* Makefile.in:  Get SHELL from configure.
	* (FLAGS_TO_PASS):  Pass down SHELL.
	* configure:  Regenerate with autoconf 2.12.1 to fix shell issues for
	NT native builds.

Tue Mar 24 11::18:00 1998  Joyce Janczyn  <janczyn@cygnus.com>

	* configure.in (extra_subdirs): Enable igen for mn10300.
	* configure: Re-generate.

Tue Dec  2 10:10:42 1997  Nick Clifton  <nickc@cygnus.com>

	* configure.in (extra_subdirs): Add support for thumb target.

	* configure (extra_subdirs): Add support for thumb target.

Wed Oct  8 12:38:48 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure.in (extra_subdirs): Add IGEN directory when MIPS
 	target.
	* configure: Regenerate.

Fri Sep 12 13:10:31 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure.in (extra_subdirs): v850ea needs igen.
	* configure: Re-generate.

Mon Sep  1 16:48:23 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure.in (testdir): When a testsuite directory, add that to
 	the list of confdirs.

Tue Aug 19 11:17:46 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure.in (extra_subdirs): Enable igen ready for V850.

Tue Aug 26 15:14:48 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure.in (w65-*-*, only_if_enabled): Set.
	* configure: Re-generate.

Mon Aug 25 16:26:53 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure.in (sparc*-*-*, only_if_enabled): Set
 	only_if_enabled=yes.  Check only_if_enabled before enabling a
 	simulator.
	* configure: Regenerate.

Mon Aug 18 10:56:59 1997  Nick Clifton  <nickc@cygnus.com>

	* configure.in (extra_subdirs): Add v850e target.

Mon Aug 18 10:56:59 1997  Nick Clifton  <nickc@cygnus.com>

	* configure.in (extra_subdirs): Add v850ea target.

Fri Jul 25 11:40:47 1997  Doug Evans  <dje@canuck.cygnus.com>

	* configure.in (sparc*-*-*): Don't build erc32.
	* configure: Regenerate.

Thu Apr 24 00:47:20 1997  Doug Evans  <dje@canuck.cygnus.com>

	* configure.in (m32r-*-*): New target.
	* configure: Regenerate.

	* Makefile.in (autoconf-common, autoconf-changelog): Change $* to $@.

Mon Apr 21 22:57:55 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* Makefile.in (.NOEXPORT, MAKEOVERRIDES): Moved to end, BSD make
 	thought that .NOEXPORT was the default target.

Fri Apr 11 17:18:07 1997  Ian Lance Taylor  <ian@cygnus.com>

	* Makefile.in (clean mostlyclean): Restore targets accidentally
	deleted in earlier change.

Thu Apr  3 12:20:32 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* Makefile.in (autoheader-common, autoheader-changelog,
 	autoheader-install): Perform autoheader in addition to autoconf.

Wed Apr  2 15:09:05 1997  Doug Evans  <dje@canuck.cygnus.com>

	* Makefile.in (autoconf-install): New target.
	(autoconf-changelog): Try different way to obtain user name.

Wed Apr  2 14:25:52 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* Makefile.in (autoconf-changelog): New target, update
 	ChangeLog for all subdirectories - normally used after
 	autoconf-common target.

Wed Mar 19 14:26:21 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* configure.in (extra_subdirs): Include testsuite for d30v.
	* configure: Regenerate.

	* Makefile.in (RUNTEST, RUNTESTFLAGS): Borrow test rules from
 	../gdb/Makefile.in
	(check): New rules - drive the testsuite.

Mon Mar  3 13:01:00 1997  Jeffrey A Law  (law@cygnus.com)

	* configure.in: Add mn10200 configure lines accidentally
	removed.
	* configure: Regenerated.

Wed Feb 19 10:34:20 1997  Andrew Cagney  <cagney@critters.cygnus.com>

	* configure.in (extra_subdirs): Generalize common sub directory
 	into a list.
	(extra_subdirs): For d30v add igen to the list to be built.

Sun Feb 16 16:37:47 1997  Andrew Cagney  <cagney@critters.cygnus.com>

	* configure.in (d30v): New target.
	* configure: Regenerated.

Wed Feb 19 23:17:13 1997  Jeffrey A Law  (law@cygnus.com)

	* configure.in: Don't require GCC to build the mn10200
	simulator anymore.
	* configure: Rebuilt.

Wed Feb  5 13:28:13 1997  Doug Evans  <dje@canuck.cygnus.com>

	* configure.in: Don't configure any subdirs if no simulator
	is being built.  Don't use erc32 for sparc64.
	* configure: Regenerated.

Tue Feb  4 13:19:39 1997  Doug Evans  <dje@canuck.cygnus.com>

	* Makefile.in (autoconf-common): New target.
	* configure.in: Do configure common.
	* configure: Regenerated.

Thu Jan 23 13:59:52 1997  Stu Grossman  (grossman@critters.cygnus.com)

	* configure configure.in:  Don't configure common anymore.  Files
	from common are now built in the individual simualtor directories.
	This fixes problems with the WinGDB build procedure.

Mon Jan 13 13:16:42 1997  Jeffrey A Law  (law@cygnus.com)

	* configure: Enable the mn10200 simulator.

Wed Nov 20 01:00:36 1996  Doug Evans  <dje@canuck.cygnus.com>

	* configure.in (configdirs): Add common.
	* configure: Regenerated.

Fri Nov  1 08:03:30 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* configure.in (powerpc*-*-linux*): Treat like the other powerpc
	system V based targets.
	* configure: Regenerate.

Thu Oct 17 12:50:08 1996  Doug Evans  <dje@canuck.cygnus.com>

	* configure.in (--enable-sim-powerpc): Delete.
	(--enable-sim): Add.
	* configure: Regenerated.

Fri Oct 11 21:13:43 1996  Jeffrey A Law  (law@cygnus.com)

	* configure.in: Only build the V850 simulator if
	we are using gcc.
	* configure: Rebuild.

Sun Sep  8 17:22:50 1996  Ian Lance Taylor  <ian@cygnus.com>

	* configure.in: Do build erc32 for DOS and Windows hosts.
	* configure: Rebuild.

Wed Sep  4 18:11:27 1996  Stu Grossman  (grossman@critters.cygnus.com)

	* Makefile.in erc32/Makefile.in:  Don't set srcroot.  This should
	be inherited from the parent.  Remove INSTALL_XFORM and
	INSTALL_XFORM1.  Make INSTALL be set from configure.

Wed Sep  4 15:49:16 1996  Ian Lance Taylor  <ian@cygnus.com>

	* configure.in: Only build the MIPS simulator if we are using
	gcc.
	* configure: Rebuild.

Wed Aug 28 19:05:23 1996  Jeffrey A Law  (law@cygnus.com)

	* configure.in (v850-*-*): Added V850 simulator.

Thu Aug  1 17:08:41 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>

	* configure.in (d10v-*-*): Added D10V simulator.

Wed Jun 26 12:33:57 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)

	* Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
	INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
	(docdir): Removed.
	* configure.in (AC_PREREQ): autoconf 2.5 or higher.
	(AC_PROG_INSTALL): Added.
	* configure: Rebuilt.

Mon Jun 24 14:18:26 1996  Ian Lance Taylor  <ian@cygnus.com>

	* configure.in: Only configure erc32 if using gcc.
	* configure: Rebuild.

Tue Jun  4 09:24:21 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* configure.in (sim_target): Build PowerPC simulator for powerpc
	System V.4, Solaris, and Elf targets.
	* configure: Regenerate with autoconf 2.10.

Wed May 22 12:10:49 1996  Rob Savoye  <rob@chinadoll>

	* configure.in: Only built erc32 simulator on Unix hosts as it
	uses pseudo ttys.
	* configure: Regenerated with autoconf 2.8.

Sun May 19 20:20:40 1996  Rob Savoye  <rob@chinadoll.cygnus.com>

	* erc32: Sparc simulator from the ESA.

Sun Apr  7 21:00:09 1996  Fred Fish  <fnf@cygnus.com>

	From: Miles Bader  <miles@gnu.ai.mit.edu>
	* configure.in: Use AC_CHECK_TOOL to find AR & RANLIB.
	* configure: Regenerate using autoconf.

Thu Feb 22 11:31:50 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* Makefile.in (install): Fix typo.

Wed Feb 21 11:59:57 1996  Ian Lance Taylor  <ian@cygnus.com>

	* configure: Regenerate with autoconf 2.7.

	* Makefile.in (all): Simplify.
	(clean, mostlyclean): SUBDIRS may contain whitespace; fix the loop
	as in the all target.
	(distclean, maintainer-clean, realclean): Likewise.
	(install): Likewise.

Thu Feb 15 18:37:00 1996  Fred Fish  <fnf@cygnus.com>

	* Makefile.in (all): Remove extra '\' char from shell script.

Wed Feb 14 16:43:59 1996  Mike Meissner  <meissner@tiktok.cygnus.com>

	* Makefile.in (all): Avoid a for loop with zero elements, even if
	the loop will not be executed because of an if statement.

Wed Jan 31 21:48:34 1996  Fred Fish  <fnf@cygnus.com>

	* Makefile.in (install): Add missing semicolon in "fi \".

Thu Nov  9 16:10:56 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* Makefile.in (AR, CC, CFLAGS, CC_FOR_BUILD, RANLIB): Pick up
	defaults from configure.

	* configure.in: Pick up AR, CC, CFLAGS, CC_FOR_BUILD, RANLIB using
	configure defaults.
	(powerpc*-*-eabi*): Build simulator for all powerpc eabi targets
	if either --enable-sim-powerpc is used, or the host compiler is
	GCC.

Wed Nov  8 15:46:49 1995  James G. Smith  <jsmith@pasanda.cygnus.co.uk>

	* configure.in (mips*-*-*): Added "mips" simulator target.
	* configure: Re-generated.

Tue Oct 10 11:08:20 1995  Fred Fish  <fnf@cygnus.com>

	* Makefile.in (BISON): Remove macro.
	(FLAGS_TO_PASS): Remove BISON.

Sun Oct  8 04:26:27 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)

	* configure.in:  Explicitly `exit 0' for broken shells.
	* configure:  Rebuilt.

Fri Oct  6 12:03:27 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* common/run.c (main): Initialize the callbacks.

Wed Sep 20 13:34:50 1995  Ian Lance Taylor  <ian@cygnus.com>

	* Makefile.in (maintainer-clean): New synonym for realclean.

Fri Aug 25 11:53:43 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* configure.in (powerpc*-*-eabisim*): Only build the simulator if
	the target is powerpc*-*-eabisim*, since it requires GCC to build.

Mon Aug 21 17:53:48 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* configure.in (powerpc{,le}-*-*): Add psim from Andrew Cagney
	<cagney@highland.com.au>.
	* configure: Regnerate from configure.in.

Thu Aug  3 10:45:37 1995  Fred Fish  <fnf@cygnus.com>

	* Update all FSF addresses except those in COPYING* files.

Thu Jul 20 15:17:29 1995  Fred Fish  <fnf@cygnus.com>

	* Makefile.in (CC_FOR_BUILD):  Define default and arrange to pass
	submakes either default or passed in value.

Wed Jul  5 14:32:54 1995  J.T. Conklin  <jtc@rtl.cygnus.com>

	* Makefile.in (all, clean, distclean, mostlyclean, realclean,
	  install): Changed targets so that they descend all
	  subdirectories in $(SUBDIRS).
	  (*-all, *-clean, *-install): Removed targets.

	* configure.in: Don't bother with target makefile fragments, they
	  are no longer needed.
	* configure: regenerated.

	* Makefile.in, configure.in: converted to autoconf.
	* configure: New file, generated with autconf 2.4.

Wed May 24 14:48:46 1995  Steve Chamberlain  <sac@slash.cygnus.com>

	* Makefile.in: Support ARM.
	* configure.in: Ditto.

Sun Jan 15 16:53:47 1995  Steve Chamberlain  <sac@splat>

	* Makefile.in: Support W65.
	* configure.in: Ditto.

Sun Mar 13 09:27:50 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)

	* Makefile.in: Add TAGS target.

Mon Sep 13 12:47:15 1993  K. Richard Pixley  (rich@sendai.cygnus.com)

	* Makefile.in (all-z8k, install-z8k, clean-z8k, all-h8300,
	  install-h8300, clean-h8300, all-h8500, install-h8500,
	  clean-h8500, all-sh, install-sh, clean-sh): do not echo
	  recursion lines.

Wed Jun 30 14:12:05 1993  david d `zoo' zuhn  (zoo at poseidon.cygnus.com)

	* Makefile.in: remove endian.h trace from h8500

Sun Jun 13 13:08:58 1993  Jim Kingdon  (kingdon@cygnus.com)

	* Makefile.in: Add distclean, realclean, and mostlyclean targets.

Fri May 21 11:21:16 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)

	* Makefile.in: make all of the all-* target (except all-nothing)
	depend on endian.h, so that if we're not building a simulator, we
	don't built endian

Fri May 21 10:55:06 1993  Ian Lance Taylor  (ian@cygnus.com)

	* Makefile.in (check, installcheck): Added dummy targets.

Mon May  3 21:39:43 1993  Fred Fish  (fnf@cygnus.com)

	* Makefile.in (endian): Find endian.c in $(srcdir), and also
	explicitly make it, since some makes apparently don't work with
	VPATH and .c to executable rules (SunOS make for example).

Mon May  3 08:29:01 1993  Steve Chamberlain  (sac@thepub.cygnus.com)

	* Makefile.in (endian): Add explicit rule for broken makes.

Mon Mar 15 15:47:53 1993  Ian Lance Taylor  (ian@cygnus.com)

	* Makefile.in (info, install-info): New targets.
	(DO_INSTALL): Renamed from INSTALL, which is overridden by the top
	level Makefile.

Wed Feb 10 20:12:27 1993  K. Richard Pixley  (rich@ok.cygnus.com)

	* Makefile.in (endian.h): build endian.h via a temporary file so
	  that we don't leave an incomplete file lying around on
	  interrupted builds.
	  (clean): remove endian, e.h, and endian.h.

Mon Feb  8 11:46:06 1993  Steve Chamberlain  (sac@thepub.cygnus.com)

	* Makefile.in, configure.in: if target isn't supported, build a
	harmless makefile.
