2005-07-07  Release Manager

	* GCC 4.0.1 released.

2005-05-12  Ryota Kunisawa  <kunisawa@access.co.jp>

	PR bootstrap/21230
	* warnings.m4 (ACX_PROG_CC_WARNING_ALMOST_PEDANTIC): Add
	double quotes around GCC variable.

2005-04-20  Release Manager

	* GCC 4.0.0 released.

2005-04-16  Paolo Bonzini  <bonzini@gnu.org>

	* acx.m4 (ACX_PROG_GNAT): Remove spurious break.

2005-01-23  Joseph S. Myers  <joseph@codesourcery.com>

	* warnings.m4 (ACX_PROG_CC_WARNING_ALMOST_PEDANTIC): Don't do
	anything for non-GCC compilers.

2004-12-03  Richard Sandiford  <rsandifo@redhat.com>

	* gxx-include-dir.m4: New file.

2004-12-02  Richard Sandiford  <rsandifo@redhat.com>

	* gcc-version.m4: New file.

2004-09-24  Zack Weinberg  <zack@codesourcery.com>

	* warnings.m4: New file.

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

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

2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>

	* gettext-sister.m4: Renamed from gettext.m4
	* codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4, po.m4,
	inttypes.m4, inttypes-pri.m4, inttypes_h.m4, lcmessage.m4, lib-ld.m4,
	lib-link.m4, lib-prefix.m4, nls.m4, progtest.m4, stdint_h.m4,
	uintmax_t.m4, ulonglong.m4: Import from gettext-0.12.1 sources.

2004-08-31  Robert Bowdidge <bowdidge@apple.com>

	* mh-ppc-darwin: Add file, and override BOOT_CFLAGS.

2004-08-13  Nathanael Nerode  <neroden@gcc.gnu.org>

	* Add ACX_{TARGET,HOST,BUILD}_NONCANONICAL,
	which do an automatic AC_SUBST on _GCC_TOPLEV_*_NONCANONICAL.
	The intention is that we will migrate to these bit by bit.

2004-08-01  Robert Millan  <robertmh@gnu.org>

	* mt-linux: Rename to ...
	* mt-gnu: ... this.

2004-06-09  Paolo Bonzini  <bonzini@gnu.org>

	* acx.m4 (ACX_PROG_LN): From gcc, modified to
	accept a parameter.

2004-05-23  Paolo Bonzini  <bonzini@gnu.org>

	* acx.m4 (ACX_HEADER_STDBOOL, ACX_HEADER_STRING):
	From gcc.

2004-04-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* acx.m4 (ACX_PROG_GNAT): Check if ${CC} produces object file for
	Ada compilation.
	Fix acx_cv_cc_gcc_supports_ada spelling.

2004-03-08  Paolo Bonzini  <bonzini@gnu.org>

	PR ada/14131
	Move language detection to the top level.
	* acx.m4 (ACX_PROG_GNAT): New macro, moved here
	from the gcc subdirectory.

2004-03-09  Hans-Peter Nilsson  <hp@axis.com>

	* accross.m4 (AC_C_BIGENDIAN_CROSS): Compile endian probe with
	"-c".  Properly quote parameter for AC_MSG_ERROR.

2004-01-14  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>

	* acinclude.m4: Quote names of macros to be defined by AC_DEFUN
	throughout.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

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.

