source: mainline/HelenOS.config@ 430de97

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 430de97 was 69dc065, checked in by Martin Decky <martin@…>, 16 years ago

initial Clang support

this is more like a proof-of-concept (tested with Clang and LLVM 2.6-pre1)

  • it is limited to ia32/amd64, but it will probably fail except compiling ia32 target on ia32 host
  • actually only Clang as compiler is used, native binutils are used for standalone assembler files and linking
  • kernel compiles fine, boots and even prints some scrambled initial messages to the framebuffer, but panics soon after that (it might be just a tiny glitch in output functions)
  • uspace compiles mostly fine, but the linking fails
  • Property mode set to 100644
File size: 12.8 KB
RevLine 
[44882c8]1#
[9a0367f]2# Copyright (c) 2006 Ondrej Palkovsky
[98a4e76]3# Copyright (c) 2009 Martin Decky
[44882c8]4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
9#
10# - Redistributions of source code must retain the above copyright
11# notice, this list of conditions and the following disclaimer.
12# - Redistributions in binary form must reproduce the above copyright
13# notice, this list of conditions and the following disclaimer in the
14# documentation and/or other materials provided with the distribution.
15# - The name of the author may not be used to endorse or promote products
16# derived from this software without specific prior written permission.
17#
18# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28#
29
[9a0367f]30## General platform options
31
32% Platform
[41f7564]33@ "amd64" AMD64/Intel EM64T (PC)
[d630139]34@ "arm32" ARM 32-bit
[41f7564]35@ "ia32" Intel IA-32 (PC)
[49319ac]36@ "ia64" Intel IA-64
[1ba41c5]37@ "mips32" MIPS 32-bit
[41f7564]38@ "ppc32" PowerPC 32-bit (iMac G4)
39@ "sparc64" Sun UltraSPARC 64-bit
40! PLATFORM (choice)
41
[9a0367f]42% Machine type
[1ba41c5]43@ "msim" MSIM
44@ "bgxemul" GXEmul big endian
[afb1e35]45@ "lgxemul" GXEmul little endian
[1ba41c5]46! [PLATFORM=mips32] MACHINE (choice)
47
[9a0367f]48% Machine type
[c785296]49@ "i460GX" i460GX chipset machine
[4b8f1c3]50@ "ski" Ski ia64 simulator
[c785296]51! [PLATFORM=ia64] MACHINE (choice)
52
[1c6b3a2]53% Machine type
54@ "generic" Generic Sun workstation or server
55@ "serengeti" Serengeti system
56! [PLATFORM=sparc64] MACHINE (choice)
57
[6ac14a70]58% Machine type
[646b996]59@ "testarm" GXEmul Testarm
[87bedd1c]60@ "integratorcp" Integratorcp
[6ac14a70]61! [PLATFORM=arm32] MACHINE (choice)
62
[9a0367f]63% CPU type
64@ "pentium4" Pentium 4
65@ "pentium3" Pentium 3
66@ "core" Core Solo/Duo
[70554dd]67@ "athlon_xp" Athlon XP
68@ "athlon_mp" Athlon MP
[a1d5167]69! [PLATFORM=ia32] PROCESSOR (choice)
[9a0367f]70
71% CPU type
72@ "opteron" Opteron
[1c6b3a2]73! [PLATFORM=amd64] PROCESSOR (choice)
[9a0367f]74
75% CPU type
76@ "us" UltraSPARC I-II subarchitecture
77@ "us3" UltraSPARC III-IV subarchitecture
[1c6b3a2]78! [PLATFORM=sparc64&MACHINE=generic] PROCESSOR (choice)
79
80% CPU type
81@ "us3"
82! [PLATFORM=sparc64&MACHINE=serengeti] PROCESSOR (choice)
[9a0367f]83
[af8e565]84% RAM disk format
[9a0367f]85@ "tmpfs" TMPFS image
86@ "fat" FAT16 image
87! RDFMT (choice)
88
89
[98a4e76]90## Mapping between platform and kernel architecture
91
92% Kernel architecture
93@ "amd64"
94! [PLATFORM=amd64] KARCH (choice)
95
96% Kernel architecture
97@ "arm32"
98! [PLATFORM=arm32] KARCH (choice)
99
100% Kernel architecture
101@ "ia32"
102! [PLATFORM=ia32] KARCH (choice)
103
104% Kernel architecture
105@ "ia32xen"
106! [PLATFORM=ia32xen] KARCH (choice)
107
108% Kernel architecture
109@ "ia64"
110! [PLATFORM=ia64] KARCH (choice)
111
112% Kernel architecture
113@ "mips32"
114! [PLATFORM=mips32] KARCH (choice)
115
116% Kernel architecture
117@ "ppc32"
118! [PLATFORM=ppc32] KARCH (choice)
119
120% Kernel architecture
121@ "ppc64"
122! [PLATFORM=ppc64] KARCH (choice)
123
124% Kernel architecture
125@ "sparc64"
126! [PLATFORM=sparc64] KARCH (choice)
127
128
129## Mapping between platform and user space architecture
130
131% User space architecture
132@ "amd64"
133! [PLATFORM=amd64] UARCH (choice)
134
135% User space architecture
136@ "arm32"
137! [PLATFORM=arm32] UARCH (choice)
138
139% User space architecture
140@ "ia32"
141! [PLATFORM=ia32|PLATFORM=ia32xen] UARCH (choice)
142
143% User space architecture
144@ "ia64"
145! [PLATFORM=ia64] UARCH (choice)
146
147% User space architecture
148@ "mips32"
[8de4421]149! [PLATFORM=mips32&(MACHINE=msim|MACHINE=lgxemul)] UARCH (choice)
[98a4e76]150
151% User space architecture
152@ "mips32eb"
[30e2bba]153! [PLATFORM=mips32&MACHINE=bgxemul] UARCH (choice)
[98a4e76]154
155% User space architecture
156@ "ppc32"
157! [PLATFORM=ppc32] UARCH (choice)
158
159% User space architecture
160@ "ppc64"
161! [PLATFORM=ppc64] UARCH (choice)
162
163% User space architecture
164@ "sparc64"
165! [PLATFORM=sparc64] UARCH (choice)
166
167
168## Mapping between platform and boot architecture
169
170% Boot architecture
171@ "amd64"
172! [PLATFORM=amd64] BARCH (choice)
173
174% Boot architecture
175@ "arm32"
176! [PLATFORM=arm32] BARCH (choice)
177
178% Boot architecture
179@ "ia32"
180! [PLATFORM=ia32] BARCH (choice)
181
182% Boot architecture
183@ "ia32xen"
184! [PLATFORM=ia32xen] BARCH (choice)
185
186% Boot architecture
187@ "ia64"
188! [PLATFORM=ia64] BARCH (choice)
189
190% Boot architecture
191@ "mips32"
192! [PLATFORM=mips32] BARCH (choice)
193
194% Boot architecture
195@ "ppc32"
196! [PLATFORM=ppc32] BARCH (choice)
197
198% Boot architecture
199@ "ppc64"
200! [PLATFORM=ppc64] BARCH (choice)
201
202% Boot architecture
203@ "sparc64"
204! [PLATFORM=sparc64] BARCH (choice)
205
206
207## Mapping between platform and image format
208
209% Image format
210@ "binary"
211! [PLATFORM=mips32&MACHINE=msim] IMAGE (choice)
212
213% Image format
214@ "ecoff"
[8de4421]215! [PLATFORM=mips32&(MACHINE=bgxemul|MACHINE=lgxemul)] IMAGE (choice)
[98a4e76]216
217
[9a0367f]218## Compiler options
219
220% Compiler
[69dc065]221@ "gcc_cross" GNU C Compiler (cross-compiler)
222@ "gcc_native" GNU C Compiler (native)
223@ "icc" Intel C Compiler
224@ "suncc" Sun Studio C Compiler
225@ "clang" Clang
[a1d5167]226! [PLATFORM=amd64|PLATFORM=ia32] COMPILER (choice)
[7bb0c32]227
[9a0367f]228% Compiler
[69dc065]229@ "gcc_cross" GNU C Compiler (cross-compiler)
230@ "gcc_native" GNU C Compiler (native)
231@ "icc" Intel C Compiler
[a1d5167]232! [PLATFORM=ia64] COMPILER (choice)
[7bb0c32]233
[9a0367f]234% Compiler
[69dc065]235@ "gcc_cross" GNU C Compiler (cross-compiler)
236@ "gcc_native" GNU C Compiler (native)
237@ "suncc" Sun Studio C Compiler
[a1d5167]238! [PLATFORM=sparc64] COMPILER (choice)
[7bb0c32]239
[9a0367f]240% Compiler
[69dc065]241@ "gcc_cross" GNU C Compiler (cross-compiler)
242@ "gcc_native" GNU C Compiler (native)
[a1d5167]243! [PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32] COMPILER (choice)
[9a0367f]244
245
[98a4e76]246## Kernel configuration
247
248% Fences
[1c6b3a2]249! [PLATFORM=ia32&(PROCESSOR=athlon_xp|PROCESSOR=athlon_mp|PROCESSOR=pentium3)] CONFIG_FENCES_P3 (y)
[98a4e76]250
251% Fences
[1c6b3a2]252! [PLATFORM=ia32&(PROCESSOR=pentium4|PROCESSOR=core)] CONFIG_FENCES_P4 (y)
[30e2bba]253
254% Fences
255! [PLATFORM=amd64] CONFIG_FENCES_P4 (y)
[98a4e76]256
257% ACPI support
258! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_ACPI (y)
259
260% Hierarchical page tables support
261! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32] CONFIG_PAGE_PT (y)
262
263% Page hash table support
264! [PLATFORM=ia64|PLATFORM=sparc64] CONFIG_PAGE_HT (y)
265
266% Software integer division support
267! [PLATFORM=ia32|PLATFORM=arm32|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32] CONFIG_SOFTINT (y)
268
269% ASID support
270! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID (y)
271
272% ASID FIFO support
273! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID_FIFO (y)
274
275% OpenFirmware tree support
[e731b0d]276! [PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_OFW_TREE (y)
277
278% OpenFirmware PCI bus support
279! [PLATFORM=sparc64] CONFIG_OFW_PCI (y)
[98a4e76]280
[5d8d71e]281% Multiboot standard support
282! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_MULTIBOOT (y)
283
[98a4e76]284% FPU support
[30e2bba]285! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ia64|PLATFORM=sparc64] CONFIG_FPU (y)
286
287% FPU support
288! [PLATFORM=mips32&(MACHINE=lgxemul|MACHINE=bgxemul)] CONFIG_FPU (y)
[98a4e76]289
290
[9a0367f]291## Kernel features options
292
293% Support for SMP
[b1e9d2c]294! [(PLATFORM=ia32&PROCESSOR!=athlon_xp)|PLATFORM=amd64|PLATFORM=sparc64|PLATFORM=ia64|(PLATFORM=mips32&MACHINE=msim)] CONFIG_SMP (y/n)
[9a0367f]295
[04d672c3]296% Debug build
297! CONFIG_DEBUG (y/n)
298
299% Deadlock detection support for spinlocks
300! [CONFIG_DEBUG=y&CONFIG_SMP=y] CONFIG_DEBUG_SPINLOCK (y/n)
301
[9a0367f]302% Lazy FPU context switching
[a1d5167]303! [CONFIG_FPU=y] CONFIG_FPU_LAZY (y/n)
[9a0367f]304
305% Use VHPT
[a1d5167]306! [PLATFORM=ia64] CONFIG_VHPT (n/y)
[9a0367f]307
308% Use TSB
[a1d5167]309! [PLATFORM=sparc64] CONFIG_TSB (y/n)
[1c6b3a2]310
311% IO SAPIC on default address support
[a1d5167]312! [PLATFORM=ia64&MACHINE!=ski] CONFIG_IOSAPIC (y/n)
[1c6b3a2]313
314% Virtually indexed D-cache support
[a1d5167]315! [PLATFORM=sparc64] CONFIG_VIRT_IDX_DCACHE (y/n)
[1c6b3a2]316
317% Support for userspace debuggers
[a1d5167]318! CONFIG_UDEBUG (y/n)
[1c6b3a2]319
320% Kernel console support
[a1d5167]321! CONFIG_KCONSOLE (y/n)
[1c6b3a2]322
[e2b762ec]323% Kernel symbol information
324! CONFIG_SYMTAB (y/n)
325
[1c6b3a2]326% Detailed kernel logging
[a1d5167]327! CONFIG_LOG (n/y)
[1c6b3a2]328
329% Compile kernel tests
[a1d5167]330! CONFIG_TEST (y/n)
[1c6b3a2]331
[04d672c3]332
[1c6b3a2]333## Hardware support
[9a0367f]334
[6ac14a70]335% Input device class
336@ "generic" Keyboard or serial line
337! [PLATFORM=arm32&MACHINE=integratorcp] CONFIG_HID_IN (choice)
338
[4d29d01]339% Input device class
[71385d4f]340@ "generic" Keyboard or serial line
341@ "none" No input device
[6ac14a70]342! [PLATFORM=ia32|(PLATFORM=arm32&MACHINE=testarm)|PLATFORM=amd64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_HID_IN (choice)
[04d672c3]343
[449d4ecc]344% Input device class
345@ "generic" Keyboard or serial line
346@ "keyboard" Keyboard
347@ "serial" Serial line
348@ "none" No input device
349! [PLATFORM=ia64&MACHINE=i460GX] CONFIG_HID_IN (choice)
350
[6ac14a70]351% Output device class
352@ "generic" Monitor or serial line
353! [PLATFORM=arm32&MACHINE=integratorcp] CONFIG_HID_OUT (choice)
354
[8de4421]355% Output device class
356@ "generic" Monitor or serial line
357@ "none" No output device
[d0688a3]358! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=sparc64|PLATFORM=ppc32|(PLATFORM=ia64&MACHINE=i460GX)|(PLATFORM=mips32&MACHINE=msim)] CONFIG_HID_OUT (choice)
[1c6b3a2]359
[4d29d01]360% Output device class
[71385d4f]361@ "generic" Monitor or serial line
[1c6b3a2]362@ "monitor" Monitor
363@ "serial" Serial line
[71385d4f]364@ "none" No output device
[8de4421]365! [PLATFORM=mips32&(MACHINE=bgxemul|MACHINE=lgxemul)] CONFIG_HID_OUT (choice)
[04d672c3]366
[00287cc]367% Output device class
368@ "generic" Monitor or serial line
369@ "monitor" Monitor
370@ "serial" Serial line
371@ "none" No output device
[6ac14a70]372! [PLATFORM=arm32&MACHINE=testarm] CONFIG_HID_OUT (choice)
[00287cc]373
[8de4421]374% PC keyboard support
375! [CONFIG_HID_IN=generic&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_PC_KBD (y/n)
[1c6b3a2]376
[449d4ecc]377% PC keyboard support
378! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_PC_KBD (y/n)
379
[8de4421]380% Support for msim/GXemul keyboard
381! [CONFIG_HID_IN=generic&PLATFORM=mips32] CONFIG_MIPS_KBD (y/n)
382
383% Support for msim/GXemul printer
384! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=mips32] CONFIG_MIPS_PRN (y/n)
[04d672c3]385
[00287cc]386% Support for GXemul keyboard
[6ac14a70]387! [CONFIG_HID_IN=generic&PLATFORM=arm32&MACHINE=testarm] CONFIG_ARM_KBD (y/n)
[00287cc]388
389% Support for GXemul printer
[6ac14a70]390! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&MACHINE=testarm] CONFIG_ARM_PRN (y/n)
[00287cc]391
[d6d04e7]392% Support for VIA CUDA controller
393! [CONFIG_HID_IN=generic&PLATFORM=ppc32] CONFIG_VIA_CUDA (y/n)
394
[9693835]395% Support for NS16550 controller
[03976d60]396! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic] CONFIG_NS16550 (y/n)
[9693835]397
[449d4ecc]398% Support for NS16550 controller
399! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_NS16550 (y/n)
400
[9693835]401% Support for Z8530 controller
[4ee4046]402! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic] CONFIG_Z8530 (y/n)
[03976d60]403
404% Support for Serengeti console
[3cc6a52]405! [CONFIG_HID_OUT=generic&PLATFORM=sparc64&MACHINE=serengeti] CONFIG_SGCN_PRN (y/n)
406
407% Support for Serengeti keyboard
408! [CONFIG_HID_IN=generic&PLATFORM=sparc64&MACHINE=serengeti] CONFIG_SGCN_KBD (y/n)
[9693835]409
[87bedd1c]410% Support for i8042 controller
[8de4421]411! [CONFIG_PC_KBD=y] CONFIG_I8042 (y)
[9a0367f]412
[87bedd1c]413% Support for pl050 controller
[6ac14a70]414! [CONFIG_HID_IN=generic&PLATFORM=arm32&MACHINE=integratorcp] CONFIG_PL050 (y)
415
[9693835]416% Sun keyboard support
[4ee4046]417! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic&(CONFIG_NS16550=y|CONFIG_Z8530=y)] CONFIG_SUN_KBD (y)
[9693835]418
[2a77841d]419% Macintosh ADB keyboard support
420! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=ppc32&(CONFIG_VIA_CUDA=y)] CONFIG_MAC_KBD (y)
421
[8de4421]422% Dummy serial line input
[00287cc]423! [CONFIG_MIPS_KBD=y|CONFIG_ARM_KBD=y] CONFIG_DSRLNIN (y)
[9a0367f]424
[8de4421]425% Dummy serial line output
[00287cc]426! [CONFIG_MIPS_PRN=y|CONFIG_ARM_PRN=y] CONFIG_DSRLNOUT (y)
[411b6a6]427
[8de4421]428% Serial line input module
[3cc6a52]429! [CONFIG_DSRLNIN=y|(PLATFORM=ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&MACHINE=serengeti&CONFIG_SGCN_KBD=y)] CONFIG_SRLN (y)
[8de4421]430
[1c6b3a2]431% EGA support
[8de4421]432! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_EGA (y/n)
433
[449d4ecc]434% EGA support
435! [CONFIG_HID_OUT=generic&PLATFORM=ia64&MACHINE=i460GX] CONFIG_EGA (y/n)
[8de4421]436
437% Framebuffer support
[d0688a3]438! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ppc32)] CONFIG_FB (y/n)
[8de4421]439
440% Framebuffer support
441! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=mips32&(MACHINE=lgxemul|MACHINE=bgxemul)] CONFIG_FB (y/n)
[9a0367f]442
[00287cc]443% Framebuffer support
[03976d60]444! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=arm32] CONFIG_FB (y/n)
445
446% Framebuffer support
447! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=sparc64&MACHINE=generic] CONFIG_FB (y/n)
[98a4e76]448
[421c833]449% Default framebuffer mode
450@ "640x480"
451@ "800x600"
452@ "1024x768"
453@ "1152x720"
454@ "1152x864"
455@ "1280x960"
456@ "1280x1024"
457@ "1400x1050"
458@ "1440x900"
459@ "1440x1050"
460@ "1600x1200"
461@ "1920x1080"
462@ "1920x1200"
463! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_VESA_MODE (choice)
464
465% Default framebuffer depth
[9a0367f]466@ "8"
467@ "16"
468@ "24"
[9693835]469! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_VESA_BPP (choice)
[9a0367f]470
471% Start AP processors by the loader
[a1d5167]472! [PLATFORM=sparc64&CONFIG_SMP=y] CONFIG_AP (y/n)
[9a0367f]473
474% Use Block Address Translation by the loader
[a1d5167]475! [PLATFORM=ppc32] CONFIG_BAT (y/n)
[9a0367f]476
477% Preserve A.OUT header in isofs.b
[1c6b3a2]478! [PLATFORM=sparc64&MACHINE=generic] CONFIG_AOUT_ISOFS_B (y)
[9a0367f]479
[af8e565]480% External RAM disk
[9a0367f]481! [PLATFORM=sparc64] CONFIG_RD_EXTERNAL (y/n)
[1641eb0]482
483% Load disk drivers on startup
484! CONFIG_START_BD (n/y)
485
486% Mount /data on startup
487! [CONFIG_START_BD=y] CONFIG_MOUNT_DATA (n/y)
Note: See TracBrowser for help on using the repository browser.