1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#######################################################################
2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org# SConscript for egl state_tracker
3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgImport('*')
5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenv = env.Clone()
7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenv.Append(CPPPATH = [
9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    '#/src/egl/main',
10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    '#/src/gallium/winsys/sw',
11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    '.',
12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org])
13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgsources = [
15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    'common/egl_g3d.c',
16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    'common/egl_g3d_api.c',
17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    'common/egl_g3d_image.c',
18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    'common/egl_g3d_st.c',
19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    'common/egl_g3d_sync.c',
20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    'common/native_helper.c',
21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org]
22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgif env['platform'] == 'windows':
24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    env.Append(CPPDEFINES = ['HAVE_GDI_BACKEND'])
25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    sources.append('gdi/native_gdi.c')
26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgelse:
27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    if env['drm']:
28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org        env.PkgUseModules('DRM')
29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    if env['x11']:
30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org        env.Append(CPPDEFINES = ['HAVE_X11_BACKEND'])
31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org        env.Prepend(CPPPATH = [
32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org            '#/src/glx',
33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org            '#/src/mapi',
34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org        ])
35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org        sources.append([
36f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org            'x11/native_x11.c',
37f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org            'x11/native_dri2.c',
38f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org            'x11/native_ximage.c',
39f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org            'x11/x11_screen.c',
40f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org            'x11/glxinit.c'])
41f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org        if env['drm']:
42f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org            env.Append(CPPDEFINES = ['GLX_DIRECT_RENDERING'])
43f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org            sources.append(['#/src/glx/dri2.c'])
44f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    if env['drm'] and False:
45f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org        # XXX: Disabled as it depends on gbm, which is not yet built with scons
46f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org        env.Append(CPPDEFINES = ['HAVE_DRM_BACKEND'])
47f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org        env.Append(CPPPATH = [
48f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org            '#/src/gbm/main',
49f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org            '#/src/gallium/state_trackers/gbm',
50f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org        ])
51f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org        sources.append(['drm/native_drm.c', 'drm/modeset.c'])
52f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
53f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgst_egl = env.ConvenienceLibrary(
54f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    target = 'st_egl',
55f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    source = sources,
56f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org)
57f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgExport('st_egl')
58