summaryrefslogtreecommitdiffstats
path: root/rules/target.in
blob: 6631bc3469340c742f90548fb2b04df92ff818f0 (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
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
comment "Target Architecture Options"

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

	config ARCH_ALPHA
		bool "ALPHA"
		help
		  This is support for the Alpha processor architecture.

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

	config ARCH_ARM_NOMMU
		bool "ARM-nommu"
		depends on EXPERIMENTAL_MORE
		help
		  This is support for the ARM processor architecture w/o MMU.

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

	config ARCH_PPC
		bool "PPC"

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

	config ARCH_SPARC
		bool "SPARC"
		depends on EXPERIMENTAL

	config ARCH_MIPS
		bool "MIPS"
		depends on EXPERIMENTAL

	config ARCH_CRIS
		depends on EXPERIMENTAL_MORE
		bool "CRIS"

	config ARCH_PARISC
		depends on EXPERIMENTAL_MORE
		bool "PARISC"

	config ARCH_SH
		depends on EXPERIMENTAL_MORE
		bool "SuperH"
endchoice

choice
	prompt "ARM Family Variant"
		depends on ARCH_ARM || ARCH_ARM_NOMMU
		help
		  The ARM processor architecture has a variety of flavours. 
		  Please chose one. 

	config ARM_ARCH_ATMEL
		bool "atmel (little endian)"
		depends on ARCH_ARM_NOMMU

	config ARM_ARCH_AT91RM9200
		bool "at91rm9200 (little endian)"
		depends on ARCH_ARM

	config ARM_ARCH_EPXA
		bool "Excalibur (little endian)"
		depends on ARCH_ARM

	config ARM_ARCH_IMX
		bool "i.MX (little endian)"
		depends on ARCH_ARM

	config ARM_ARCH_IXP2000
		bool "ixp2000 (big endian)"
		depends on ARCH_ARM && EXPERIMENTAL_MORE

	config ARM_ARCH_NETARM
		bool "net+arm (little endian)"
		depends on ARCH_ARM_NOMMU

	config ARM_ARCH_NETX
		bool "netX (little endian)"
		depends on ARCH_ARM
		
	config ARM_ARCH_OMAP
		bool "OMAP (little endian)"
		depends on ARCH_ARM
		
	config ARM_ARCH_PXA
		bool "pxa (little endian)"
		depends on ARCH_ARM

	config ARM_ARCH_SA1100
		bool "sa1100 (little endian)"
		depends on ARCH_ARM

endchoice

config ARM_ARCH
	string
	default "atmel"			if ARM_ARCH_ATMEL
	default "at91rm9200"		if ARM_ARCH_AT91RM9200
	default "epxa"			if ARM_ARCH_EPXA
	default "imx"			if ARM_ARCH_IMX
	default "ixp2000"		if ARM_ARCH_IXP2000
	default "netarm"		if ARM_ARCH_NETARM
	default "netx"			if ARM_ARCH_NETX
	default "omap"			if ARM_ARCH_OMAP
	default "pxa"			if ARM_ARCH_PXA
	default "sa1100"		if ARM_ARCH_SA1100

config ARM_ARCH_BE
	bool
	default y if ARM_ARCH_IXP2000

config ARM_ARCH_LE
	bool
	default y if ARM_ARCH_PXA || ARM_ARCH_SA1100 || ARM_ARCH_NETARM || ARM_ARCH_ATMEL || ARM_ARCH_IMX || ARM_ARCH_AT91RM9200 || ARM_ARCH_OMAP

choice 
	prompt "MIPS architecture"
	depends on ARCH_MIPS

	config MIPS_ARCH_BE
		bool "mips (big endian)"

	config MIPS_ARCH_LE
		bool "mipsel (little endian)"
endchoice

choice
	prompt "SuperH architecture"
	depends on ARCH_SH

	config SH_ARCH_SH3
		bool "SH3"

	config SH_ARCH_SH4
		bool "SH4"
endchoice

choice
	prompt "Code Optimization"

	config OPT_ARM
		bool "generic arm"
		depends on ARCH_ARM
	config OPT_ARM_NOMMU
		bool "generic arm (w/o MMU)"
		depends on ARCH_ARM_NOMMU

	config OPT_I386
		bool "386"
		depends on ARCH_X86
	config OPT_I486
		bool "486"
		depends on ARCH_X86
	config OPT_I586
		bool "586"
		depends on ARCH_X86
	config OPT_I686
		bool "686"
		depends on ARCH_X86

	config OPT_PPC
		bool "generic PPC"
		depends on ARCH_PPC
	config OPT_PPC405
		bool "PPC 405"
		depends on ARCH_PPC
	config OPT_PPC604
		bool "PPC 604"
		depends on ARCH_PPC
	config OPT_PPC750
		bool "PPC 750"
		depends on ARCH_PPC
	config OPT_PPC7450
		bool "PPC 7450"
		depends on ARCH_PPC

	config OPT_SPARC
		bool "generic sparc"
		depends on ARCH_SPARC

	config OPT_MIPS
		bool "generic mips (big endian)"
		depends on MIPS_ARCH_BE
	config OPT_MIPSEL
		bool "generic mipsel (little endian)"
		depends on MIPS_ARCH_LE

	config OPT_CRIS
		bool "generic cris"
		depends on ARCH_CRIS

	config OPT_PARISC
		bool "generic parisc"
		depends on ARCH_PARISC

	config OPT_SH3
		bool "generic SH3"
		depends on SH_ARCH_SH3

	config OPT_SH4
		bool "generic SH4"
		depends on SH_ARCH_SH4
endchoice

config SOFTFLOAT
	bool
	prompt "Use Software Floatingpoint"
	default n
	depends on ARCH_ARM || ARCH_PPC
	help
	  Set this option if you want to let the toolchain replace the
	  floating point instructions by emulation code. 

comment "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. 

config TARGET_CONFIG_FILE
	string
	prompt "Name of architecture config file in $PTXDIST/config/arch"
	default "arm.dat"		if ARCH_ARM
	default "m68k.dat"		if ARCH_M68K
	default "ix86.dat"		if ARCH_X86
	default "powerpc.dat"		if OPT_PPC
	default "powerpc-405.dat"	if OPT_PPC405
	default "powerpc-604.dat"	if OPT_PPC604
	default "powerpc-750.dat"	if OPT_PPC750
	default "powerpc-7450.dat"	if OPT_PPC7450
	default "sparc.dat"		if ARCH_SPARC
	default "mips.dat"		if MIPS_ARCH_BE
	default "mipsel.dat"		if MIPS_ARCH_LE
	default "cris.dat"		if ARCH_CRIS
	default "hppa.dat"		if ARCH_PARISC
	default "sh3.dat"		if SH_ARCH_SH3
	default "sh4.dat"		if SH_ARCH_SH4
	default "alpha.dat"		if ARCH_ALPHA

config ARCH_NOMMU
	bool
	default y if ARCH_ARM_NOMMU

config ARCH
	string
	default "arm"			if ARCH_ARM
	default "armnommu"		if ARCH_ARM_NOMMU
	default "alpha"			if ARCH_ALPHA
	default "i386"			if ARCH_X86
	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

config ARCH_USERSPACE
	string
	default "arm"			if ARCH_ARM
	default "arm"			if ARCH_ARM_NOMMU
	default "alpha"			if ARCH_ALPHA
	default "i386"			if ARCH_X86
	default "m68k"			if ARCH_M68K
	default "powerpc"		if ARCH_PPC
	default "sparc"			if ARCH_SPARC
	default "mips"			if ARCH_MIPS
	default "mipsel"		if ARCH_MIPSEL
	default "cris"			if ARCH_CRIS
	default "hppa"			if ARCH_PARISC
	default "sh"			if ARCH_SH

config ARM_PROC
	string
	default "armv" if ARCH_ARM || ARCH_ARM_NOMMU

comment "Paths & Directories"

config PREFIX
	prompt "Prefix for \"install\" stage"
	string
	default "$(PTXDIST_WORKSPACE)/local"
	help
	  This directory is being used to install things during the "install" 
	  stage of PTXdist. It usually contains host tools and libraries which 
	  are needed to link programs. 

	  A sane default for this is $(PTXDIST_WORKSPACE)/local. 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=$(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)

	  All host tools are directly being installed to $(PTXCONF_PREFIX). 

config HOST_PREFIX
	prompt "Prefix for host tools development environment"
	string
	default "$(PTXCONF_PREFIX)"

config CROSS_PREFIX
	prompt "Prefix for cross tools development environment"
	string
	default "$(PTXCONF_PREFIX)"

config ROOT
	prompt "Prefix for \"targetinstall\" stage"
	string
	default "$(PTXDIST_WORKSPACE)/root"
	help
	  This directory is being used to install things during the "targetinstall"
	  stage of PTXdist. It usually contains the root filesystem for the 
	  embedded system.
	  
	  A sane default for this is $(PTXDIST_WORKSPACE)/root. Use this one unless you 
	  do exactly know what you are doing. 

comment "GNU Toolchain Identification String"

config CROSSCHAIN_CHECK
	string
	prompt "Check for specific gcc version"
	default "2.95.3"
	depends on BUILD_USERLAND
	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"
	default "arm-softfloat-linux-gnu"       if ARM_ARCH_LE          && GLIBC
	default "armb-unknown-linux-gnu"        if ARM_ARCH_BE          && GLIBC
	default "alpha-unknown-linux-gnu"	if ARCH_ALPHA		&& GLIBC
	default "arm-elf"                       if ARCH_ARM_NOMMU       && GLIBC
	default "i386-unknown-linux-gnu"        if OPT_I386             && GLIBC
	default "i486-unknown-linux-gnu"        if OPT_I486             && GLIBC
	default "i586-unknown-linux-gnu"        if OPT_I586             && GLIBC
	default "i686-unknown-linux-gnu"        if OPT_I686             && GLIBC
	default "powerpc-unknown-linux-gnu"     if OPT_PPC              && GLIBC
	default "powerpc-405-linux-gnu"         if OPT_PPC405           && GLIBC
	default "powerpc-604-linux-gnu"         if OPT_PPC604           && GLIBC
	default "powerpc-750-linux-gnu"         if OPT_PPC750           && GLIBC
	default "powerpc-7450-linux-gnu"        if OPT_PPC7450          && GLIBC
	default "sparc-unknown-linux-gnu"       if OPT_SPARC            && GLIBC
	default "mips-unknown-linux-gnu"        if MIPS_ARCH_BE         && GLIBC
	default "mipsel-unknown-linux-gnu"      if MIPS_ARCH_LE         && GLIBC
	default "cris-unknown-linux-gnu"        if ARCH_CRIS            && GLIBC
	default "hppa-unknown-linux-gnu"        if ARCH_PARISC          && GLIBC
	default "sh3-unknown-linux-gnu"         if SH_ARCH_SH3          && GLIBC
	default "sh4-unknown-linux-gnu"         if SH_ARCH_SH4          && GLIBC

	default "arm-uclibc-linux-gnu"          if ARM_ARCH_LE          && UCLIBC
	default "armb-uclibc-linux-gnu"         if ARM_ARCH_BE          && UCLIBC
	default "arm-elf"                       if ARCH_ARM_NOMMU       && UCLIBC
	default "i386-uclibc-linux-gnu"         if OPT_I386             && UCLIBC
	default "i486-uclibc-linux-gnu"         if OPT_I486             && UCLIBC
	default "i586-uclibc-linux-gnu"         if OPT_I586             && UCLIBC
	default "i686-uclibc-linux-gnu"         if OPT_I686             && UCLIBC
	default "powerpc-uclibc-linux-gnu"      if OPT_PPC              && UCLIBC
	default "powerpc-405_uclibc-linux-gnu"  if OPT_PPC405           && UCLIBC
	default "powerpc-750_uclibc-linux-gnu"  if OPT_PPC750           && UCLIBC
	default "powerpc-7450_uclibc-linux-gnu" if OPT_PPC7450          && UCLIBC
	default "sparc-uclibc-linux-gnu"        if OPT_SPARC            && UCLIBC
	default "mips-uclibc-linux-gnu"         if MIPS_ARCH_BE         && UCLIBC
	default "mipsel-uclibc-linux-gnu"       if MIPS_ARCH_LE         && UCLIBC
	default "cris-uclibc-linux-gnu"         if ARCH_CRIS            && UCLIBC
	default "hppa-uclibc-linux-gnu"         if ARCH_PARISC          && UCLIBC
	default "sh3-uclibc-linux-gnu"          if SH_ARCH_SH3          && UCLIBC
	default "sh4-uclibc-linux-gnu"          if SH_ARCH_SH4          && UCLIBC

config COMPILER_PREFIX
	string
	prompt "Compiler Prefix"
	default "$(PTXCONF_GNU_TARGET)-"