| Index: build/protoc.gypi
|
| diff --git a/build/protoc.gypi b/build/protoc.gypi
|
| index 555c5be45d29f3e0866eddc6aa996ec6a8a675ad..9a7ec13f0721556abfbeb02986d685aa00061572 100644
|
| --- a/build/protoc.gypi
|
| +++ b/build/protoc.gypi
|
| @@ -43,6 +43,9 @@
|
| 'cc_dir': '<(SHARED_INTERMEDIATE_DIR)/protoc_out/<(proto_out_dir)',
|
| 'py_dir': '<(PRODUCT_DIR)/pyproto/<(proto_out_dir)',
|
| 'proto_in_dir%': '.',
|
| + # If provided, this must have a trailing slash, otherwise it will be
|
| + # concatenated with RULE_INPUT_ROOT in 'outputs' and 'action' below.
|
| + 'proto_relpath%': '',
|
| },
|
| 'rules': [
|
| {
|
| @@ -52,16 +55,16 @@
|
| '<(protoc)',
|
| ],
|
| 'outputs': [
|
| - '<(py_dir)/<(RULE_INPUT_ROOT)_pb2.py',
|
| - '<(cc_dir)/<(RULE_INPUT_ROOT).pb.cc',
|
| - '<(cc_dir)/<(RULE_INPUT_ROOT).pb.h',
|
| + '<(py_dir)/<(proto_relpath)<(RULE_INPUT_ROOT)_pb2.py',
|
| + '<(cc_dir)/<(proto_relpath)<(RULE_INPUT_ROOT).pb.cc',
|
| + '<(cc_dir)/<(proto_relpath)<(RULE_INPUT_ROOT).pb.h',
|
| ],
|
| 'action': [
|
| '<(protoc)',
|
| '--proto_path=<(proto_in_dir)',
|
| # 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)',
|
| + '<(proto_in_dir)/<(proto_relpath)<(RULE_INPUT_ROOT)<(RULE_INPUT_EXT)',
|
| '--cpp_out=<(cc_dir)',
|
| '--python_out=<(py_dir)',
|
| ],
|
|
|