| Index: ppapi/native_client/src/shared/ppapi_proxy/build.scons
|
| ===================================================================
|
| --- ppapi/native_client/src/shared/ppapi_proxy/build.scons (revision 0)
|
| +++ ppapi/native_client/src/shared/ppapi_proxy/build.scons (revision 0)
|
| @@ -0,0 +1,168 @@
|
| +# -*- python -*-
|
| +# Copyright 2011 The Native Client Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can
|
| +# be found in the LICENSE file.
|
| +
|
| +import os
|
| +
|
| +Import('env')
|
| +
|
| +# To get generated include files.
|
| +env.Append(CPPPATH=
|
| + ['${SOURCE_ROOT}/native_client/src/shared/ppapi_proxy/trusted'])
|
| +
|
| +if env.Bit('linux'):
|
| + env.Append(
|
| + CCFLAGS=['-fPIC', '-Wno-long-long',],
|
| + # Catch unresolved symbols in libraries.
|
| + LINKFLAGS=['-Wl,-z,defs'],
|
| + )
|
| +
|
| +if env.Bit('mac'):
|
| + env.Append(
|
| + CCFLAGS=['-Wno-long-long'],
|
| + CPPDEFINES = [ ['TARGET_API_MAC_CARBON', '1'], 'USE_SYSTEM_CONSOLE', ],
|
| + FRAMEWORKS = ['Carbon'],
|
| + )
|
| +
|
| +if env.Bit('windows'):
|
| + env.Append(
|
| + CPPDEFINES = ['WIN32', '_WINDOWS'],
|
| + )
|
| +
|
| +
|
| +# The PPAPI RPCs are specified abstractly via .srpc files.
|
| +# Once a .srpc file is added to the TrustedSrpc rules below, the low-level
|
| +# server/client proxies and stubs can be generated automatically using
|
| +# scons --mode=opt-linux/mac/win srpcgen
|
| +# scons --mode=dbg-linux/mac/win sprcgen
|
| +# The .cc files are written to ./ and .h files - to ./trusted/srpcgen/.
|
| +# The generated files must be committed when changes are made to .srpc files.
|
| +
|
| +env.TrustedSrpc(is_client=True,
|
| + srpc_files=['completion_callback.srpc',
|
| + 'ppp.srpc',
|
| + 'ppp_audio.srpc',
|
| + 'ppp_find.srpc',
|
| + 'ppp_input_event.srpc',
|
| + 'ppp_instance.srpc',
|
| + 'ppp_messaging.srpc',
|
| + 'ppp_printing.srpc',
|
| + 'ppp_scrollbar.srpc',
|
| + 'ppp_selection.srpc',
|
| + 'ppp_widget.srpc',
|
| + 'ppp_zoom.srpc',
|
| + ],
|
| + name='PppRpcs',
|
| + h_file='ppp_rpc.h',
|
| + cc_file='ppp_rpc_client.cc',
|
| + guard='GEN_PPAPI_PROXY_PPP_RPC_H_')
|
| +
|
| +env.TrustedSrpc(is_client=False,
|
| + srpc_files=['nacl_file.srpc',
|
| + 'ppb.srpc',
|
| + 'ppb_audio.srpc',
|
| + 'ppb_audio_config.srpc',
|
| + 'ppb_core.srpc',
|
| + 'ppb_cursor_control.srpc',
|
| + 'ppb_file_io.srpc',
|
| + 'ppb_file_ref.srpc',
|
| + 'ppb_file_system.srpc',
|
| + 'ppb_find.srpc',
|
| + 'ppb_font.srpc',
|
| + 'ppb_graphics_2d.srpc',
|
| + 'ppb_graphics_3d.srpc',
|
| + 'ppb_image_data.srpc',
|
| + 'ppb_input_event.srpc',
|
| + 'ppb_instance.srpc',
|
| + 'ppb_messaging.srpc',
|
| + 'ppb_pdf.srpc',
|
| + 'ppb_scrollbar.srpc',
|
| + 'ppb_testing.srpc',
|
| + 'ppb_url_loader.srpc',
|
| + 'ppb_url_request_info.srpc',
|
| + 'ppb_url_response_info.srpc',
|
| + 'ppb_widget.srpc',
|
| + 'ppb_zoom.srpc',
|
| + ],
|
| + name='PpbRpcs',
|
| + h_file='ppb_rpc.h',
|
| + cc_file='ppb_rpc_server.cc',
|
| + guard='GEN_PPAPI_PROXY_PPB_RPC_H_')
|
| +
|
| +env.TrustedSrpc(is_client=False,
|
| + srpc_files=['upcall.srpc'],
|
| + name='PpbUpcalls',
|
| + h_file='upcall.h',
|
| + cc_file='upcall_server.cc',
|
| + guard='GEN_PPAPI_PROXY_UPCALL_H_')
|
| +
|
| +
|
| +common_obj = env.DualObject(['utility.cc'])
|
| +
|
| +env.DualLibrary('ppapi_browser',
|
| + ['browser_callback.cc',
|
| + 'browser_globals.cc',
|
| + 'browser_nacl_file_rpc_server.cc',
|
| + 'browser_ppb_audio_rpc_server.cc',
|
| + 'browser_ppb_audio_config_rpc_server.cc',
|
| + 'browser_ppb_core_rpc_server.cc',
|
| + 'browser_ppb_cursor_control_rpc_server.cc',
|
| + 'browser_ppb_file_io_rpc_server.cc',
|
| + 'browser_ppb_file_ref_rpc_server.cc',
|
| + 'browser_ppb_file_system_rpc_server.cc',
|
| + 'browser_ppb_find_rpc_server.cc',
|
| + 'browser_ppb_font_rpc_server.cc',
|
| + 'browser_ppb_graphics_2d_rpc_server.cc',
|
| + 'browser_ppb_graphics_3d_rpc_server.cc',
|
| + 'browser_ppb_image_data_rpc_server.cc',
|
| + 'browser_ppb_input_event_rpc_server.cc',
|
| + 'browser_ppb_instance_rpc_server.cc',
|
| + 'browser_ppb_messaging_rpc_server.cc',
|
| + 'browser_ppb_pdf_rpc_server.cc',
|
| + 'browser_ppb_rpc_server.cc',
|
| + 'browser_ppb_scrollbar_rpc_server.cc',
|
| + 'browser_ppb_testing_rpc_server.cc',
|
| + 'browser_ppb_url_loader_rpc_server.cc',
|
| + 'browser_ppb_url_request_info_rpc_server.cc',
|
| + 'browser_ppb_url_response_info_rpc_server.cc',
|
| + 'browser_ppb_widget_rpc_server.cc',
|
| + 'browser_ppb_zoom_rpc_server.cc',
|
| + 'browser_ppp_find.cc',
|
| + 'browser_ppp_input_event.cc',
|
| + 'browser_ppp_instance.cc',
|
| + 'browser_ppp_messaging.cc',
|
| + 'browser_ppp_printing.cc',
|
| + 'browser_ppp_scrollbar.cc',
|
| + 'browser_ppp_selection.cc',
|
| + 'browser_ppp_widget.cc',
|
| + 'browser_ppp_zoom.cc',
|
| + 'browser_ppp.cc',
|
| + 'browser_upcall.cc',
|
| + 'input_event_data.cc',
|
| + 'object_serialize.cc',
|
| + # Autogenerated files
|
| + 'ppb_rpc_server.cc',
|
| + 'ppp_rpc_client.cc',
|
| + 'upcall_server.cc',
|
| + common_obj,])
|
| +
|
| +# Do a recursive diff of all files found in the first source directory against
|
| +# all the checked in versions of the files
|
| +node = env.CommandTest(
|
| + 'srpc_diff.out',
|
| + command=['${PYTHON}', '${SOURCE_ROOT}/native_client/tools/diff.py', '-arv',
|
| + '${TARGET_ROOT}/srpcgen/src',
|
| + '${SOURCE_ROOT}/native_client/src'])
|
| +
|
| +# Add a dependency on the 'srpcdif' alias for the previous command
|
| +env.Depends(node, Alias('srpcdif'))
|
| +
|
| +# Create an alias for the command and add it to the standard small test.
|
| +# This test verifies that the checked in SRPC generated files are
|
| +# actually up to date. We ignore ARM which generates false negatives.
|
| +# This is okay, since all try/builds should reproduce the same result
|
| +# this is a check on what is in source control, and generated files are
|
| +# platform independent.
|
| +if not env.Bit('target_arm'):
|
| + env.AddNodeToTestSuite(node, ['small_tests'], 'run_srpcgen_test')
|
|
|