1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org####################################################################### 2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org# SConscript for egl-static target 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 '#/include', 10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org '#/src/egl/main', 11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org '#/src/gallium/auxiliary', 12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org '#/src/gallium/drivers', 13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org '#/src/gallium/include', 14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org '#/src/gallium/winsys', 15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org '#/src/gallium/state_trackers/egl', 16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org '#/src/gallium/state_trackers/vega', 17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org '#/src/mesa', 18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org]) 19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenv.Append(CPPDEFINES = [ 21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 'GALLIUM_SOFTPIPE', 22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 'GALLIUM_RBUG', 23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 'GALLIUM_TRACE', 24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 'GALLIUM_GALAHAD', 25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org '_EGL_MAIN=_eglBuiltInDriverGALLIUM', 26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org]) 27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenv.Prepend(LIBS = [ 29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org softpipe, 30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org rbug, 31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org trace, 32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org galahad, 33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org gallium, 34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org egl, 35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org st_egl, 36f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org]) 37f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 38f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgif env['llvm']: 39f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Append(CPPDEFINES = ['GALLIUM_LLVMPIPE']) 40f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Prepend(LIBS = [llvmpipe]) 41f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 42f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgsources = [ 43f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 'egl.c', 44f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 'egl_pipe.c', 45f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 'egl_st.c', 46f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org] 47f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 48f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgif env['platform'] == 'windows': 49f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org sources.append('#src/egl/main/egl.def') 50f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 51f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Append(LIBS = [ 52f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 'gdi32', 53f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 'user32', 54f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 'kernel32', 55f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 'ws2_32', 56f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ]) 57f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 58f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Prepend(LIBS = [ 59f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ws_gdi, 60f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ]) 61f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 62f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org# OpenGL ES and OpenGL 63f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgif env['gles']: 64f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Append(CPPDEFINES = [ 65f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 'FEATURE_GL=1', 66f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 'FEATURE_ES1=1', 67f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 'FEATURE_ES2=1' 68f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ]) 69f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Prepend(LIBPATH = [shared_glapi.dir]) 70f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org # manually add LIBPREFIX on windows 71f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org glapi_name = 'glapi' if env['platform'] != 'windows' else 'libglapi' 72f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Prepend(LIBS = [glapi_name, glsl, mesa]) 73f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 74f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org# OpenVG 75f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgif True: 76f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Append(CPPDEFINES = ['FEATURE_VG=1']) 77f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Prepend(LIBPATH = [openvg.dir]) 78f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org # manually add LIBPREFIX on windows 79f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org openvg_name = 'OpenVG' if env['platform'] != 'windows' else 'libOpenVG' 80f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Prepend(LIBS = [openvg_name, st_vega]) 81f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 82f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgif env['HAVE_X11']: 83f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Prepend(LIBS = [ 84f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ws_xlib, 85f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ]) 86f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.PkgUseModules('X11') 87f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 88f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org# pipe drivers 89f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgif env['HAVE_DRM']: 90f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.PkgUseModules('DRM') 91f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 92f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if env['HAVE_DRM_INTEL']: 93f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.PkgUseModules('DRM_INTEL') 94f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Append(CPPDEFINES = ['_EGL_PIPE_I915']) 95f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Prepend(LIBS = [ 96f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org i915drm, 97f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org i915, 98f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ws_wrapper, 99f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ]) 100f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 101f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if env['HAVE_DRM_RADEON']: 102f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.PkgUseModules('DRM_RADEON') 103f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Append(CPPDEFINES = ['_EGL_PIPE_R300', '_EGL_PIPE_R600']) 104f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Prepend(LIBS = [ 105f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org radeonwinsys, 106f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org r300, 107f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org r600, 108f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ]) 109f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 110f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Append(CPPDEFINES = ['_EGL_PIPE_VMWGFX']) 111f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org env.Prepend(LIBS = [ 112f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org svgadrm, 113f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org svga, 114f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ]) 115f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 116f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org# libEGL.dll 117f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenv['LIBPREFIX'] = 'lib' 118f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenv['SHLIBPREFIX'] = 'lib' 119f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 120f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgegl_gallium = env.SharedLibrary( 121f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org target ='EGL', 122f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org source = sources, 123f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org) 124f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 125f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenv.Depends(egl_gallium, [openvg]) 126f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 127f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgegl_gallium = env.InstallSharedLibrary(egl_gallium, version=(1, 4, 0)) 128f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 129f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenv.Alias('egl-gallium', egl_gallium) 130