1# -*- python -*-
2# Copyright 2011 The Native Client Authors.  All rights reserved.
3# Use of this source code is governed by a BSD-style license that can
4# be found in the LICENSE file.
5
6import os
7import gyp_extract
8
9Import('env')
10
11# Underlay $SOURCE_ROOT/ppapi in this directory.
12Dir('.').addRepository(Dir('#/../ppapi'))
13
14# TODO(ncbray): reenable
15# http://code.google.com/p/nativeclient/issues/detail?id=1643
16env.FilterOut(CCFLAGS=['-Wswitch-enum'])
17
18# Load ppapi_cpp.gypi
19# Unfortunately gyp_extract does not handle variables or includes so we must
20# pull the list of sources from ppapi_sources.gypi directly.
21
22ppapi_sources_gypi = open(
23    env.File('$SOURCE_ROOT/ppapi/ppapi_sources.gypi').abspath, 'r').read()
24ppapi_sources_list = eval(ppapi_sources_gypi)['variables']['cpp_source_files']
25
26ppapi_cpp_gypi = gyp_extract.LoadGypFile(
27    env.File('$SOURCE_ROOT/ppapi/ppapi_cpp.gypi').abspath)
28
29cpp_sources = (
30    [src for src in ppapi_sources_list if src.endswith('.cc')] +
31    gyp_extract.GypTargetSources(
32        ppapi_cpp_gypi, 'ppapi_cpp', '.*\.cc')
33)
34libppapi_cpp = env.NaClSdkLibrary('libppapi_cpp', cpp_sources)
35env.AddLibraryToSdk(libppapi_cpp)
36
37env.Append(CPPPATH=[
38    '$SOURCE_ROOT/ppapi/lib/gl/gles2',
39    '$SOURCE_ROOT/ppapi/lib/gl/include',
40    ])
41
42env.Prepend(CPPDEFINES=['GL_GLEXT_PROTOTYPES'])
43
44# Load ppapi_gl.gypi
45ppapi_gl_gypi = gyp_extract.LoadGypFile(
46    env.File('$SOURCE_ROOT/ppapi/ppapi_gl.gypi').abspath)
47
48# From ppapi_gl.gypi:ppapi_gles2:.*\.c
49gles2_sources = gyp_extract.GypTargetSources(
50    ppapi_gl_gypi, 'ppapi_gles2', '.*\.c')
51libppapi_gles2 = env.NaClSdkLibrary('libppapi_gles2', gles2_sources)
52
53env.AddLibraryToSdk(libppapi_gles2)
54