summaryrefslogtreecommitdiffstats
path: root/gas/mpw-config.in
blob: 9e29b1d945cf1376d5254701c4f17d7a08310c6a (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=1'

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=1'
	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
OpenPOWER on IntegriCloud