1a8e195ec24dc244d975cbd3526debc2c22e717beChia-I Wu#######################################################################
2a8e195ec24dc244d975cbd3526debc2c22e717beChia-I Wu# SConscript for egl state_tracker
3a8e195ec24dc244d975cbd3526debc2c22e717beChia-I Wu
4a8e195ec24dc244d975cbd3526debc2c22e717beChia-I WuImport('*')
5a8e195ec24dc244d975cbd3526debc2c22e717beChia-I Wu
6601498ae73e654c2de997ea75075613a694d604dJosé Fonsecaenv = env.Clone()
7a8e195ec24dc244d975cbd3526debc2c22e717beChia-I Wu
8601498ae73e654c2de997ea75075613a694d604dJosé Fonsecaenv.Append(CPPPATH = [
9601498ae73e654c2de997ea75075613a694d604dJosé Fonseca    '#/src/egl/main',
10601498ae73e654c2de997ea75075613a694d604dJosé Fonseca    '#/src/gallium/winsys/sw',
11601498ae73e654c2de997ea75075613a694d604dJosé Fonseca    '.',
12601498ae73e654c2de997ea75075613a694d604dJosé Fonseca])
13a8e195ec24dc244d975cbd3526debc2c22e717beChia-I Wu
14a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wusources = [
15601498ae73e654c2de997ea75075613a694d604dJosé Fonseca    'common/egl_g3d.c',
16601498ae73e654c2de997ea75075613a694d604dJosé Fonseca    'common/egl_g3d_api.c',
17601498ae73e654c2de997ea75075613a694d604dJosé Fonseca    'common/egl_g3d_image.c',
18601498ae73e654c2de997ea75075613a694d604dJosé Fonseca    'common/egl_g3d_st.c',
19601498ae73e654c2de997ea75075613a694d604dJosé Fonseca    'common/egl_g3d_sync.c',
20601498ae73e654c2de997ea75075613a694d604dJosé Fonseca    'common/native_helper.c',
21601498ae73e654c2de997ea75075613a694d604dJosé Fonseca]
22a8e195ec24dc244d975cbd3526debc2c22e717beChia-I Wu
23a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wuif env['platform'] == 'windows':
24a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu    env.Append(CPPDEFINES = ['HAVE_GDI_BACKEND'])
25a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu    sources.append('gdi/native_gdi.c')
26a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wuelse:
277b49d4f05d8224448835c8e36724241f7d087a90José Fonseca    if env['drm']:
287b49d4f05d8224448835c8e36724241f7d087a90José Fonseca        env.PkgUseModules('DRM')
29a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu    if env['x11']:
30a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu        env.Append(CPPDEFINES = ['HAVE_X11_BACKEND'])
31a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu        env.Prepend(CPPPATH = [
32a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu            '#/src/glx',
33a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu            '#/src/mapi',
34a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu        ])
35a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu        sources.append([
36a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu            'x11/native_x11.c',
37a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu            'x11/native_dri2.c',
38a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu            'x11/native_ximage.c',
39a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu            'x11/x11_screen.c',
40a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu            'x11/glxinit.c'])
417b49d4f05d8224448835c8e36724241f7d087a90José Fonseca        if env['drm']:
42a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu            env.Append(CPPDEFINES = ['GLX_DIRECT_RENDERING'])
43a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu            sources.append(['#/src/glx/dri2.c'])
447b49d4f05d8224448835c8e36724241f7d087a90José Fonseca    if env['drm'] and False:
457b49d4f05d8224448835c8e36724241f7d087a90José Fonseca        # XXX: Disabled as it depends on gbm, which is not yet built with scons
46a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu        env.Append(CPPDEFINES = ['HAVE_DRM_BACKEND'])
47e9d49d282d3d065e7312a5f812fd1e1331725371Benjamin Franzke        env.Append(CPPPATH = [
48e9d49d282d3d065e7312a5f812fd1e1331725371Benjamin Franzke            '#/src/gbm/main',
49e9d49d282d3d065e7312a5f812fd1e1331725371Benjamin Franzke            '#/src/gallium/state_trackers/gbm',
50e9d49d282d3d065e7312a5f812fd1e1331725371Benjamin Franzke        ])
51a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu        sources.append(['drm/native_drm.c', 'drm/modeset.c'])
52a8e195ec24dc244d975cbd3526debc2c22e717beChia-I Wu
53a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wust_egl = env.ConvenienceLibrary(
54a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu    target = 'st_egl',
55a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I Wu    source = sources,
56601498ae73e654c2de997ea75075613a694d604dJosé Fonseca)
57a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3Chia-I WuExport('st_egl')
58