3 from catalyst_support import *
5 class generic_ppc(builder.generic):
6 "abstract base class for all 32-bit powerpc builders"
7 def __init__(self,myspec):
8 builder.generic.__init__(self,myspec)
9 self.settings["CHOST"]="powerpc-unknown-linux-gnu"
10 if self.settings["buildarch"]=="ppc64":
11 if not os.path.exists("/bin/linux32") and not os.path.exists("/usr/bin/linux32"):
12 raise CatalystError,"required executable linux32 not found (\"emerge setarch\" to fix.)"
13 self.settings["CHROOT"]="linux32 chroot"
14 self.settings["crosscompile"] = False;
16 self.settings["CHROOT"]="chroot"
18 class generic_ppc64(builder.generic):
19 "abstract base class for all 64-bit powerpc builders"
20 def __init__(self,myspec):
21 builder.generic.__init__(self,myspec)
22 self.settings["CHROOT"]="chroot"
24 class arch_ppc(generic_ppc):
25 "builder class for generic powerpc"
26 def __init__(self,myspec):
27 generic_ppc.__init__(self,myspec)
28 self.settings["CFLAGS"]="-O2 -mcpu=powerpc -mtune=powerpc -pipe"
30 class arch_ppc64(generic_ppc64):
31 "builder class for generic ppc64"
32 def __init__(self,myspec):
33 generic_ppc64.__init__(self,myspec)
34 self.settings["CFLAGS"]="-O2 -pipe"
35 self.settings["CHOST"]="powerpc64-unknown-linux-gnu"
37 class arch_970(arch_ppc64):
38 "builder class for 970 aka G5 under ppc64"
39 def __init__(self,myspec):
40 arch_ppc64.__init__(self,myspec)
41 self.settings["CFLAGS"]="-O2 -pipe -mcpu=970 -mtune=970"
42 self.settings["HOSTUSE"]=["altivec"]
44 class arch_cell(arch_ppc64):
45 "builder class for cell under ppc64"
46 def __init__(self,myspec):
47 arch_ppc64.__init__(self,myspec)
48 self.settings["CFLAGS"]="-O2 -pipe -mcpu=cell -mtune=cell"
49 self.settings["HOSTUSE"]=["altivec","ibm"]
51 class arch_g3(generic_ppc):
52 def __init__(self,myspec):
53 generic_ppc.__init__(self,myspec)
54 self.settings["CFLAGS"]="-O2 -mcpu=G3 -mtune=G3 -pipe"
56 class arch_g4(generic_ppc):
57 def __init__(self,myspec):
58 generic_ppc.__init__(self,myspec)
59 self.settings["CFLAGS"]="-O2 -mcpu=G4 -mtune=G4 -maltivec -mabi=altivec -pipe"
60 self.settings["HOSTUSE"]=["altivec"]
62 class arch_g5(generic_ppc):
63 def __init__(self,myspec):
64 generic_ppc.__init__(self,myspec)
65 self.settings["CFLAGS"]="-O2 -mcpu=G5 -mtune=G5 -maltivec -mabi=altivec -pipe"
66 self.settings["HOSTUSE"]=["altivec"]
68 class arch_power(generic_ppc):
69 "builder class for generic power"
70 def __init__(self,myspec):
71 generic_ppc.__init__(self,myspec)
72 self.settings["CFLAGS"]="-O2 -mcpu=power -mtune=power -pipe"
74 class arch_power_ppc(generic_ppc):
75 "builder class for generic powerpc/power"
76 def __init__(self,myspec):
77 generic_ppc.__init__(self,myspec)
78 self.settings["CFLAGS"]="-O2 -mcpu=common -mtune=common -pipe"
80 class arch_power3(arch_ppc64):
81 "builder class for power3 under ppc64"
82 def __init__(self,myspec):
83 arch_ppc64.__init__(self,myspec)
84 self.settings["CFLAGS"]="-O2 -pipe -mcpu=power3 -mtune=power3"
85 self.settings["HOSTUSE"]=["ibm"]
87 class arch_power4(arch_ppc64):
88 "builder class for power4 under ppc64"
89 def __init__(self,myspec):
90 arch_ppc64.__init__(self,myspec)
91 self.settings["CFLAGS"]="-O2 -pipe -mcpu=power4 -mtune=power4"
92 self.settings["HOSTUSE"]=["ibm"]
94 class arch_power5(arch_ppc64):
95 "builder class for power5 under ppc64"
96 def __init__(self,myspec):
97 arch_ppc64.__init__(self,myspec)
98 self.settings["CFLAGS"]="-O2 -pipe -mcpu=power5 -mtune=power5"
99 self.settings["HOSTUSE"]=["ibm"]
101 class arch_power6(arch_ppc64):
102 "builder class for power6 under ppc64"
103 def __init__(self,myspec):
104 arch_ppc64.__init__(self,myspec)
105 self.settings["CFLAGS"]="-O2 -pipe -mcpu=power6 -mtune=power6"
106 self.settings["HOSTUSE"]=["altivec","ibm"]
109 "Inform main catalyst program of the contents of this plugin."
116 "power" : arch_power,
117 "power-ppc" : arch_power_ppc,
118 "power3" : arch_power3,
119 "power4" : arch_power4,
120 "power5" : arch_power5,
121 "power6" : arch_power6,
124 }, ("ppc","ppc64","powerpc","powerpc64"))