Initial separation and creation of contents.py
[catalyst.git] / catalyst / arch / sh.py
1
2 import os
3
4 from catalyst import builder
5 from catalyst.support import *
6
7 class generic_sh(builder.generic):
8         "Abstract base class for all sh builders [Little-endian]"
9         def __init__(self,myspec):
10                 builder.generic.__init__(self,myspec)
11                 self.settings["CHROOT"]="chroot"
12
13 class generic_sheb(builder.generic):
14         "Abstract base class for all sheb builders [Big-endian]"
15         def __init__(self,myspec):
16                 builder.generic.__init__(self,myspec)
17                 self.settings["CHROOT"]="chroot"
18
19 class arch_sh(generic_sh):
20         "Builder class for SH [Little-endian]"
21         def __init__(self,myspec):
22                 generic_sh.__init__(self,myspec)
23                 self.settings["CFLAGS"]="-O2 -pipe"
24                 self.settings["CHOST"]="sh-unknown-linux-gnu"
25
26 class arch_sh2(generic_sh):
27         "Builder class for SH-2 [Little-endian]"
28         def __init__(self,myspec):
29                 generic_sh.__init__(self,myspec)
30                 self.settings["CFLAGS"]="-O2 -m2 -pipe"
31                 self.settings["CHOST"]="sh2-unknown-linux-gnu"
32
33 class arch_sh2a(generic_sh):
34         "Builder class for SH-2A [Little-endian]"
35         def __init__(self,myspec):
36                 generic_sh.__init__(self,myspec)
37                 self.settings["CFLAGS"]="-O2 -m2a -pipe"
38                 self.settings["CHOST"]="sh2a-unknown-linux-gnu"
39
40 class arch_sh3(generic_sh):
41         "Builder class for SH-3 [Little-endian]"
42         def __init__(self,myspec):
43                 generic_sh.__init__(self,myspec)
44                 self.settings["CFLAGS"]="-O2 -m3 -pipe"
45                 self.settings["CHOST"]="sh3-unknown-linux-gnu"
46
47 class arch_sh4(generic_sh):
48         "Builder class for SH-4 [Little-endian]"
49         def __init__(self,myspec):
50                 generic_sh.__init__(self,myspec)
51                 self.settings["CFLAGS"]="-O2 -m4 -pipe"
52                 self.settings["CHOST"]="sh4-unknown-linux-gnu"
53
54 class arch_sh4a(generic_sh):
55         "Builder class for SH-4A [Little-endian]"
56         def __init__(self,myspec):
57                 generic_sh.__init__(self,myspec)
58                 self.settings["CFLAGS"]="-O2 -m4a -pipe"
59                 self.settings["CHOST"]="sh4a-unknown-linux-gnu"
60
61 class arch_sheb(generic_sheb):
62         "Builder class for SH [Big-endian]"
63         def __init__(self,myspec):
64                 generic_sheb.__init__(self,myspec)
65                 self.settings["CFLAGS"]="-O2 -pipe"
66                 self.settings["CHOST"]="sheb-unknown-linux-gnu"
67
68 class arch_sh2eb(generic_sheb):
69         "Builder class for SH-2 [Big-endian]"
70         def __init__(self,myspec):
71                 generic_sheb.__init__(self,myspec)
72                 self.settings["CFLAGS"]="-O2 -m2 -pipe"
73                 self.settings["CHOST"]="sh2eb-unknown-linux-gnu"
74
75 class arch_sh2aeb(generic_sheb):
76         "Builder class for SH-2A [Big-endian]"
77         def __init__(self,myspec):
78                 generic_sheb.__init__(self,myspec)
79                 self.settings["CFLAGS"]="-O2 -m2a -pipe"
80                 self.settings["CHOST"]="sh2aeb-unknown-linux-gnu"
81
82 class arch_sh3eb(generic_sheb):
83         "Builder class for SH-3 [Big-endian]"
84         def __init__(self,myspec):
85                 generic_sheb.__init__(self,myspec)
86                 self.settings["CFLAGS"]="-O2 -m3 -pipe"
87                 self.settings["CHOST"]="sh3eb-unknown-linux-gnu"
88
89 class arch_sh4eb(generic_sheb):
90         "Builder class for SH-4 [Big-endian]"
91         def __init__(self,myspec):
92                 generic_sheb.__init__(self,myspec)
93                 self.settings["CFLAGS"]="-O2 -m4 -pipe"
94                 self.settings["CHOST"]="sh4eb-unknown-linux-gnu"
95
96 class arch_sh4aeb(generic_sheb):
97         "Builder class for SH-4A [Big-endian]"
98         def __init__(self,myspec):
99                 generic_sheb.__init__(self,myspec)
100                 self.settings["CFLAGS"]="-O2 -m4a -pipe"
101                 self.settings["CHOST"]="sh4aeb-unknown-linux-gnu"
102
103 def register():
104         "Inform main catalyst program of the contents of this plugin."
105         return ({
106                         "sh"    :arch_sh,
107                         "sh2"   :arch_sh2,
108                         "sh2a"  :arch_sh2a,
109                         "sh3"   :arch_sh3,
110                         "sh4"   :arch_sh4,
111                         "sh4a"  :arch_sh4a,
112                         "sheb"  :arch_sheb,
113                         "sh2eb" :arch_sh2eb,
114                         "sh2aeb" :arch_sh2aeb,
115                         "sh3eb" :arch_sh3eb,
116                         "sh4eb" :arch_sh4eb,
117                         "sh4aeb" :arch_sh4aeb
118         }, ("sh2","sh2a","sh3","sh4","sh4a","sh2eb","sh2aeb","sh3eb","sh4eb","sh4aeb"))