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

Unified Diff: build/protoc.gypi

Issue 10913048: CrOS: Convert MediaTransferProtocolDaemonClient to use protobufs. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: less hacky 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
Index: build/protoc.gypi
===================================================================
--- build/protoc.gypi (revision 155895)
+++ build/protoc.gypi (working copy)
@@ -39,9 +39,16 @@
{
'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)',
+ # Declspec to add to the generated protobuf c++ headers.
Ryan Sleevi 2012/09/12 22:21:25 nit: declspec is Windows only, but presumably the
Lei Zhang 2012/09/12 23:33:59 Done.
+ # e.g. 'dllexport_decl=BASE_EXPORT:'
+ 'cc_declspec%': '',
+ # File to #include for the declspec in the generated protobuf c++ headers.
+ # e.g. 'base/base_export.h'
Ryan Sleevi 2012/09/12 22:21:25 nit: For consistency with the proto_in_dir/proto_o
Lei Zhang 2012/09/12 23:33:59 Done.
+ 'cc_declspec_include%': '',
'proto_in_dir%': '.',
},
'rules': [
@@ -49,6 +56,7 @@
'rule_name': 'genproto',
'extension': 'proto',
'inputs': [
+ '<(protoc_wrapper)',
'<(protoc)',
],
'outputs': [
@@ -57,6 +65,13 @@
'<(cc_dir)/<(RULE_INPUT_ROOT).pb.h',
],
'action': [
+ 'python',
+ '<(protoc_wrapper)',
+ '--include',
+ '<(cc_declspec_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 +79,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_declspec)<(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,6 +93,7 @@
],
'include_dirs': [
'<(SHARED_INTERMEDIATE_DIR)/protoc_out',
+ '<(DEPTH)',
Ryan Sleevi 2012/09/12 22:21:25 BUG? Seems like this should also be propagated in
Lei Zhang 2012/09/12 23:33:59 Done.
],
'direct_dependent_settings': {
'include_dirs': [

Powered by Google App Engine
This is Rietveld 408576698