simple py3 changes
diff --git a/doxybuild.py b/doxybuild.py
index 588767f..0b61c39 100644
--- a/doxybuild.py
+++ b/doxybuild.py
@@ -1,12 +1,12 @@
 """Script to generate doxygen documentation.
 """
-
+from __future__ import print_function
+from devtools import tarball
 import re
 import os
 import os.path
 import sys
 import shutil
-from devtools import tarball
 
 def find_program(*filenames):
     """find a program in folders path_lst, and sets env[var]
@@ -33,9 +33,9 @@
         contents = f.read()
         f.close()
     except:
-        print "Can't read source file %s"%sourcefile
+        print("Can't read source file %s"%sourcefile)
         raise
-    for (k,v) in dict.items():
+    for (k,v) in list(dict.items()):
         v = v.replace('\\','\\\\') 
         contents = re.sub(k, v, contents)
     try:
@@ -43,7 +43,7 @@
         f.write(contents)
         f.close()
     except:
-        print "Can't write target file %s"%targetfile
+        print("Can't write target file %s"%targetfile)
         raise
 
 def run_doxygen(doxygen_path, config_file, working_dir, is_silent):
@@ -53,12 +53,12 @@
     try:
         os.chdir( working_dir )
         cmd = [doxygen_path, config_file]
-        print 'Running:', ' '.join( cmd )
+        print('Running:', ' '.join( cmd ))
         try:
             import subprocess
         except:
             if os.system( ' '.join( cmd ) ) != 0:
-                print 'Documentation generation failed'
+                print('Documentation generation failed')
                 return False
         else:
             if is_silent:
@@ -67,8 +67,8 @@
                 process = subprocess.Popen( cmd )
             stdout, _ = process.communicate()
             if process.returncode:
-                print 'Documentation generation failed:'
-                print stdout
+                print('Documentation generation failed:')
+                print(stdout)
                 return False
         return True
     finally:
@@ -107,7 +107,7 @@
         }
 
     if os.path.isdir( output_dir ):
-        print 'Deleting directory:', output_dir
+        print('Deleting directory:', output_dir)
         shutil.rmtree( output_dir )
     if not os.path.isdir( output_dir ):
         os.makedirs( output_dir )
@@ -115,15 +115,15 @@
     do_subst_in_file( 'doc/doxyfile', 'doc/doxyfile.in', subst_keys )
     ok = run_doxygen( options.doxygen_path, 'doc/doxyfile', 'doc', is_silent=options.silent )
     if not options.silent:
-        print open(warning_log_path, 'rb').read()
+        print(open(warning_log_path, 'rb').read())
     index_path = os.path.abspath(os.path.join('doc', subst_keys['%HTML_OUTPUT%'], 'index.html'))
-    print 'Generated documentation can be found in:'
-    print index_path
+    print('Generated documentation can be found in:')
+    print(index_path)
     if options.open:
         import webbrowser
         webbrowser.open( 'file://' + index_path )
     if options.make_tarball:
-        print 'Generating doc tarball to', tarball_path
+        print('Generating doc tarball to', tarball_path)
         tarball_sources = [
             output_dir,
             'README.txt',