1Import('env')
2
3# 
4# Auxiliary modules
5#
6
7SConscript('auxiliary/SConscript')
8
9#
10# Drivers
11#
12
13# These are common and work across all platforms
14SConscript([
15    'drivers/galahad/SConscript',
16    'drivers/identity/SConscript',
17    'drivers/llvmpipe/SConscript',
18    'drivers/rbug/SConscript',
19    'drivers/softpipe/SConscript',
20    'drivers/svga/SConscript',
21    'drivers/trace/SConscript',
22])
23
24if not env['msvc']:
25    # These drivers do not build on MSVC compilers
26    SConscript([
27        'drivers/i915/SConscript',
28    ])
29
30if env['drm']:
31    # These drivers depend on drm headers
32    if env['drm_radeon']:
33        SConscript([
34            'drivers/r300/SConscript',
35            'drivers/r600/SConscript',
36        ])
37        if env['llvm']:
38            SConscript([
39                'drivers/radeonsi/SConscript',
40            ])
41    # XXX: nouveau drivers have a tight dependency on libdrm, so to enable
42    # we need some version logic before we enable them. Also, ATM there is
43    # no nouveau target in scons
44    # if env['drm_nouveau']:
45    #     SConscript([
46    #         'drivers/nouveau/SConscript', 
47    #         'drivers/nv50/SConscript', 
48    #         'drivers/nvc0/SConscript', 
49    #         'drivers/nvfx/SConscript',
50    #     ])
51
52#
53# State trackers
54#
55
56# Needed by some state trackers
57SConscript('winsys/sw/null/SConscript')
58
59if not env['embedded']:
60    SConscript('state_trackers/vega/SConscript')
61    if env['platform'] not in ('cygwin', 'darwin', 'haiku', 'sunos'):
62        SConscript('state_trackers/egl/SConscript')
63
64    if env['x11']:
65        SConscript('state_trackers/glx/xlib/SConscript')
66
67    if env['dri']:
68        SConscript('state_trackers/dri/SConscript')
69
70    if env['dri'] and env['xorg']:
71        SConscript('state_trackers/xorg/SConscript')
72
73    if env['platform'] == 'windows':
74        SConscript('state_trackers/wgl/SConscript')
75
76#
77# Winsys
78# 
79
80SConscript([
81    'winsys/sw/wrapper/SConscript',
82])
83    
84if env['x11']:
85    SConscript([
86        'winsys/sw/xlib/SConscript',
87    ])
88
89if env['platform'] == 'windows':
90    SConscript([
91        'winsys/sw/gdi/SConscript',
92    ])
93
94if not env['msvc']:
95    SConscript([
96        'winsys/i915/sw/SConscript',
97    ])
98
99if env['dri']:
100    SConscript([
101        'winsys/sw/dri/SConscript',
102    ])
103
104    SConscript([
105        'winsys/svga/drm/SConscript',
106    ])
107
108    if env['drm_intel']:
109        SConscript([
110            'winsys/i915/drm/SConscript',
111        ])
112
113    if env['drm_radeon']:
114        SConscript([
115            'winsys/radeon/drm/SConscript',
116        ])
117
118#
119# Targets
120#
121
122SConscript([
123    'targets/graw-null/SConscript',
124])
125
126if not env['embedded']:
127    if env['platform'] not in ('cygwin', 'darwin', 'freebsd', 'haiku', 'sunos'):
128        SConscript([
129            'targets/egl-static/SConscript'
130        ])
131
132    if env['x11']:
133        SConscript([
134            'targets/graw-xlib/SConscript',
135            'targets/libgl-xlib/SConscript',
136        ])
137
138    if env['platform'] == 'windows':
139        SConscript([
140            'targets/graw-gdi/SConscript',
141            'targets/libgl-gdi/SConscript',
142        ])
143
144    if env['dri']:
145        SConscript([
146            'targets/SConscript.dri',
147            'targets/dri-swrast/SConscript',
148            'targets/dri-vmwgfx/SConscript',
149            #'targets/dri-nouveau/SConscript',
150        ])
151        if env['drm_intel']:
152            SConscript([
153                'targets/dri-i915/SConscript',
154            ])
155        if env['drm_radeon']:
156            SConscript([
157                'targets/dri-r300/SConscript',
158                'targets/dri-r600/SConscript',
159            ])
160            if env['llvm']:
161                SConscript([
162                    'targets/dri-radeonsi/SConscript',
163                ])
164
165    if env['xorg'] and env['drm']:
166        SConscript([
167            #'targets/xorg-i915/SConscript',
168            #'targets/xorg-nouveau/SConscript',
169            #'targets/xorg-radeon/SConscript',
170        ])
171
172
173#
174# Unit tests & tools
175#
176
177if not env['embedded']:
178    SConscript('tests/unit/SConscript')
179    SConscript('tests/graw/SConscript')
180