1# Copyright 2014 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5{ 6 'includes': [ 7 '../native_client/build/untrusted.gypi', 8 'remoting_srcs.gypi', 9 ], 10 11 'variables': { 12 'protoc': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)', 13 'proto_out_base': '<(SHARED_INTERMEDIATE_DIR)/protoc_out', 14 'proto_out_dir': '<(proto_out_base)/remoting/proto', 15 'use_nss': 0, 16 'nacl_untrusted_build': 1, 17 'chromium_code': 1, 18 }, 19 20 'targets': [ 21 { 22 'target_name': 'remoting_webrtc_nacl', 23 'type': 'none', 24 'variables': { 25 'nacl_untrusted_build': 1, 26 'nlib_target': 'libremoting_webrtc_nacl.a', 27 'build_glibc': 0, 28 'build_newlib': 0, 29 'build_pnacl_newlib': 1, 30 }, 31 'include_dirs': [ 32 '../third_party', 33 '../third_party/webrtc', 34 ], 35 'sources': [ 36 '../third_party/webrtc/modules/desktop_capture/desktop_frame.cc', 37 '../third_party/webrtc/modules/desktop_capture/desktop_frame.h', 38 '../third_party/webrtc/modules/desktop_capture/desktop_geometry.cc', 39 '../third_party/webrtc/modules/desktop_capture/desktop_geometry.h', 40 '../third_party/webrtc/modules/desktop_capture/desktop_region.cc', 41 '../third_party/webrtc/modules/desktop_capture/desktop_region.h', 42 '../third_party/webrtc/modules/desktop_capture/shared_desktop_frame.cc', 43 '../third_party/webrtc/modules/desktop_capture/shared_desktop_frame.h', 44 ], 45 'direct_dependent_settings': { 46 'include_dirs': [ 47 '../third_party', 48 '../third_party/webrtc', 49 ], 50 } 51 }, # end of target 'remoting_webrtc_nacl' 52 53 { 54 'target_name': 'remoting_proto_nacl', 55 'type': 'none', 56 'variables': { 57 'nacl_untrusted_build': 1, 58 'nlib_target': 'libremoting_proto_nacl.a', 59 'build_glibc': 0, 60 'build_newlib': 0, 61 'build_pnacl_newlib': 1, 62 'files_list': [ 63 '<(proto_out_dir)/audio.pb.cc', 64 '<(proto_out_dir)/control.pb.cc', 65 '<(proto_out_dir)/event.pb.cc', 66 '<(proto_out_dir)/internal.pb.cc', 67 '<(proto_out_dir)/video.pb.cc', 68 '<(proto_out_dir)/mux.pb.cc', 69 ], 70 'extra_deps': [ '<@(files_list)' ], 71 'extra_args': [ '<@(files_list)' ], 72 }, 73 'defines': [ 74 'GOOGLE_PROTOBUF_HOST_ARCH_64_BIT=1' 75 ], 76 'dependencies': [ 77 '../native_client/tools.gyp:prep_toolchain', 78 '../third_party/protobuf/protobuf_nacl.gyp:protobuf_lite_nacl', 79 'proto/chromotocol.gyp:chromotocol_proto_lib', 80 ], 81 'export_dependent_settings': [ 82 '../third_party/protobuf/protobuf_nacl.gyp:protobuf_lite_nacl', 83 ], 84 'direct_dependent_settings': { 85 'include_dirs': [ 86 '<(proto_out_base)', 87 ], 88 }, 89 }, # end of target 'remoting_proto_nacl' 90 91 { 92 'target_name': 'remoting_client_plugin_lib_nacl', 93 'type': 'none', 94 'variables': { 95 'nacl_untrusted_build': 1, 96 'nlib_target': 'libremoting_client_plugin_lib_nacl.a', 97 'build_glibc': 0, 98 'build_newlib': 0, 99 'build_pnacl_newlib': 1, 100 }, 101 'dependencies': [ 102 '../base/base_nacl.gyp:base_nacl', 103 '../jingle/jingle_nacl.gyp:jingle_glue_nacl', 104 '../native_client/tools.gyp:prep_toolchain', 105 '../native_client_sdk/native_client_sdk_untrusted.gyp:nacl_io_untrusted', 106 '../net/net_nacl.gyp:net_nacl', 107 '../third_party/libjingle/libjingle_nacl.gyp:libjingle_nacl', 108 '../third_party/libvpx/libvpx_nacl.gyp:libvpx_nacl', 109 '../third_party/libwebm/libwebm_nacl.gyp:libwebm_nacl', 110 '../third_party/libyuv/libyuv_nacl.gyp:libyuv_nacl', 111 '../third_party/boringssl/boringssl_nacl.gyp:boringssl_nacl', 112 '../third_party/opus/opus_nacl.gyp:opus_nacl', 113 'remoting_proto_nacl', 114 'remoting_webrtc_nacl', 115 ], 116 'sources': [ 117 '../ui/events/keycodes/dom4/keycode_converter.cc', 118 '<@(remoting_base_sources)', 119 '<@(remoting_client_plugin_sources)', 120 '<@(remoting_client_sources)', 121 '<@(remoting_protocol_sources)', 122 ], 123 'sources!': [ 124 'base/url_request_context_getter.cc', 125 'protocol/chromium_socket_factory.cc', 126 ], 127 128 # Include normalizing_input_filter_mac.cc excluded by the filename 129 # exclusion rules. Must be in target_conditions to make sure it's 130 # evaluated after the filename rules. 131 'target_conditions': [ 132 ['1==1', { 133 'sources/': [ 134 [ 'include', 'client/plugin/normalizing_input_filter_mac.cc' ], 135 ], 136 }], 137 ], 138 }, # end of target 'remoting_client_plugin_lib_nacl' 139 140 { 141 'target_name': 'remoting_client_plugin_nacl', 142 'type': 'none', 143 'variables': { 144 'nacl_untrusted_build': 1, 145 'nexe_target': 'remoting_client_plugin', 146 'build_glibc': 0, 147 'build_newlib': 0, 148 'build_pnacl_newlib': 1, 149 'extra_deps_pnacl_newlib': [ 150 '>(tc_lib_dir_pnacl_newlib)/libbase_i18n_nacl.a', 151 '>(tc_lib_dir_pnacl_newlib)/libbase_nacl.a', 152 '>(tc_lib_dir_pnacl_newlib)/libexpat_nacl.a', 153 '>(tc_lib_dir_pnacl_newlib)/libicudata_nacl.a', 154 '>(tc_lib_dir_pnacl_newlib)/libcrypto_nacl.a', 155 '>(tc_lib_dir_pnacl_newlib)/libicui18n_nacl.a', 156 '>(tc_lib_dir_pnacl_newlib)/libicuuc_nacl.a', 157 '>(tc_lib_dir_pnacl_newlib)/libjingle_nacl.a', 158 '>(tc_lib_dir_pnacl_newlib)/libjingle_p2p_constants_nacl.a', 159 '>(tc_lib_dir_pnacl_newlib)/libmedia_yuv_nacl.a', 160 '>(tc_lib_dir_pnacl_newlib)/libmodp_b64_nacl.a', 161 '>(tc_lib_dir_pnacl_newlib)/libboringssl_nacl.a', 162 '>(tc_lib_dir_pnacl_newlib)/libopus_nacl.a', 163 '>(tc_lib_dir_pnacl_newlib)/libppapi.a', 164 '>(tc_lib_dir_pnacl_newlib)/libppapi_cpp.a', 165 '>(tc_lib_dir_pnacl_newlib)/libprotobuf_lite_nacl.a', 166 '>(tc_lib_dir_pnacl_newlib)/libjingle_glue_nacl.a', 167 '>(tc_lib_dir_pnacl_newlib)/libnet_nacl.a', 168 '>(tc_lib_dir_pnacl_newlib)/libremoting_client_plugin_lib_nacl.a', 169 '>(tc_lib_dir_pnacl_newlib)/libremoting_proto_nacl.a', 170 '>(tc_lib_dir_pnacl_newlib)/libremoting_webrtc_nacl.a', 171 '>(tc_lib_dir_pnacl_newlib)/liburl_nacl.a', 172 '>(tc_lib_dir_pnacl_newlib)/libvpx_nacl.a', 173 '>(tc_lib_dir_pnacl_newlib)/libwebm_nacl.a', 174 '>(tc_lib_dir_pnacl_newlib)/libyuv_nacl.a', 175 ], 176 }, 177 'dependencies': [ 178 '../base/base_nacl.gyp:base_i18n_nacl', 179 '../base/base_nacl.gyp:base_nacl', 180 '../crypto/crypto_nacl.gyp:crypto_nacl', 181 '../jingle/jingle_nacl.gyp:jingle_glue_nacl', 182 '../media/media_nacl.gyp:media_yuv_nacl', 183 '../native_client/tools.gyp:prep_toolchain', 184 '../native_client_sdk/native_client_sdk_untrusted.gyp:nacl_io_untrusted', 185 '../net/net_nacl.gyp:net_nacl', 186 '../ppapi/native_client/native_client.gyp:nacl_irt', 187 '../ppapi/native_client/native_client.gyp:ppapi_lib', 188 '../ppapi/ppapi_nacl.gyp:ppapi_cpp_lib', 189 '../third_party/expat/expat_nacl.gyp:expat_nacl', 190 '../third_party/icu/icu_nacl.gyp:icudata_nacl', 191 '../third_party/icu/icu_nacl.gyp:icui18n_nacl', 192 '../third_party/icu/icu_nacl.gyp:icuuc_nacl', 193 '../third_party/libjingle/libjingle_nacl.gyp:libjingle_nacl', 194 '../third_party/libwebm/libwebm_nacl.gyp:libwebm_nacl', 195 '../third_party/libyuv/libyuv_nacl.gyp:libyuv_nacl', 196 '../third_party/modp_b64/modp_b64_nacl.gyp:modp_b64_nacl', 197 '../third_party/boringssl/boringssl_nacl.gyp:boringssl_nacl', 198 '../url/url_nacl.gyp:url_nacl', 199 'remoting_client_plugin_lib_nacl', 200 'remoting_proto_nacl', 201 'remoting_webrtc_nacl', 202 ], 203 'link_flags': [ 204 '-lppapi_stub', 205 206 # Plugin code. 207 '-lremoting_client_plugin_lib_nacl', 208 '-lremoting_proto_nacl', 209 210 # Chromium libraries. 211 '-ljingle_glue_nacl', 212 '-lmedia_yuv_nacl', 213 '-lnet_nacl', 214 '-lcrypto_nacl', 215 '-lbase_i18n_nacl', 216 '-lbase_nacl', 217 '-lurl_nacl', 218 219 # Third-party libraries. 220 '-lremoting_webrtc_nacl', 221 '-lyuv_nacl', 222 '-lvpx_nacl', 223 '-ljingle_p2p_constants_nacl', 224 '-ljingle_nacl', 225 '-lexpat_nacl', 226 '-lmodp_b64_nacl', 227 '-lopus_nacl', 228 '-lboringssl_nacl', 229 '-licui18n_nacl', 230 '-licuuc_nacl', 231 '-licudata_nacl', 232 '-lprotobuf_lite_nacl', 233 '-lwebm_nacl', 234 235 # Base NaCl libraries. 236 '-lppapi_cpp', 237 '-lpthread', 238 '-lnacl_io', 239 ], 240 'sources': [ 241 'client/plugin/pepper_module.cc', 242 ], 243 }, # end of target 'remoting_client_plugin_nacl' 244 ] 245} 246