diff --git a/DEPS b/DEPS index 6d24c2ca5..28c474606 100644 --- a/DEPS +++ b/DEPS @@ -78,6 +78,9 @@ deps = { "tools/gyp": From("chromium_deps", "src/tools/gyp"), + "tools/protoc_wrapper": + Var("chromium_trunk") + "/src/tools/protoc_wrapper@" + Var("chromium_revision"), + "tools/python": Var("chromium_trunk") + "/src/tools/python@" + Var("chromium_revision"), diff --git a/webrtc/build/protoc.gypi b/webrtc/build/protoc.gypi index 70bf71e1c..a996c5c40 100644 --- a/webrtc/build/protoc.gypi +++ b/webrtc/build/protoc.gypi @@ -1,14 +1,21 @@ -# Copyright (c) 2011 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +# Copied from Chromium's src/build/protoc.gypi +# # It was necessary to copy this file to WebRTC, because the path to # build/common.gypi is different for the standalone and Chromium builds. Gyp # doesn't permit conditional inclusion or variable expansion in include paths. # http://code.google.com/p/gyp/wiki/InputFormatReference#Including_Other_Files # This file is meant to be included into a target to provide a rule -# to invoke protoc in a consistent manner. +# to invoke protoc in a consistent manner. For Java-targets, see +# protoc_java.gypi. # # To use this, create a gyp target with the following form: # { @@ -37,6 +44,14 @@ # like: # #include "dir/for/my_proto_lib/foo.pb.h" # +# If you need to add an EXPORT macro to a protobuf's c++ header, set the +# 'cc_generator_options' variable with the value: 'dllexport_decl=FOO_EXPORT:' +# e.g. 'dllexport_decl=BASE_EXPORT:' +# +# It is likely you also need to #include a file for the above EXPORT macro to +# work. You can do so with the 'cc_include' variable. +# e.g. 'base/base_export.h' +# # Implementation notes: # A proto_out_dir of foo/bar produces # <(SHARED_INTERMEDIATE_DIR)/protoc_out/foo/bar/{file1,file2}.pb.{cc,h} @@ -44,16 +59,26 @@ { 'variables': { - 'protoc': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)', + 'protoc_wrapper': '<(DEPTH)/tools/protoc_wrapper/protoc_wrapper.py', 'cc_dir': '<(SHARED_INTERMEDIATE_DIR)/protoc_out/<(proto_out_dir)', 'py_dir': '<(PRODUCT_DIR)/pyproto/<(proto_out_dir)', + 'cc_generator_options%': '', + 'cc_include%': '', 'proto_in_dir%': '.', + 'conditions': [ + ['use_system_protobuf==0', { + 'protoc': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)', + }, { # use_system_protobuf==1 + 'protoc': '