-def generate_source(headername, enums, messages):
- '''Generate content for a source file.'''
+# ---------------------------------------------------------------------------
+# Options parsing for the .proto files
+# ---------------------------------------------------------------------------
+
+from fnmatch import fnmatch
+
+def read_options_file(infile):
+ '''Parse a separate options file to list:
+ [(namemask, options), ...]
+ '''
+ results = []
+ for line in infile:
+ line = line.strip()
+ if not line or line.startswith('//') or line.startswith('#'):
+ continue
+
+ parts = line.split(None, 1)
+ opts = nanopb_pb2.NanoPBOptions()
+ text_format.Merge(parts[1], opts)
+ results.append((parts[0], opts))
+
+ return results
+
+class Globals:
+ '''Ugly global variables, should find a good way to pass these.'''
+ verbose_options = False
+ separate_options = []
+
+def get_nanopb_suboptions(subdesc, options, name):
+ '''Get copy of options, and merge information from subdesc.'''
+ new_options = nanopb_pb2.NanoPBOptions()
+ new_options.CopyFrom(options)