2004-11-04  Release Manager

	* GCC 3.4.3 released.

2004-09-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/17369
	* gcc-lib-path.m4: New file.

2004-09-06  Release Manager

	* GCC 3.4.2 released.

2004-07-01  Release Manager

	* GCC 3.4.1 released.

2004-04-18  Release Manager

	* GCC 3.4.0 released.

2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>

	* gettext.m4: Properly quote arguments to AC_DEFUN.

2003-09-24  Daniel Jacobowitz  <drow@mvista.com>

	* acx.m4 (AC_PROG_CPP_WERROR): New.

2003-08-27  Daniel Jacobowitz  <drow@mvista.com>

	* no-executables.m4: New file.

2003-07-07  Zack Weinberg  <zack@codesourcery.com>

	* gettext.m4: Delete all former contents.
	(ZW_GNU_GETTEXT_SISTER_DIR): New macro.
	* progtest.m4: New file.

2003-07-04  Zack Weinberg  <zack@codesourcery.com>

	* gettext.m4: New file - copy of gettext.m4 from binutils
	CVS, with added AC_ISC_POSIX macro from gcc/aclocal.m4.

2003-05-14  Kelley Cook  <kelleycook@wideopenwest.com>

	* acinclude.m4: Accept i[3456789]86 for machine type.

2003-05-18  Nathanael Nerode  <neroden@gcc.gnu.org>

	* acx.m4: Introduce _GCC_TOPLEV_NONCANONICAL_BUILD,
	_GCC_TOPLEV_NONCANOICAL_HOST, _GCC_TOPLEV_NONCANONICAL_TARGET,
	GCC_TOPLEV_SUBDIRS.

2003-03-04  Nathanael Nerode  <neroden@gcc.gnu.org>

	* mh-dgux: Delete.

2002-12-28  Alexandre Oliva  <aoliva@redhat.com>

	* acx.m4: Name cache variables properly.
	(NCN_STRICT_CHECK_TOOL): If program is not found and
	value-if-not-found is empty, use ${ncn_tool_prefix}$2 or $2,
	depending on whether build != host or not.
	(NCN_STRICT_CHECK_TARGET_TOOL): Ditto, with the target prefix.

2002-12-28  Nathanael Nerode  <neroden@gcc.gnu.org>

	* acx.m4: New.
	* mh-a68bsd, mh-aix386, mh-apollo68, mh-delta88, mh-hp300,
	mh-hpux, mh-hpux8, mh-irix5, mh-irix6, mh-ncrsvr43, mh-openedition,
	mh-riscos, mh-sysv: Delete.
	* mh-cxux, mh-dgux386, mh-interix, mh-lynxrs6k, mh-ncr3000,
	mh-necv4, mh-sco, mh-solaris, mh-sysv4, mh-sysv5, mt-v810: Simplify.

2002-12-16  Christopher Faylor  <cgf@redhat.com>

	* mh-cygwin: Don't build libtermcap if it doesn't exist.

2002-12-22  Geoffrey Keating  <geoffk@apple.com>

	* mt-aix43: Delete.

2002-11-23  H.J. Lu <hjl@gnu.org>

	* accross.m4: New.

2002-11-10  Stan Shebs  <shebs@apple.com>

	Retire common MPW configury bits.
	* mpw-mh-mpw: Remove.
	* mpw: Remove directory along with all of its files.

2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* acinclude.m4: Allow for PWDCMD to override hardcoded pwd.

2002-05-13  Nathanael Nerode  <neroden@twcny.rr.com>

	* mh-apollo68: remove unused HDEFINES setting.
	* mh-dgux: remove unused HDEFINES setting.
	* mh-dgux386: remove unused HDEFINES setting, duplicate RANLIB=true.

