summaryrefslogtreecommitdiffstats
path: root/platforms/architecture.in
blob: d79e651b7e1be50a1ca995eba7f9e2a4dfb6bd51 (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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
menu "architecture                  "

choice
	prompt "cpu architecture "
	help
	  Specify which processor architecture you want to compile for.

	config ARCH_ALPHA
		bool "alpha     "
		select HAS_MMU
		help
		  This is support for the Alpha processor architecture.

	config ARCH_ARM
		bool "arm       "
		select HAS_MMU
		help
		  This is support for the ARM processor architecture.

	config ARCH_BLACKFIN
		bool "blackfin  "
		help
		  This is support for the blackfin processor.

	config ARCH_X86
		bool "x86       "
		select HAS_MMU
		help
		  This is support for the Intel x86 architecture.

	config ARCH_MINGW
		bool "mingw     "
		select HAS_MMU
		help
		  This is support for the Intel x86 architecture.

	config ARCH_PPC
		bool "ppc       "
		select HAS_MMU
		help
		  This is support for the PowerPC architecture.

	config ARCH_M68K
		bool "m68k      "
		select HAS_MMU
		help
		  This is support for the Motorola/Freescale M68k architecture.

	config ARCH_SPARC
		bool "sparc     "
		select HAS_MMU
		help
		  This is support for the SPARC architecture.

	config ARCH_MIPS
		bool "mips      "
		select HAS_MMU
		help
		  This is support for the MIPS architecture.

	config ARCH_CRIS
		bool "cris      "
		select HAS_MMU
		help
		  This is support for the cris architecture.

	config ARCH_PARISC
		bool "parisc    "
		select HAS_MMU
		help
		  This is support for the parisc architecture.

	config ARCH_SH
		bool "superh    "
		select HAS_MMU
		help
		  This is support for the SuperH architecture.
endchoice

choice
	prompt "arm SoC variant  "
	depends on ARCH_ARM
	help
	  The ARM processor architecture has a variety of flavours.
	  Please chose one.

	config ARCH_ARM_ATMEL
		bool "atmel      "

	config ARCH_ARM_AT91RM9200
		bool "at91rm9200 "

	config ARCH_ARM_AT91SAM9260
		bool "at91sam9260"

	config ARM_ARM_EPXA
		bool "excalibur  "

	config ARCH_ARM_IMX
		bool "i.mx       "

	config ARCH_ARM_IXP2000
		bool "ixp2000    "

	config ARCH_ARM_NETARM
		bool "net+arm    "

	config ARCH_ARM_NETX
		bool "netx       "

	config ARCH_ARM_OMAP
		bool "omap       "

	config ARCH_ARM_PXA
		bool "pxa        "

	config ARCH_ARM_SA1100
		bool "sa1100     "

endchoice

#
# architecture properties - generated without prompt
#

choice
	prompt "superh family    "
	depends on ARCH_SH

	config ARCH_SH_SH3
		bool "sh3       "

	config ARCH_SH_SH4
		bool "sh4       "
endchoice

choice
	prompt "x86 optimization "
	depends on ARCH_X86

	config ARCH_X86_I386
		bool "386       "
		help
		  The compiler will generate code for i386 CPUs as default. This code will
		  run on almost all x86_32 processors.

	config ARCH_X86_I486
		bool "486       "
		help
		  The compiler will generate code for i486 CPUs as default. This code will run
		  on almost all x86/ia32 processors, but not on i386!

	config ARCH_X86_I586
		bool "586       "
		help
		  The compiler will generate code for i586 class CPUs as default (Pentium).
		  This code will run on almost all x86/ia32 processors, but not on i386 and i486!

	config ARCH_X86_I686
		bool "686       "
		help
		  The compiler will generate code for i686 class CPUs as default (Pentium Pro).
		  This code will run on almost all x86/ia32 processors, but not on i386, i486 and pentium!

	config ARCH_X86_P2
		bool "PII       "
		help
		  The compiler will generate code for Pentium II CPUs as default.
		  This code will run on Pentium II and above CPUs.

  	config ARCH_X86_P3M
		bool "PIII/M    "
		help
		  The compiler will generate code for Pentium III and Pentium M CPUs as default.
		  This code will run on Pentium III and above CPUs. Note: A Pentium M is a successor
		  of Pentium III (Pentium 4 is a dead end)

endchoice


#
# endianess
#

choice
	prompt "endianess        "
	depends on ARCH_MIPS || ARCH_SH

	config MENU_ENDIAN_BIG
		bool "big       "

	config MENU_ENDIAN_LITTLE
		bool "little    "

endchoice

config ENDIAN_BIG
	bool
	default y if MENU_ENDIAN_BIG
	default y if ARCH_ARM_IXP2000
	default y if ARCH_PPC
	default y if ARCH_M68K
	default y if ARCH_SPARC
	default y if ARCH_PARISC


config ENDIAN_LITTLE
	bool
	default y if MENU_ENDIAN_LITTLE
	default y if ARCH_ARM_ATMEL
	default y if ARCH_ARM_AT91RM9200
	default y if ARCH_ARM_AT91SAM9260
	default y if ARCH_ARM_EPXA
	default y if ARCH_ARM_IMX
	default y if ARCH_ARM_NETARM
	default y if ARCH_ARM_NETX
	default y if ARCH_ARM_OMAP
	default y if ARCH_ARM_PXA
	default y if ARCH_ARM_SA1100
	default y if ARCH_ALPHA
	default y if ARCH_BLACKFIN
	default y if ARCH_X86
	default y if ARCH_MINGW
	default y if ARCH_CRIS


#
# memory management unit
#

config HAS_MMU
	bool

config ARCH_STRING
	string
	default "arm"			if ARCH_ARM
	default "armnommu"		if ARCH_ARM && !HAS_MMU
	default "alpha"			if ARCH_ALPHA
	default "blackfin"		if ARCH_BLACKFIN
	default "i386"			if ARCH_X86
	default "i386"			if ARCH_MINGW
	default "m68k"			if ARCH_M68K
	default "ppc"			if ARCH_PPC
	default "sparc"			if ARCH_SPARC
	default "mips"			if ARCH_MIPS
	default "mips"			if ARCH_MIPSEL
	default "cris"			if ARCH_CRIS
	default "parisc"		if ARCH_PARISC
	default "sh"			if ARCH_SH

# ----------------------------------------------------------------------------

menu "extra toolchain options       "

config TARGET_EXTRA_CPPFLAGS
	string
	prompt "Extra CPPFLAGS (cpp)"
	help
	  Extra options for the C preprocessor.

config TARGET_EXTRA_CFLAGS
	string
	prompt "Extra CFLAGS (c)"
	help
	  Extra options for the C compiler.

config TARGET_EXTRA_CXXFLAGS
	string
	prompt "Extra CXXFLAGS (c++)"
	help
	  Extra options for the C++ compiler.

config TARGET_EXTRA_LDFLAGS
	string
	prompt "Extra LDFLAGS (ld)"
	help
	  Extra options for the linker.

endmenu


menu "paths & directories           "

config SYSROOT_TARGET
	prompt "sysroot for target"
	string
	default "${PTXDIST_PLATFORMDIR}/sysroot-target"
	help
	  The SYSROOT_TARGET directory is the SYSROOT for all files being
	  installed for the 'target' system. A sane default for this is

	  ${PTXDIST_PLATFORMDIR}/sysroot-target.

	  Use this one unless you do exactly know what you are doing.

	  PTXdist uses a sysroot/destdir mechanism, which means that packets
	  are being installed with

	  	make install DESTDIR=$(SYSROOT)

config SYSROOT_HOST
	string
	default "${PTXDIST_PLATFORMDIR}/sysroot-host"

config SYSROOT_CROSS
	string
	default "${PTXDIST_PLATFORMDIR}/sysroot-cross"

endmenu


menu "toolchain                     "

config CROSSCHAIN_VENDOR
	string
	prompt "check for specific toolchain vendor"
	default ""
	help
	  Add here an unique vendor string to ensure this project will
	  be build with the correct toolchain.
	  Leave this entry empty to omit this check.
	  To use this feature add a file called 'ptxconfig' to the bin/ folder of
	  your toolchain. This file should contain at least one variable definition:
	  PTXCONF_PROJECT="insert-vendor-string-here"
	  The string defined here will be checked against the string defined in
	  PTXCONF_PROJECT in file 'ptxconfig' from the toolchain.

config CROSSCHAIN_CHECK
	string
	prompt "check for specific gcc version"
	default "4.1.2"
	help
	  PTXdist calls your cross compiler with -dumpversion and
	  compares the output with this string. This should help
	  to avoid compilation with the wrong compiler version
	  when you use your own external toolchain.

config GNU_TARGET
	string
	prompt "gnu target"
	help
	  Defines the GNU target for your cross build.

config COMPILER_PREFIX
	string
	prompt "compiler prefix"
	default "${PTXCONF_GNU_TARGET}-"
	help
	 This is the prefix used to create the correct cross compiler name. If the
	 prefix is equal to the GNU Target you can use "${PTXCONF_GNU_TARGET}-" to
	 use it.

config COMPILER_PREFIX_KERNEL
	string
	prompt "compiler prefix (kernel)"
	default "${PTXCONF_COMPILER_PREFIX}"
	help
	 This is the prefix used to create the correct cross compiler
	 name used to compile the kernel. If the prefix equals the
	 normal compiler you can use "${PTXCONF_COMPILER_PREFIX}".

config COMPILER_PREFIX_UBOOT
	string
	prompt "compiler prefix (u-boot)"
	default "${PTXCONF_COMPILER_PREFIX}"
	help
	 This is the prefix used to create the correct cross compiler
	 name used to compile the u-boot. If the prefix equals the
	 normal compiler you can use "${PTXCONF_COMPILER_PREFIX}".

endmenu

endmenu