summaryrefslogtreecommitdiff
blob: 324ed7997e5eb1b2283fac66123543bb4fd145a5 (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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
import builder,os
from catalyst_support import *

class generic_x86(builder.generic):
	"abstract base class for all x86 builders"
	def __init__(self,myspec):
		builder.generic.__init__(self,myspec)
		if self.settings["buildarch"]=="amd64":
			if not os.path.exists("/bin/linux32") and not os.path.exists("/usr/bin/linux32"):
					raise CatalystError,"required executable linux32 not found (\"emerge setarch\" to fix.)"
			self.settings["CHROOT"]="linux32 chroot"
			self.settings["crosscompile"] = False;
		else:
			self.settings["CHROOT"]="chroot"

class arch_x86(generic_x86):
	"builder class for generic x86 (386+)"
	def __init__(self,myspec):
		generic_x86.__init__(self,myspec)
		self.settings["CFLAGS"]="-O2 -mtune=i686 -pipe"
		self.settings["CHOST"]="i386-pc-linux-gnu"

class arch_i386(generic_x86):
	"Intel i386 CPU"
	def __init__(self,myspec):
		generic_x86.__init__(self,myspec)
		self.settings["CFLAGS"]="-O2 -march=i386 -pipe"
		self.settings["CHOST"]="i386-pc-linux-gnu"

class arch_i486(generic_x86):
	"Intel i486 CPU"
	def __init__(self,myspec):
		generic_x86.__init__(self,myspec)
		self.settings["CFLAGS"]="-O2 -march=i486 -pipe"
		self.settings["CHOST"]="i486-pc-linux-gnu"

class arch_i586(generic_x86):
	"Intel Pentium CPU"
	def __init__(self,myspec):
		generic_x86.__init__(self,myspec)
		self.settings["CFLAGS"]="-O2 -march=i586 -pipe"
		self.settings["CHOST"]="i586-pc-linux-gnu"

class arch_i686(generic_x86):
	"Intel Pentium Pro CPU"
	def __init__(self,myspec):
		generic_x86.__init__(self,myspec)
		self.settings["CFLAGS"]="-O2 -march=i686 -pipe"
		self.settings["CHOST"]="i686-pc-linux-gnu"

class arch_pentium_mmx(generic_x86):
	"Intel Pentium MMX CPU with MMX support"
	def __init__(self,myspec):
		generic_x86.__init__(self,myspec)
		self.settings["CFLAGS"]="-O2 -march=pentium-mmx -pipe"
		self.settings["HOSTUSE"]=["mmx"]
	
class arch_pentium2(generic_x86):
	"Intel Pentium 2 CPU with MMX support"
	def __init__(self,myspec):
		generic_x86.__init__(self,myspec)
		self.settings["CFLAGS"]="-O2 -march=pentium2 -pipe"
		self.settings["HOSTUSE"]=["mmx"]

class arch_pentium3(generic_x86):
	"Intel Pentium 3 CPU with MMX and SSE support"
	def __init__(self,myspec):
		generic_x86.__init__(self,myspec)
		self.settings["CFLAGS"]="-O2 -march=pentium3 -pipe"
		self.settings["HOSTUSE"]=["mmx","sse"]

class arch_pentium4(generic_x86):
	"Intel Pentium 4 CPU with MMX, SSE and SSE2 support"
	def __init__(self,myspec):
		generic_x86.__init__(self,myspec)
		self.settings["CFLAGS"]="-O2 -march=pentium4 -pipe"
		self.settings["HOSTUSE"]=["mmx","sse","sse2"]

class arch_pentium_m(generic_x86):
	"Intel Pentium M CPU with MMX, SSE and SSE2 support"
	def __init__(self,myspec):
		generic_x86.__init__(self,myspec)
		self.settings["CFLAGS"]="-O2 -march=pentium-m -pipe"
		self.settings["HOSTUSER"]=["mmx","sse","sse2"]

class arch_prescott(generic_x86):
	"improved version of Intel Pentium 4 CPU with MMX, SSE, SSE2 and SSE3 support"
	def __init__(self,myspec):
		generic_x86.__init__(self,myspec)
		self.settings["CFLAGS"]="-O2 -march=prescott -pipe"
		self.settings["HOSTUSE"]=["mmx","sse","sse2"]

class arch_k6(generic_x86):
	"AMD K6 CPU with MMX support"
	def __init__(self,myspec):
		generic_x86.__init__(self,myspec)
		self.settings["CFLAGS"]="-O2 -march=k6 -pipe"
		self.settings["CHOST"]="i686-pc-linux-gnu"
		self.settings["HOSTUSE"]=["mmx"]

class arch_k6_2(generic_x86):
	"AMD K6-2 CPU with MMX and 3dNOW! support"
	def __init__(self,myspec):
		generic_x86.__init__(self,myspec)
		self.settings["CFLAGS"]="-O2 -march=k6-2 -pipe"
		self.settings["CHOST"]="i686-pc-linux-gnu"
		self.settings["HOSTUSE"]=["mmx","3dnow"]

class arch_athlon(generic_x86):
	"AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and SSE prefetch support"
	def __init__(self,myspec):
		generic_x86.__init__(self,myspec)
		self.settings["CFLAGS"]="-O2 -march=athlon -pipe"
		self.settings["CHOST"]="i686-pc-linux-gnu"
		self.settings["HOSTUSE"]=["mmx","3dnow"]

class arch_athlon_xp(generic_x86):
	"improved AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and full SSE support"
	def __init__(self,myspec):
		generic_x86.__init__(self,myspec)
		self.settings["CFLAGS"]="-O2 -march=athlon-xp -pipe"
		self.settings["CHOST"]="i686-pc-linux-gnu"
		self.settings["HOSTUSE"]=["mmx","3dnow","sse"]

def register():
	"Inform main catalyst program of the contents of this plugin."
	return ({
		"x86"			: arch_x86,
		"i386"			: arch_i386,
		"i486"			: arch_i486,
		"i586"			: arch_i586,
		"i686"			: arch_i686,
		"pentium"		: arch_i586,
		"pentium2"		: arch_pentium2,
		"pentium3"		: arch_pentium3,
		"pentium3m"		: arch_pentium3,
		"pentium-m"		: arch_pentium_m,
		"pentium4"		: arch_pentium4,
		"pentium4m"		: arch_pentium4,
		"pentiumpro"		: arch_i686,
		"pentium-mmx"		: arch_pentium_mmx,
		"prescott"		: arch_prescott,
		"k6"			: arch_k6,
		"k6-2"			: arch_k6_2,
		"k6-3"			: arch_k6_2,
		"athlon"		: arch_athlon,
		"athlon-tbird"		: arch_athlon,
		"athlon-4"		: arch_athlon_xp,
		"athlon-xp"		: arch_athlon_xp,
		"athlon-mp"		: arch_athlon_xp
	}, ('i386', 'i486', 'i586', 'i686'))