2002-04-29  Nathanael Nerode  <neroden@twcny.rr.com>

	* mh-cxux: remove dead code
	* mh-dgux386: remove dead code
	* mh-hp300: remove dead code
	* mh-hpux: remove dead code
	* mh-hpux8: remove dead code
	* mh-irix5: remove dead code
	* mh-irix6: remove dead code
	* mh-ncr3000: remove dead code
	* mh-ncrsvr43: remove dead code
	* mh-necv4: remove dead code
	* mh-sco: remove dead code
	* mh-solaris: remove dead code
	* mh-sysv: remove dead code
	* mh-sysv4: remove dead code
	* mh-sysv5: remove dead code
	* mh-irix4: remove, contains only dead code

	* mt-armpic: Delete.
	* mt-elfalphapic: Delete.
	* mt-i370pic: Delete.
	* mt-ia64pic: Delete.
	* mt-m68kpic: Delete.
	* mt-papic: Delete.
	* mt-ppcpic: Delete.
	* mt-s390pic: Delete.
	* mt-sparcpic: Delete.
	* mt-x86pic: Delete.

2002-04-19  Nathanael Nerode  <neroden@twcny.rr.com>

	* mh-a68bsd: clean out dead code
	* mh-apollo68: clean out dead code
	* mh-cxux: clean out dead code
	* mh-decstation: clean out dead code
	* mh-dgux: clean out dead code
	* mh-dgux386: clean out dead code
	* mh-hp300: clean out dead code
	* mh-hpux: clean out dead code
	* mh-hpux8: clean out dead code
	* mh-interix: clean out dead code
	* mh-irix4: clean out dead code
	* mh-lynxrs6k: clean out dead code
	* mh-mingw32: clean out dead code
	* mh-ncr3000: clean out dead code
	* mh-ncrsvr43: clean out dead code
	* mh-necv4: clean out dead code
	* mh-openedition: clean out dead code
	* mh-riscos: clean out dead code
	* mh-sco: clean out dead code
	* mh-sysv4: clean out dead code
	* mh-lynxos: removed, contained only dead code
	* mh-vaxult2: removed, contained only dead code
	* mh-sun3: removed, contained only dead code

2002-04-15  Keith Seitz  <keiths@redhat.com>

	* acinclude.m4 (CYG_AC_PATH_TCLCONFIG): Search the win/ directory,
	too.
	(CYG_AC_PATH_TKCONFIG): Likewise.

2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>

	* acinclude.m4: Fix spelling error of "separate" as "seperate".

2001-05-22  Jason Merrill  <jason_merrill@redhat.com>

	* mt-linux (CXXFLAGS_FOR_TARGET): Lose -fvtable-thunks.

2001-01-27  Richard Henderson  <rth@redhat.com>

	* mt-alphaieee: New file.

2001-01-02  Laurynas Biveinis  <lauras@softhome.net>

	* mh-djgpp: do not set CFLAGS.

2000-08-04  Mark Elbrecht  <snowball3@bigfoot.com>

	* mh-djgpp: Conditionally set 'target_alias' to djgpp. Conditionally
	modify 'gcc_version'.

2000-07-21  Andrew Haley  <aph@cygnus.com>

	* mh-ia64pic: New file.
	* mt-ia64pic: New file.

2001-02-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* mh-s390pic: New file.
	* mt-s390pic: New file.

2000-09-26  David Edelsohn  <edelsohn@gnu.org>

	* mt-aix43 (NM_FOR_TARGET): Add -B bsd-style flag.

2000-07-14  Mark P Mitchell  <mark@codesourcery.com>

	* mh-irix6 (CC): Don't set it.

2000-06-21  Branko Cibej  <branko.cibej@hermes.si>

	* mh-sparcpic: Use single instead of double quotes.
	* mt-sparcpic: Likewise.

2000-06-19  Syd Polk <spolk@redhat.com>

	* acinclude.m4: Updated for Incr Tcl 3.0.

2000-02-23  Linas Vepstas <linas@linas.org>

	* mh-i370pic: New file.
	* mt-i370pic: New file.

