15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# -*- python -*- 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Copyright 2011 The Native Client Authors. All rights reserved. 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# be found in the LICENSE file. 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import os 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import gyp_extract 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Import('env') 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Underlay $SOURCE_ROOT/ppapi in this directory. 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Dir('.').addRepository(Dir('#/../ppapi')) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# TODO(ncbray): reenable 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# http://code.google.com/p/nativeclient/issues/detail?id=1643 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)env.FilterOut(CCFLAGS=['-Wswitch-enum']) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Load ppapi_cpp.gypi 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Unfortunately gyp_extract does not handle variables or includes so we must 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# pull the list of sources from ppapi_sources.gypi directly. 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ppapi_sources_gypi = open( 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) env.File('$SOURCE_ROOT/ppapi/ppapi_sources.gypi').abspath, 'r').read() 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ppapi_sources_list = eval(ppapi_sources_gypi)['variables']['cpp_source_files'] 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ppapi_cpp_gypi = gyp_extract.LoadGypFile( 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) env.File('$SOURCE_ROOT/ppapi/ppapi_cpp.gypi').abspath) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)cpp_sources = ( 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [src for src in ppapi_sources_list if src.endswith('.cc')] + 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) gyp_extract.GypTargetSources( 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ppapi_cpp_gypi, 'ppapi_cpp', '.*\.cc') 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)libppapi_cpp = env.NaClSdkLibrary('libppapi_cpp', cpp_sources) 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)env.AddLibraryToSdk(libppapi_cpp) 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)env.Append(CPPPATH=[ 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) '$SOURCE_ROOT/ppapi/lib/gl/gles2', 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) '$SOURCE_ROOT/ppapi/lib/gl/include', 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ]) 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)env.Prepend(CPPDEFINES=['GL_GLEXT_PROTOTYPES']) 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Load ppapi_gl.gypi 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ppapi_gl_gypi = gyp_extract.LoadGypFile( 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) env.File('$SOURCE_ROOT/ppapi/ppapi_gl.gypi').abspath) 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# From ppapi_gl.gypi:ppapi_gles2:.*\.c 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)gles2_sources = gyp_extract.GypTargetSources( 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ppapi_gl_gypi, 'ppapi_gles2', '.*\.c') 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)libppapi_gles2 = env.NaClSdkLibrary('libppapi_gles2', gles2_sources) 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)env.AddLibraryToSdk(libppapi_gles2) 54