# Configuration fragment for GDB.

If "{host_canonical}" =~ /m68k-apple-mpw/
	forward-include "{srcdir}"config:m68k:xm-mpw.h xm.h
	Set siow_lib '"{Libraries}"SIOW.o'

Else If "{host_canonical}" =~ /powerpc-apple-mpw/
	forward-include "{srcdir}"config:powerpc:xm-mpw.h xm.h
	Set siow_lib '"{PPCLibraries}"PPCSIOW.o'

End If

Set xdepfiles '"{o}"mac-xdep.c.o'

Set enable_cflags ""

# Make a copy of this file and give it a different name, so it
# won't be confused with GDB's serial.h.

Duplicate -y "{CIncludes}"Serial.h MacSerial.h

Echo "/* dummy */" >termio.h

If "{target_canonical}" =~ /m68k-apple-macos/
	forward-include "{srcdir}"config:m68k:tm-mac.h tm.h
	forward-include "{srcdir}"config:m68k:tm-m68k.h 'm68k/tm-m68k.h'
	Set tdepfiles '"{o}"m68k-tdep.c.o'

Else If "{target_canonical}" =~ /powerpc-apple-macos/
	forward-include "{srcdir}"config:powerpc:tm-macos.h tm.h
	forward-include "{srcdir}"config:rs6000:tm-rs6000.h 'rs6000/tm-rs6000.h'
	Set tdepfiles '"{o}"rs6000-tdep.c.o "{o}"xcoffread.c.o'

Else If "{target_canonical}" =~ /i386-unknown-go32/
	forward-include "{srcdir}"config:i386:tm-i386v.h tm.h
	Set tdepfiles '"{o}"i386-tdep.c.o'

Else If "{target_canonical}" =~ /mips-idt-ecoff/
	forward-include "{srcdir}"config:mips:tm-embed.h tm.h
	forward-include "{srcdir}"config:mips:tm-bigmips.h 'mips/tm-bigmips.h'
	forward-include "{srcdir}"config:mips:tm-mips.h 'mips/tm-mips.h'
	Set tdepfiles '"{o}"mips-tdep.c.o "{o}"remote-mips.c.o'

Else If "{target_canonical}" =~ /sh-hitachi-hms/
	forward-include "{srcdir}"config:sh:tm-sh.h tm.h
	Set tdepfiles '"{o}"sh-tdep.c.o'

End If

If "{target_canonical}" =~ /m68k-apple-macos/
	forward-include "{srcdir}"config:m68k:nm-macos.h nm.h
	Set natdepfiles '"{o}"mac-nat.c.o'

Else If "{target_canonical}" =~ /powerpc-apple-macos/
	forward-include "{srcdir}"config:powerpc:nm-macos.h nm.h
	Set natdepfiles '"{o}"mac-nat.c.o'

Else
	forward-include "{srcdir}"config:nm-empty.h nm.h
	Set natdepfiles ' '

End If

Echo '# From mpw-config.in'				 > "{o}"mk.tmp
Echo "TDEPFILES = " {tdepfiles}				>> "{o}"mk.tmp
Echo "XDEPFILES = " {xdepfiles}				>> "{o}"mk.tmp
Echo "NATDEPFILES = " {natdepfiles}			>> "{o}"mk.tmp
Echo "XM_ADD_FILES = "					>> "{o}"mk.tmp
Echo "TM_ADD_FILES = "					>> "{o}"mk.tmp
Echo "NAT_ADD_FILES = "					>> "{o}"mk.tmp
Echo "XM_CDEPS = "					>> "{o}"mk.tmp
Echo "TM_CDEPS = "					>> "{o}"mk.tmp
Echo "NAT_CDEPS = "					>> "{o}"mk.tmp
Echo "SIOW_LIB = " {siow_lib}				>> "{o}"mk.tmp
Echo "ENABLE_CFLAGS = " {enable_cflags}			>> "{o}"mk.tmp
Echo '# End from mpw-config.in'				>> "{o}"mk.tmp

Echo '/* config.h.  Generated by mpw-configure.  */'	 > "{o}"config.new
Echo '#include "mpw.h"'					>> "{o}"config.new

MoveIfChange "{o}"config.new "{o}"config.h