2000-02-22  Nick Clifton  <nickc@cygnus.com>

	* mt-wince: new file: Makefile fragment for WinCE targets.

2000-01-06  Geoff Keating  <geoffk@cygnus.com>

	* mh-aix43: Delete, move to mt-aix43.
	* mt-aix43: New file.

Tue Sep  7 23:31:01 1999  Linas Vepstas  <linas@linas.org>

	* mh-openedition: New file.

1999-04-07  Michael Meissner  <meissner@cygnus.com>

	* mt-d30v: New file, pass -g -Os -Wa,-C as default options.

Thu Mar 18 00:17:50 1999  Mark Elbrecht <snowball3@usa.net>

	* mh-go32: Delete.
	* mh-djgpp: New. Renamed from mh-go32.

Wed Feb 24 12:52:17 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* mh-windows: Ditto.

1999-02-08  Syd Polk  <spolk@cygnus.com>

	* acinclude.m4: Added macros to find itcl files.
	Export TCL_CFLAGS from tclConfig.sh.
	Export TCL_LIB_FULL_PATH, TK_LIB_FULL_PATH, ITCL_LIB_FULL_PATH,
	ITK_LIB_FULL_PATH, and TIX_LIB_FULL_PATH
	Replace TIX macros with better ones from snavigator.

Tue Feb  2 22:51:21 1999 Philip Blundell  <philb@gnu.org>

	* mh-armpic: New file.  Patch from Jim Pick <jim@jimpick.com>.
	* mt-armpic: Likewise.

Sat Jan 30 08:04:00 1999  Mumit Khan  <khan@xraylith.wisc.edu>

	* mh-interix: New file.

Mon Jan 18 19:41:08 1999  Christopher Faylor <cgf@cygnus.com>

	* cygwin.mh: Activate commented out dependencies for
	gdb: libtermcap.

Wed Dec 30 20:34:52 1998  Christopher Faylor <cgf@cygnus.com>

	* mt-cygwin: Remove.

Wed Dec 30 01:13:03 1998  Christopher Faylor <cgf@cygnus.com>

	* mt-cygwin: New file.  libtermcap target info.

Wed Nov 18 20:29:46 1998  Christopher Faylor <cgf@cygnus.com>

	* cygwin.mh: Add extra libtermcap target information.
	Add commented out dependency for gdb to libtermcap for
	future readline requirement.

Mon Nov  2 15:15:33 1998  Geoffrey Noer  <noer@cygnus.com>

	* mh-cygwin32: delete
	* mh-cygwin: was mh-cygwin32

1998-10-26  Syd Polk  <spolk@cygnus.com>

	* acinclude.m4: TCLHDIR and TKHDIR need to be run through
	cygpath for Microsoft builds.

1998-10-20  Syd Polk  <spolk@cygnus.com>

	* acinclude.m4: Re-exported TCL_LIBS and TCL_LD_SEARCH_FLAGS
	because itcl needs them.

Mon Aug 31 17:50:53 1998  David Edelsohn  <edelsohn@mhpcc.edu>

	* mh-aix43 (NM_FOR_TARGET): Add -X32_64 as well.

Sat Aug 29 14:32:55 1998  David Edelsohn  <edelsohn@mhpcc.edu>

	* mh-aix43: New file.

Mon Aug 10 00:15:47 1998  HJ Lu (hjl@gnu.org)

	* mt-linux (CXXFLAGS_FOR_TARGET): Add -D_GNU_SOURCE.

1998-05-29  Rob Savoye  <rob@chinadoll.cygnus.com>

	* acinclude.m4: New collection of generic autoconf macros.

Wed Apr 22 12:24:28 1998  Michael Meissner  <meissner@cygnus.com>

	* mt-ospace: New file, support using -Os instead of -O2 to compile
	the libraries.

Wed Apr 22 10:53:14 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* mt-linux (CXXFLAGS_FOR_TARGET): Set this instead of CXXFLAGS.

