Fixes for pyinstaller
[apps/agl-service-can-low-level.git] / generator / nanopb_generator.py
index 7b3c9f8..6ccb96f 100755 (executable)
@@ -3,28 +3,37 @@
 '''Generate header file for nanopb from a ProtoBuf FileDescriptorSet.'''
 nanopb_version = "nanopb-0.2.5-dev"
 
+import sys
+
 try:
+    # Add some dummy imports to keep packaging tools happy.
     import google, distutils.util # bbfreeze seems to need these
+    import pkg_resources # pyinstaller / protobuf 2.5 seem to need these
+except:
+    # Don't care, we will error out later if it is actually important.
+    pass
+
+try:
     import google.protobuf.text_format as text_format
 except:
-    print
-    print "*************************************************************"
-    print "*** Could not import the Google protobuf Python libraries ***"
-    print "*** Try installing package 'python-protobuf' or similar.  ***"
-    print "*************************************************************"
-    print
+    sys.stderr.write('''
+         *************************************************************
+         *** Could not import the Google protobuf Python libraries ***
+         *** Try installing package 'python-protobuf' or similar.  ***
+         *************************************************************
+    ''' + '\n')
     raise
 
 try:
     import proto.nanopb_pb2 as nanopb_pb2
     import proto.descriptor_pb2 as descriptor
 except:
-    print
-    print "********************************************************************"
-    print "*** Failed to import the protocol definitions for generator.     ***"
-    print "*** You have to run 'make' in the nanopb/generator/proto folder. ***"
-    print "********************************************************************"
-    print
+    sys.stderr.write('''
+         ********************************************************************
+         *** Failed to import the protocol definitions for generator.     ***
+         *** You have to run 'make' in the nanopb/generator/proto folder. ***
+         ********************************************************************
+    ''' + '\n')
     raise