1 #######################################################################
9 import platform
as _platform
12 #######################################################################
20 default_platform
= sys
.platform
21 default_platform
= _platform_map
.get(default_platform
, default_platform
)
32 if 'PROCESSOR_ARCHITECTURE' in os
.environ
:
33 default_machine
= os
.environ
['PROCESSOR_ARCHITECTURE']
35 default_machine
= _platform
.machine()
36 default_machine
= _machine_map
.get(default_machine
, 'generic')
38 if 'LLVM' in os
.environ
:
41 # Search sys.argv[] for a "platform=foo" argument since we don't have
42 # an 'env' variable at this point.
43 platform
= default_platform
44 pattern
= re
.compile("(platform=)(.*)")
46 m
= pattern
.match(arg
)
52 if platform
!= 'windows' and subprocess
.call(['llvm-config', '--version'], stdout
=subprocess
.PIPE
) == 0:
57 if default_platform
in ('linux', 'freebsd'):
59 elif default_platform
in ('winddk', 'windows', 'wince', 'darwin'):
65 #######################################################################
70 from SCons
.Variables
.BoolVariable
import BoolVariable
as BoolOption
72 from SCons
.Options
.BoolOption
import BoolOption
74 from SCons
.Variables
.EnumVariable
import EnumVariable
as EnumOption
76 from SCons
.Options
.EnumOption
import EnumOption
77 opts
.Add(BoolOption('debug', 'debug build', 'yes'))
78 opts
.Add(BoolOption('profile', 'profile build', 'no'))
79 opts
.Add(BoolOption('quiet', 'quiet command lines', 'yes'))
80 opts
.Add(EnumOption('machine', 'use machine-specific assembly code', default_machine
,
81 allowed_values
=('generic', 'ppc', 'x86', 'x86_64')))
82 opts
.Add(EnumOption('platform', 'target platform', default_platform
,
83 allowed_values
=('linux', 'cell', 'windows', 'winddk', 'wince', 'darwin', 'embedded')))
84 opts
.Add('toolchain', 'compiler toolchain', 'default')
85 opts
.Add(BoolOption('llvm', 'use LLVM', default_llvm
))
86 opts
.Add(BoolOption('dri', 'build DRI drivers', default_dri
))