Sat Apr 11 22:43:17 1998  J. Kean Johnston  <jkj@sco.com>

	* mh-svsv5: New file - support for SCO UnixWare 7 / SVR5.

Thu Mar 26 01:54:25 1998  Geoffrey Noer  <noer@cygnus.com>

	* mh-cygwin32: stop configuring and building dosrel.

Fri Feb  6 01:33:52 1998  Manfred Hollstein  <manfred@s-direktnet.de>

	* mh-sparcpic (PICFLAG): Define to properly according
	to current multilib configuration.
	* mt-sparcpic (PICFLAG_FOR_TARGET): Define to properly
	according to current multilib configuration.

Sun Jan  4 01:06:55 1998  Mumit Khan  <khan@xraylith.wisc.edu>

	* mh-mingw32: New file.

Thu Sep 11 16:43:27 1997  Jim Wilson  <wilson@cygnus.com>

	* mh-elfalphapic, mt-elfalphapic: New files.

1997-09-15 02:37  Ulrich Drepper  <drepper@cygnus.com>

	* mt-linux: Define CXXFLAGS to make sure -fvtable-thunks is used.

Sun Sep 14 20:53:42 1997  Geoffrey Noer  <noer@cygnus.com>

	* mh-cygwin32: ok to build split texinfo files

Wed Jul 23 12:32:18 1997  Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>

	* mh-go32 (CFLAGS): Don't set -fno-omit-frame-pointer.

Mon Jun 16 19:06:41 1997  Geoff Keating  <geoffk@ozemail.com.au>

	* mh-ppcpic: New file.
	* mt-ppcpic: New file.

Thu Mar 27 15:52:40 1997  Geoffrey Noer  <noer@cygnus.com>

	* mh-cygwin32: override CXXFLAGS, setting to -O2 only
	(no debug)

Tue Mar 25 18:16:43 1997  Geoffrey Noer  <noer@cygnus.com>

	* mh-cygwin32: override LIBGCC2_DEBUG_CFLAGS so debug info
	isn't included in cygwin32-hosted libgcc2.a by default

Wed Jan  8 19:56:43 1997  Geoffrey Noer  <noer@cygnus.com>

	* mh-cygwin32: override CFLAGS so debug info isn't included
	in cygwin32-hosted tools by default

Tue Dec 31 16:04:26 1996  Ian Lance Taylor  <ian@cygnus.com>

	* mh-linux: Remove.

Mon Nov 11 10:29:51 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* mt-ppc: Delete file, options moved to newlib configure.

Mon Oct 28 17:32:46 1996  Stu Grossman  (grossman@critters.cygnus.com)

	* mh-windows:  Add rules for building MSVC makefiles.

Thu Oct 24 09:02:07 1996  Stu Grossman  (grossman@critters.cygnus.com)

	* mh-windows (HOST_FLAGS):  Set srcroot, which is needed
	for MSVC build procedure.

Tue Oct  8 08:32:48 1996  Stu Grossman  (grossman@critters.cygnus.com)

	* mh-windows:  Add support for windows host
	(that is a build done under the Microsoft build environment).

Fri Oct  4 12:21:03 1996  Angela Marie Thomas (angela@cygnus.com)

	* mh-dgux386: New file.  x86 dgux specific flags

Mon Sep 30 15:10:07 1996  Stan Shebs  <shebs@andros.cygnus.com>

	* mpw-mh-mpw (EXTRALIBS_PPC_XCOFF): New, was EXTRALIBS_PPC.
	(EXTRALIBS_PPC): Use shared libraries instead of xcoff.

Sat Aug 17 04:56:25 1996  Geoffrey Noer  <noer@skaro.cygnus.com>

	* mh-cygwin32: don't -D_WIN32 here anymore

Sun Aug 11 20:51:50 1996  Stu Grossman  (grossman@critters.cygnus.com)

	* mh-cygwin32 (CFLAGS):  Define _WIN32 to be compatible
	with normal Windows compilation environment.

