blob: 9a583409cd323f94e0e0e84bbe2d07d9e0e1b9f2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
# Configuration fragment for GAS.
Set target_arch `echo {target_canonical} | sed -e 's/-.*-.*//'`
If "{target_arch}" =~ /powerpc/
Set short_arch_name "ppc"
Set target_cpu "powerpc"
Else
Set short_arch_name "{target_arch}"
End If
# The following works for many configurations, though not all.
Set obj_format `echo {target_canonical} | sed -e 's/.*-.*-//'`
Set target_os `echo {target_canonical} | sed -e 's/.*-.*-//'`
Set bfd_gas no
Set TDEFINES ""
Set EXTRA_OBJECTS ""
# Default emulation.
Set em generic
If "{target_canonical}" =~ /m68k-apple-macos/
Set obj_format "coff"
Set TDEFINES '-d M68KCOFF'
Set EXTRA_OBJECTS '"{o}"m68k-parse.c.o'
Else If "{target_canonical}" =~ /powerpc-apple-macos/
Set obj_format "coff"
Set bfd_gas yes
Set em macos
Else If "{target_canonical}" =~ /i386-\Option-x-go32/
Set obj_format "coff"
Set TDEFINES '-d I386COFF'
Else If "{target_canonical}" =~ /m68k-\Option-x-coff/
Set TDEFINES '-d M68KCOFF'
Else If "{target_canonical}" =~ /mips-idt-ecoff/
Set bfd_gas yes
Set TDEFINES '-d TARGET_BYTES_BIG_ENDIAN'
Else If "{target_canonical}" =~ /mips-\Option-x-\Option-x/
# Assume other OSes etc use ELF
Set obj_format "elf"
Set bfd_gas yes
Set TDEFINES '-d TARGET_BYTES_BIG_ENDIAN'
forward-include "{srcroot}"bfd:elf-bfd.h 'bfd/elf-bfd.h'
Else If "{target_canonical}" =~ /sh-\Option-x-hms/
Set obj_format "coff"
forward-include "{srcroot}"opcodes:sh-opc.h 'opcodes/sh-opc.h'
End If
forward-include "{srcdir}"config:tc-{short_arch_name}.c targ-cpu.c
forward-include "{srcdir}"config:tc-{short_arch_name}.h targ-cpu.h
forward-include "{srcdir}"config:obj-{obj_format}.c obj-format.c
forward-include "{srcdir}"config:obj-{obj_format}.h obj-format.h
forward-include "{srcdir}"config:te-{em}.h targ-env.h
# Special cases for float handling.
If "{target_arch}" =~ /ns32k/
forward-include "{srcdir}"config:atof-ns32k.c atof-targ.c
Else If "{target_arch}" =~ /tahoe/
forward-include "{srcdir}"config:atof-tahoe.c atof-targ.c
Else If "{target_arch}" =~ /vax/
forward-include "{srcdir}"config:atof-vax.c atof-targ.c
Else
# Use IEEE by default.
forward-include "{srcdir}"config:atof-ieee.c atof-targ.c
End If
Echo '# From mpw-config.in' > "{o}"mk.tmp
Echo "TDEFINES = " {TDEFINES} >> "{o}"mk.tmp
Echo "EXTRA_OBJECTS = " {EXTRA_OBJECTS} >> "{o}"mk.tmp
# (We use the -n option here so as not to get extra spaces inserted)
Echo -n 'TARG_CPU_DEP = {TARG_CPU_DEP_' >> "{o}"mk.tmp
Echo -n {short_arch_name} >> "{o}"mk.tmp
Echo -n '}' >> "{o}"mk.tmp
Echo '# End from mpw-config.in' >> "{o}"mk.tmp
Echo '/* conf. Generated by mpw-configure. */' > "{o}"conf.new
Echo -n '#define TARGET_CPU "' >> "{o}"conf.new
Echo -n "{target_cpu}" >> "{o}"conf.new
Echo '"' >> "{o}"conf.new
Echo -n '#define TARGET_OS "' >> "{o}"conf.new
Echo -n "{target_os}" >> "{o}"conf.new
Echo '"' >> "{o}"conf.new
Echo -n '#define TARGET_ALIAS "' >> "{o}"conf.new
Echo -n "{target_alias}" >> "{o}"conf.new
Echo '"' >> "{o}"conf.new
Echo -n '#define TARGET_CANONICAL "' >> "{o}"conf.new
Echo -n "{target_canonical}" >> "{o}"conf.new
Echo '"' >> "{o}"conf.new
Echo '#include "mpw.h"' >> "{o}"conf.new
If "{bfd_gas}" =~ /yes/
Echo "#define BFD_ASSEMBLER" >> "{o}"conf.new
Else
Echo "#define MANY_SEGMENTS" >> "{o}"conf.new
End If
Echo '#define CR_EOL' >> "{o}"conf.new
Echo '#define OBJ_COFF_OMIT_TIMESTAMP' >> "{o}"conf.new
Echo '#define LOSING_COMPILER' >> "{o}"conf.new
MoveIfChange "{o}"conf.new "{o}"conf
sed -e "s/@srcdir@/{srcdir}/" "{srcdir}"gdbinit.in > "{o}"_gdbinit
|