Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(516)

Unified Diff: build/protoc.gypi

Issue 10913048: CrOS: Convert MediaTransferProtocolDaemonClient to use protobufs. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: address comments Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/chromeos/mtp/media_transfer_protocol_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/protoc.gypi
===================================================================
--- build/protoc.gypi (revision 155895)
+++ build/protoc.gypi (working copy)
@@ -32,6 +32,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}
@@ -39,9 +47,12 @@
{
'variables': {
+ 'protoc_wrapper': '<(DEPTH)/tools/protoc_wrapper/protoc_wrapper.py',
'protoc': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)',
'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%': '.',
},
'rules': [
@@ -49,6 +60,7 @@
'rule_name': 'genproto',
'extension': 'proto',
'inputs': [
+ '<(protoc_wrapper)',
'<(protoc)',
],
'outputs': [
@@ -57,6 +69,13 @@
'<(cc_dir)/<(RULE_INPUT_ROOT).pb.h',
],
'action': [
+ 'python',
+ '<(protoc_wrapper)',
+ '--include',
+ '<(cc_include)',
+ '--protobuf',
+ '<(cc_dir)/<(RULE_INPUT_ROOT).pb.h',
+ '--',
'<(protoc)',
# Using the --arg val form (instead of --arg=val) allows gyp's msvs rule
# generation to correct 'val' which is a path.
@@ -64,9 +83,9 @@
# Naively you'd use <(RULE_INPUT_PATH) here, but protoc requires
# --proto_path is a strict prefix of the path given as an argument.
'<(proto_in_dir)/<(RULE_INPUT_ROOT)<(RULE_INPUT_EXT)',
- '--cpp_out','<(cc_dir)',
- '--python_out','<(py_dir)',
- ],
+ '--cpp_out', '<(cc_generator_options)<(cc_dir)',
+ '--python_out', '<(py_dir)',
+ ],
'msvs_cygwin_shell': 0,
'message': 'Generating C++ and Python code from <(RULE_INPUT_PATH)',
'process_outputs_as_sources': 1,
@@ -78,10 +97,12 @@
],
'include_dirs': [
'<(SHARED_INTERMEDIATE_DIR)/protoc_out',
+ '<(DEPTH)',
],
'direct_dependent_settings': {
'include_dirs': [
'<(SHARED_INTERMEDIATE_DIR)/protoc_out',
+ '<(DEPTH)',
]
},
'export_dependent_settings': [
« no previous file with comments | « no previous file | chrome/browser/chromeos/mtp/media_transfer_protocol_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698