Thu Aug 15 19:46:44 1996  Stan Shebs  <shebs@andros.cygnus.com>

	* mpw-mh-mpw (SEGFLAG_68K, SEGFLAG_PPC): Remove.
	(EXTRALIBS_PPC): Add libgcc.xcoff.

Thu Aug  8 14:51:47 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* mt-ppc: New file, add -mrelocatable-lib and -mno-eabi to all
	target builds for PowerPC eabi targets.

Fri Jul 12 12:06:01 1996  Stan Shebs  <shebs@andros.cygnus.com>

	* mpw: New subdir, Mac MPW configuration support bits.

Mon Jul  8 17:30:52 1996  Jim Wilson  <wilson@cygnus.com>

	* mh-irix6: New file.

Mon Jul  8 15:15:37 1996  Jason Merrill  <jason@yorick.cygnus.com>

	* mt-sparcpic (PICFLAG_FOR_TARGET): Use -fPIC.

Fri Jul  5 11:49:02 1996  Ian Lance Taylor  <ian@cygnus.com>

	* mh-irix4 (RANLIB): Don't define; Irix 4 does have ranlib.

Sun Jun 23 22:59:25 1996  Geoffrey Noer  <noer@cygnus.com>

	* mh-cygwin32: new file.  Like mh-go32 without the CFLAGS entry.

Tue Mar 26 14:10:41 1996  Ian Lance Taylor  <ian@cygnus.com>

	* mh-go32 (CFLAGS): Define.

Thu Mar 14 19:20:54 1996  Ian Lance Taylor  <ian@cygnus.com>

	* mh-necv4: New file.

Thu Feb 15 13:07:43 1996  Ian Lance Taylor  <ian@cygnus.com>

	* mh-cxux (CC): New variable.
	(CFLAGS, LDFLAGS): Remove.
	* mh-ncrsvr43 (CC): New variable.
	(CFLAGS): Remove.
	* mh-solaris (CFLAGS): Remove.

	* mh-go32: Remove most variable settings, since they presumed a
	Canadian Cross, which is now handled correctly by the configure
	script.

	* mh-sparcpic (PICFLAG): Set to -fPIC, not -fpic.

Mon Feb 12 14:53:39 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* mh-m68kpic, mt-m68kpic: New files.

Thu Feb  1 14:15:42 1996  Stan Shebs  <shebs@andros.cygnus.com>

	* mpw-mh-mpw (CC_MWC68K): Add options similar to those used
	in CC_MWCPPC, and -mc68020 -model far.
	(AR_MWLINK68K): Add -xm library.
	(AR_AR): Define.
	(CC_LD_MWLINK68K): Remove -d.
	(EXTRALIBS_MWC68K): Define.

Thu Jan 25 16:05:33 1996  Ian Lance Taylor  <ian@cygnus.com>

	* mh-ncrsvr43 (CFLAGS): Remove -Hnocopyr.

Thu Nov 30 14:45:25 1995  J.T. Conklin  <jtc@rtl.cygnus.com>

	* mt-v810 (CC_FOR_TARGET): Add -ansi flag.  NEC compiler
	defaults to K&R mode, but doesn't have varargs.h, so we have to
	compile in ANSI mode.

Wed Nov 29 13:49:08 1995  J.T. Conklin  <jtc@rtl.cygnus.com>

	* mt-v810 (CC_FOR_TARGET, AS_FOR_TARGET, AR_FOR_TARGET,
	RANLIB_FOR_TARGET): Set as appropriate for NEC v810 toolchain.

Tue Nov 14 15:03:12 1995  Jason Molenda  (crash@phydeaux.cygnus.com)

	* mh-i386win32: add LD_FOR_TARGET.

Tue Nov  7 15:41:30 1995  Stan Shebs  <shebs@andros.cygnus.com>

	* mpw-mh-mpw (CC_MWC68K, CC_MWCPPC): Remove unused include path.
	(CC_MWCPPC): Add -mpw_chars, disable warnings, add comments
	explaining reasons for various flags.
	(EXTRALIBS_PPC, EXTRALIBS_MWCPPC ): Put runtime library first.

