Allow using = instead of : with generator option -s
Relevant only for very old protoc versions where --nanopb_opt=
cannot be used, and --nanopb_out= parsing fails on colon.
I'm adding this just to be able to keep the regression test suite
running with protoc 3.0.0 also.
diff --git a/generator/nanopb_generator.py b/generator/nanopb_generator.py
index a56bffd..03751c4 100755
--- a/generator/nanopb_generator.py
+++ b/generator/nanopb_generator.py
@@ -2362,6 +2362,8 @@
'''Parse a single file. Returns a ProtoFile instance.'''
toplevel_options = nanopb_pb2.NanoPBOptions()
for s in options.settings:
+ if ':' not in s and '=' in s:
+ s = s.replace('=', ':')
text_format.Merge(s, toplevel_options)
if not fdesc:
diff --git a/tests/regression/issue_795/SConscript b/tests/regression/issue_795/SConscript
index 1ef86a8..e7295e3 100644
--- a/tests/regression/issue_795/SConscript
+++ b/tests/regression/issue_795/SConscript
@@ -6,7 +6,7 @@
opts = env.Clone()
-opts.Append(NANOPBFLAGS = "-s mangle_names:M_STRIP_PACKAGE")
+opts.Append(NANOPBFLAGS = "-s mangle_names=M_STRIP_PACKAGE")
opts.NanopbProto("test.proto")
opts.NanopbProto("test2.proto")
diff --git a/tests/site_scons/site_tools/nanopb.py b/tests/site_scons/site_tools/nanopb.py
index 4abf02a..0b46c09 100644
--- a/tests/site_scons/site_tools/nanopb.py
+++ b/tests/site_scons/site_tools/nanopb.py
@@ -152,7 +152,7 @@
else:
nanopb_flags = '--source-extension=%s,--header-extension=%s:.' % (source_extension, header_extension)
- return SCons.Action.CommandAction('$PROTOC $PROTOCFLAGS %s --nanopb_out=%s %s' % (include_dirs, nanopb_flags, srcfile),
+ return SCons.Action.CommandAction('$PROTOC $PROTOCFLAGS %s "--nanopb_out=%s" %s' % (include_dirs, nanopb_flags, srcfile),
chdir = prefix)
def _nanopb_proto_emitter(target, source, env):