4 class generic_mips(catalyst.arch.generic_arch):
5 "Abstract base class for all mips builders [Big-endian]"
6 def __init__(self,myspec):
7 catalyst.arch.generic_arch.__init__(self,myspec)
8 self.settings["CHROOT"]="chroot"
9 self.settings["CHOST"]="mips-unknown-linux-gnu"
11 class generic_mipsel(catalyst.arch.generic_arch):
12 "Abstract base class for all mipsel builders [Little-endian]"
13 def __init__(self,myspec):
14 catalyst.arch.generic_arch.__init__(self,myspec)
15 self.settings["CHROOT"]="chroot"
16 self.settings["CHOST"]="mipsel-unknown-linux-gnu"
18 class arch_mips1(generic_mips):
19 "Builder class for MIPS I [Big-endian]"
20 def __init__(self,myspec):
21 generic_mips.__init__(self,myspec)
22 self.settings["CFLAGS"]="-O2 -mips1 -mabi=32 -pipe"
24 class arch_mips3(generic_mips):
25 "Builder class for MIPS III [Big-endian]"
26 def __init__(self,myspec):
27 generic_mips.__init__(self,myspec)
28 self.settings["CFLAGS"]="-O2 -mips3 -mabi=32 -pipe"
30 class arch_mips3_n32(generic_mips):
31 "Builder class for MIPS III [Big-endian N32]"
32 def __init__(self,myspec):
33 generic_mips.__init__(self,myspec)
34 self.settings["CFLAGS"]="-O2 -mips3 -mabi=n32 -pipe"
35 self.settings["CHOST"]="mips64-unknown-linux-gnu"
36 self.settings["HOSTUSE"]=["n32"]
38 class arch_mips3_n64(generic_mips):
39 "Builder class for MIPS III [Big-endian N64]"
40 def __init__(self,myspec):
41 generic_mips.__init__(self,myspec)
42 self.settings["CFLAGS"]="-O2 -mips3 -mabi=64 -pipe"
43 self.settings["CHOST"]="mips64-unknown-linux-gnu"
44 self.settings["HOSTUSE"]=["n64"]
46 class arch_mips4(generic_mips):
47 "Builder class for MIPS IV [Big-endian]"
48 def __init__(self,myspec):
49 generic_mips.__init__(self,myspec)
50 self.settings["CFLAGS"]="-O2 -mips4 -mabi=32 -pipe"
52 class arch_mips4_n32(generic_mips):
53 "Builder class for MIPS IV [Big-endian N32]"
54 def __init__(self,myspec):
55 generic_mips.__init__(self,myspec)
56 self.settings["CFLAGS"]="-O2 -mips4 -mabi=n32 -pipe"
57 self.settings["CHOST"]="mips64-unknown-linux-gnu"
58 self.settings["HOSTUSE"]=["n32"]
60 class arch_mips4_n64(generic_mips):
61 "Builder class for MIPS IV [Big-endian N64]"
62 def __init__(self,myspec):
63 generic_mips.__init__(self,myspec)
64 self.settings["CFLAGS"]="-O2 -mips4 -mabi=64 -pipe"
65 self.settings["CHOST"]="mips64-unknown-linux-gnu"
66 self.settings["HOSTUSE"]=["n64"]
68 class arch_mipsel1(generic_mipsel):
69 "Builder class for all MIPS I [Little-endian]"
70 def __init__(self,myspec):
71 generic_mipsel.__init__(self,myspec)
72 self.settings["CFLAGS"]="-O2 -mips1 -mabi=32 -pipe"
74 class arch_mipsel3(generic_mipsel):
75 "Builder class for all MIPS III [Little-endian]"
76 def __init__(self,myspec):
77 generic_mipsel.__init__(self,myspec)
78 self.settings["CFLAGS"]="-O2 -mips3 -mabi=32 -pipe"
80 class arch_mipsel3_n32(generic_mipsel):
81 "Builder class for all MIPS III [Little-endian N32]"
82 def __init__(self,myspec):
83 generic_mipsel.__init__(self,myspec)
84 self.settings["CFLAGS"]="-O2 -mips3 -mabi=n32 -pipe"
85 self.settings["CHOST"]="mips64el-unknown-linux-gnu"
86 self.settings["HOSTUSE"]=["n32"]
88 class arch_loongson2e(generic_mipsel):
89 "Builder class for all Loongson 2E [Little-endian]"
90 def __init__(self,myspec):
91 generic_mipsel.__init__(self,myspec)
92 self.settings["CFLAGS"]="-O2 -march=loongson2e -mabi=32 -pipe -mplt"
94 class arch_loongson2e_n32(generic_mipsel):
95 "Builder class for all Loongson 2E [Little-endian N32]"
96 def __init__(self,myspec):
97 generic_mipsel.__init__(self,myspec)
98 self.settings["CFLAGS"]="-O2 -march=loongson2e -mabi=n32 -pipe -mplt"
99 self.settings["CHOST"]="mips64el-unknown-linux-gnu"
100 self.settings["HOSTUSE"]=["n32"]
102 class arch_loongson2f(generic_mipsel):
103 "Builder class for all Loongson 2F [Little-endian]"
104 def __init__(self,myspec):
105 generic_mipsel.__init__(self,myspec)
106 self.settings["CFLAGS"]="-O3 -march=loongson2f -mabi=32 -pipe -mplt -Wa,-mfix-loongson2f-nop"
108 class arch_loongson2f_n32(generic_mipsel):
109 "Builder class for all Loongson 2F [Little-endian N32]"
110 def __init__(self,myspec):
111 generic_mipsel.__init__(self,myspec)
112 self.settings["CFLAGS"]="-O3 -march=loongson2f -mabi=n32 -pipe -mplt -Wa,-mfix-loongson2f-nop"
113 self.settings["CHOST"]="mips64el-unknown-linux-gnu"
114 self.settings["HOSTUSE"]=["n32"]
116 class arch_mipsel4(generic_mipsel):
117 "Builder class for all MIPS IV [Little-endian]"
118 def __init__(self,myspec):
119 generic_mipsel.__init__(self,myspec)
120 self.settings["CFLAGS"]="-O2 -mips4 -mabi=32 -pipe"
122 class arch_mipsel4_n32(generic_mipsel):
123 "Builder class for all MIPS IV [Little-endian N32]"
124 def __init__(self,myspec):
125 generic_mipsel.__init__(self,myspec)
126 self.settings["CFLAGS"]="-O2 -mips4 -mabi=n32 -pipe"
127 self.settings["CHOST"]="mips64el-unknown-linux-gnu"
128 self.settings["HOSTUSE"]=["n32"]
130 class arch_cobalt(generic_mipsel):
131 "Builder class for all cobalt [Little-endian]"
132 def __init__(self,myspec):
133 generic_mipsel.__init__(self,myspec)
134 self.settings["CFLAGS"]="-O2 -march=r5000 -mabi=32 -pipe"
135 self.settings["CHOST"]="mipsel-unknown-linux-gnu"
136 self.settings["HOSTUSE"]=["cobalt"]
138 class arch_cobalt_n32(generic_mipsel):
139 "Builder class for all cobalt [Little-endian N32]"
140 def __init__(self,myspec):
141 arch_mipsel4_n32.__init__(self,myspec)
142 self.settings["CFLAGS"]="-O2 -march=r5000 -mabi=n32 -pipe"
143 self.settings["HOSTUSE"]=["cobalt","n32"]
146 "cobalt" : arch_cobalt,
147 "cobalt_n32" : arch_cobalt_n32,
149 "mips1" : arch_mips1,
150 "mips3" : arch_mips3,
151 "mips3_n32" : arch_mips3_n32,
152 "mips3_n64" : arch_mips3_n64,
153 "mips4" : arch_mips4,
154 "mips4_n32" : arch_mips4_n32,
155 "mipsel" : arch_mipsel1,
156 "mipsel1" : arch_mipsel1,
157 "mipsel3" : arch_mipsel3,
158 "mipsel3_n32" : arch_mipsel3_n32,
159 "mipsel4" : arch_mipsel4,
160 "mipsel4_n32" : arch_mipsel4_n32,
161 "loongson2e" : arch_loongson2e,
162 "loongson2e_n32" : arch_loongson2e_n32,
163 "loongson2f" : arch_loongson2f,
164 "loongson2f_n32" : arch_loongson2f_n32,
167 _machine_map = ("mips","mips64")
169 # vim: ts=4 sw=4 sta noet sts=4 ai