Fri Oct 13 14:44:25 1995  Jason Molenda  (crash@phydeaux.cygnus.com)

	* mh-aix, mh-sun:  Removed.

	* mh-decstation (X11_EXTRA_CFLAGS): Define.

	* mh-sco, mh-solaris, mh-sysv4 (X11_EXTRA_LIBS): Define.

	* mh-hp300, mh-hpux, mh-hpux8, mh-solaris, mh-sun3, mh-sysv4: Don't
	hardcode location of X stuff here.

Thu Sep 28 13:14:56 1995  Stan Shebs  <shebs@andros.cygnus.com>

	* mpw-mh-mpw: Add definitions for various 68K and PowerMac
	compilers, add definitions for library and link steps for
	PowerMacs.

Sat Sep 16 18:31:08 PDT 1995  Angela Marie Thomas <angela@cygnus.com>

	* mh-ncrsvr43: Removed AR_FLAGS

Thu Sep 14 08:20:04 1995  Fred Fish  <fnf@cygnus.com>

	* mh-hp300 (CC): Add "CC = cc -Wp,-H256000" to avoid
	"too much defining" errors from the HPUX compiler.

Thu Aug 17 17:28:56 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>

	* mh-hp300 (RANLIB): Use "ar ts", in case GNU ar was used and
	didn't build a symbol table.

Thu Jun 22 17:47:24 1995  Stan Shebs  <shebs@andros.cygnus.com>

	* mpw-mh-mpw (CC): Define ANSI_PROTOTYPES.

Mon Jun  5 18:26:36 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* m?-*pic: Define PICFLAG* instead of LIB*FLAGS*.

Mon Apr 10 12:29:48 1995  Stan Shebs  <shebs@andros.cygnus.com>

	* mpw-mh-mpw (EXTRALIBS): Always link in Math.o, CSANELIB.o,
	and ToolLibs.o.

	* mpw-mh-mpw (CC): Define ALMOST_STDC.
	(CFLAGS): Remove ALMOST_STDC, -mc68881.
	(LDFLAGS): add -w.

	* mpw-mh-mpw (CFLAGS): Add -b option to put strings at the ends of
	functions.

	* mpw-mh-mpw: New file, host makefile definitions for MPW.

Fri Mar 31 11:35:17 1995  Jason Molenda (crash@phydeaux.cygnus.com)

	* mt-netware: New file.

Tue Mar 28 14:47:34 1995  Jason Molenda (crash@phydeaux.cygnus.com)

	Revert this change:

	Mon Mar 29 19:59:26 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)

		* mh-solaris: SunPRO C needs -Xs to be able to get a
		working xmakefile for Emacs.

Mon Mar 13 12:31:29 1995  Ian Lance Taylor  <ian@cygnus.com>

	* mh-hpux8: New file.
	* mh-hpux: Use X11R5 rather than X11R4.

Thu Feb  9 11:04:13 1995  Ian Lance Taylor  <ian@cygnus.com>

	* mh-linux (SYSV): Don't define.
	(RANLIB): Don't define.

Wed Jan 11 16:29:34 1995  Jason Merrill  <jason@phydeaux.cygnus.com>

	* m?-*pic (LIBCXXFLAGS): Add -fno-implicit-templates.

Sat Nov  5 18:43:30 1994  Jason Merrill  (jason@phydeaux.cygnus.com)

	* m[th]-*pic: Support --enable-shared.

Thu Nov  3 17:27:19 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* mh-irix4 (CC): Increase maximum string length.

	* mh-sco (CC): Define away const, it doesn't work right; elements
	of arrays of ptr-to-const are considered const themselves.

Sat Jul 16 12:17:49 1994  Stan Shebs  (shebs@andros.cygnus.com)

	* mh-cxux: New file, from Bob Rusk (rrusk@mail.csd.harris.com).

Sat Jun  4 17:22:12 1994  Per Bothner  (bothner@kalessin.cygnus.com)

	* mh-ncrsvr43:  New file from Tom McConnell
	<tmcconne@sedona.intel.com>.

Thu May 19 00:32:11 1994  Jeff Law  (law@snake.cs.utah.edu)

	* mh-hpux (CC): Add -Wp,-H256000 to avoid "too much defining"
	errors from the HPUX 8 compilers.

Fri May  6 14:19:25 1994  Steve Chamberlain  (sac@cygnus.com)

	* mh-go32: New fragment.

Thu May  5 20:06:45 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)

	* mh-lynxrs6k: Renamed from mh-lynxosrs6k, to make it
	unique in 8.3 naming schemes.

Wed May  4 20:14:47 1994  D. V. Henkel-Wallace  (gumby@cygnus.com)

	* mh-lynxrs6k: set SHELL to /bin/bash

Tue Apr 12 12:38:17 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* mh-irix4 (CC): Change -XNh1500 to -XNh2000.

Mon Jan 31 18:40:55 1994  Stu Grossman  (grossman at cygnus.com)

	* mh-lynxosrs6k:  Account for lack of ranlib!

Sat Dec 25 20:03:45 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* mt-hppa: Delete.

Thu Dec  2 14:35:54 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* mh-irix5: New file for Irix 5.

Tue Nov 16 22:54:39 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)

	* mh-a68bsd: Define CC to gcc.

Mon Nov 15 16:56:51 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)

	* mh-linux: Don't put -static in LDFLAGS.  Add comments.

Mon Nov 15 13:37:58 1993  david d `zoo' zuhn  (zoo@cirdan.cygnus.com)

	* mh-sysv4 (AR_FLAGS): change from cq to cr

Fri Nov  5 08:12:32 1993  D. V. Henkel-Wallace  (gumby@blues.cygnus.com)

	* mh-unixware: remove.  It's the same as sysv4, and config.guess
	can't tell the difference.  So don't allow skew.

Wed Oct 20 20:35:14 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)

	* mh-hp300: Revert yesterday's change, but add comment explaining.

Tue Oct 19 18:58:21 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)

	* mh-hp300: Don't define CFLAGS to empty.  Why should hp300 be
	different from anything else?  ("gdb doesn't understand the native
	debug format" isn't a good enough answer because we might be using
	gcc).

Tue Oct  5 12:17:40 1993  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)

	* mh-alphaosf: Remove, no longer necessary now that gdb knows
	how to handle OSF/1 shared libraries.

Tue Jul  6 11:27:33 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)

	* mh-alphaosf: New file.

Thu Jul  1 15:49:33 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)

	* mh-riscos: New file.

Mon Jun 14 12:03:18 1993  david d `zoo' zuhn  (zoo at rtl.cygnus.com)

	* mh-aix, mh-aix386, mh-decstation, mh-delta88, mh-hpux, mh-irix4,
	mh-ncr3000, mh-solaris, mh-sysv, mh-sysv4: remove INSTALL=cp line,
	now that we're using install.sh globally

Fri Jun  4 16:09:34 1993  Ian Lance Taylor  (ian@cygnus.com)

	* mh-sysv4 (INSTALL): Use cp, not /usr/ucb/install.

Sat Apr 17 17:19:50 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)

	* mh-delta88: remove extraneous GCC references

Thu Apr  8 11:21:52 1993  Ian Lance Taylor  (ian@cygnus.com)

	* mt-a29k, mt-ebmon29k, mt-os68k, mt-ose68000, mt-ose68k,
	mt-vxworks68, mt-vxworks960: Removed obsolete, unused target
	Makefile fragment files.

Wed Mar 31 12:31:56 1993  Ian Lance Taylor  (ian@cygnus.com)

	* mh-irix4: Bump -XNh value to 1500 to match gcc requirements.

Mon Mar 29 19:59:26 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)

	* mh-sun3: cc needs -J to compile cp-parse.c correctly

	* mh-solaris: SunPRO C needs -Xs to be able to get a
	working xmakefile for Emacs.

Mon Mar  8 15:05:25 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)

	* mh-aix386: New file; old mh-aix, plus no-op RANLIB.

Tue Mar  2 21:15:58 1993  Fred Fish  (fnf@cygnus.com)

	* mh-vaxult2:  New file.

Sat Jan 23 20:32:01 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)

	* mh-sco: define X11_LIB to the mess that SCO ODT requires

Tue Dec 29 15:06:00 1992  Ian Lance Taylor  (ian@cygnus.com)

	* mh-sco: Don't override BISON definition.

Mon Dec  7 06:43:27 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)

	* mh-sco: don't default $(CC) to gcc

Mon Nov 30 14:54:34 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)

	* mh-solaris: rework standard X location to use
	$OPENWINHOME, if defined.

	* mh-sun: handle X11 include locations

	* mh-decstation: define NeedFunctionPrototypes to 0, to
	work around dain-bramaged DECwindows include files

Fri Nov 27 18:35:54 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)

	* mh-hpux, mh-solaris: define the "standard" locations for
	the vendor supplied X11 headers and libraries

Thu Oct  1 13:50:48 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)

	* mh-solaris: INSTALL is NOT /usr/ucb/install

Mon Aug 24 14:25:35 1992  Ian Lance Taylor  (ian@cygnus.com)

	* mt-ose68000, mt-ose68k: renamed from mt-OSE*.

Mon Aug  3 15:41:28 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)

	* mh-solaris: removed the -xs from CFLAGS (let the people
	with Sun's C compiler deal with it themselved)

Tue Jul 21 02:11:01 1992  D. V. Henkel-Wallace  (gumby@cygnus.com)

	* mt-OSE68k, mt-680000: new configs.

Thu Jul 16 17:12:09 1992  K. Richard Pixley  (rich@rtl.cygnus.com)

	* mh-irix4: merged changes from progressive.

Wed Jul  8 00:01:30 1992  Stu Grossman  (grossman at cygnus.com)

	* mh-solaris:  Use -xs when compiling so that Sun-C puts
	a symbol-table into the executable.

Mon Jun 15 12:31:52 1992  Fred Fish  (fnf@cygnus.com)

	* mh-ncr3000 (INSTALL):  Don't use /usr/ucb/install,
	it is broken on ncr 3000's.

Tue Jun  9 23:29:38 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* Everywhere: Change RANLIB=echo>/dev/null (which confuses
	some shells - and I don't blame them) to RANLIB=true.
	* mh-solaris:  Use /usr/ucb/install for INSTALL.

Tue Jun  9 17:18:11 1992  Fred Fish  (fnf at cygnus.com)

	* mh-ncr3000, mh-sysv4:  Add INSTALL.

Sun May 31 14:45:23 1992  Mark Eichin  (eichin at cygnus.com)

	* mh-solaris2: Add new configuration for Solaris 2 (sysv, no ranlib)

Wed Apr 22 14:38:34 1992  Fred Fish  (fnf@cygnus.com)

	* mh-delta88, mh-ncr3000:  Replace MINUS_G with
	CFLAGS per new configuration strategy.

Fri Apr 10 23:10:08 1992  Fred Fish  (fnf@cygnus.com)

	* mh-ncr3000:  Add new configuration for NCR 3000.

Thu Mar  5 12:05:58 1992  Stu Grossman  (grossman at cygnus.com)

	* mh-irix4: Port to SGI Irix-4.x.

Thu Jan 30 16:17:30 1992  Stu Grossman  (grossman at cygnus.com)

	* mh-sco: Fix SCO configuration stuff.

Tue Dec 10 00:10:55 1991  K. Richard Pixley  (rich at rtl.cygnus.com)

	* ChangeLog: fresh changelog.

