~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to setup.py

Merge cleanup into first-try

Show diffs side-by-side

added added

removed removed

Lines of Context:
125
125
                f = file(batch_path, "w")
126
126
                f.write(batch_str)
127
127
                f.close()
128
 
                print "Created:", batch_path
129
 
            except Exception, e:
130
 
                print "ERROR: Unable to create %s: %s" % (batch_path, e)
 
128
                print("Created: %s" % batch_path)
 
129
            except Exception:
 
130
                e = sys.exc_info()[1]
 
131
                print("ERROR: Unable to create %s: %s" % (batch_path, e))
131
132
 
132
133
    def _quoted_path(self, path):
133
134
        if ' ' in path:
171
172
        from Pyrex.Distutils import build_ext
172
173
        from Pyrex.Compiler.Version import version as pyrex_version
173
174
    except ImportError:
174
 
        print "No Pyrex, trying Cython..."
 
175
        print("No Pyrex, trying Cython...")
175
176
        from Cython.Distutils import build_ext
176
177
        from Cython.Compiler.Version import version as pyrex_version
177
178
except ImportError:
178
179
    have_pyrex = False
179
180
    # try to build the extension from the prior generated source.
180
 
    print
181
 
    print ("The python package 'Pyrex' is not available."
182
 
           " If the .c files are available,")
183
 
    print ("they will be built,"
184
 
           " but modifying the .pyx files will not rebuild them.")
185
 
    print
 
181
    print("")
 
182
    print("The python package 'Pyrex' is not available."
 
183
          " If the .c files are available,")
 
184
    print("they will be built,"
 
185
          " but modifying the .pyx files will not rebuild them.")
 
186
    print("")
186
187
    from distutils.command.build_ext import build_ext
187
188
else:
188
189
    have_pyrex = True
204
205
    def run(self):
205
206
        try:
206
207
            build_ext.run(self)
207
 
        except DistutilsPlatformError, e:
 
208
        except DistutilsPlatformError:
 
209
            e = sys.exc_info()[1]
208
210
            if not self.allow_python_fallback:
209
211
                log.warn('\n  Cannot build extensions.\n'
210
212
                         '  Use "build_ext --allow-python-fallback" to use'
289
291
        # which is NULL safe with PY_DECREF which is not.)
290
292
        # <https://bugs.edge.launchpad.net/bzr/+bug/449372>
291
293
        # <https://bugs.edge.launchpad.net/bzr/+bug/276868>
292
 
        print 'Cannot build extension "bzrlib._dirstate_helpers_pyx" using'
293
 
        print 'your version of pyrex "%s". Please upgrade your pyrex' % (
294
 
            pyrex_version,)
295
 
        print 'install. For now, the non-compiled (python) version will'
296
 
        print 'be used instead.'
 
294
        print('Cannot build extension "bzrlib._dirstate_helpers_pyx" using')
 
295
        print('your version of pyrex "%s". Please upgrade your pyrex' % (
 
296
            pyrex_version,))
 
297
        print('install. For now, the non-compiled (python) version will')
 
298
        print('be used instead.')
297
299
    else:
298
300
        add_pyrex_extension('bzrlib._dirstate_helpers_pyx')
299
301
    add_pyrex_extension('bzrlib._readdir_pyx')
301
303
ext_modules.append(Extension('bzrlib._patiencediff_c',
302
304
                             ['bzrlib/_patiencediff_c.c']))
303
305
if have_pyrex and pyrex_version_info < (0, 9, 6, 3):
304
 
    print
305
 
    print 'Your Pyrex/Cython version %s is too old to build the simple_set' % (
306
 
        pyrex_version)
307
 
    print 'and static_tuple extensions.'
308
 
    print 'Please upgrade to at least Pyrex 0.9.6.3'
309
 
    print
 
306
    print("")
 
307
    print('Your Pyrex/Cython version %s is too old to build the simple_set' % (
 
308
        pyrex_version))
 
309
    print('and static_tuple extensions.')
 
310
    print('Please upgrade to at least Pyrex 0.9.6.3')
 
311
    print("")
310
312
    # TODO: Should this be a fatal error?
311
313
else:
312
314
    # We only need 0.9.6.3 to build _simple_set_pyx, but static_tuple depends
318
320
 
319
321
 
320
322
if unavailable_files:
321
 
    print 'C extension(s) not found:'
322
 
    print '   %s' % ('\n  '.join(unavailable_files),)
323
 
    print 'The python versions will be used instead.'
324
 
    print
 
323
    print('C extension(s) not found:')
 
324
    print('   %s' % ('\n  '.join(unavailable_files),))
 
325
    print('The python versions will be used instead.')
 
326
    print("")
325
327
 
326
328
 
327
329
def get_tbzr_py2exe_info(includes, excludes, packages, console_targets,
677
679
        # print this warning to stderr as output is redirected, so it is seen
678
680
        # at build time.  Also to stdout so it appears in the log
679
681
        for f in (sys.stderr, sys.stdout):
680
 
            print >> f, \
681
 
                "Skipping TBZR binaries - please set TBZR to a directory to enable"
 
682
            f.write("Skipping TBZR binaries - "
 
683
                "please set TBZR to a directory to enable\n")
682
684
 
683
685
    # MSWSOCK.dll is a system-specific library, which py2exe accidentally pulls
684
686
    # in on Vista.
691
693
                               "optimize": 2,
692
694
                              },
693
695
                   }
694
 
 
695
 
    setup(options=options_list,
696
 
          console=console_targets,
697
 
          windows=gui_targets,
698
 
          zipfile='lib/library.zip',
699
 
          data_files=data_files,
700
 
          cmdclass={'install_data': install_data_with_bytecompile},
701
 
          )
 
696
    if __name__ == '__main__':
 
697
        setup(options=options_list,
 
698
              console=console_targets,
 
699
              windows=gui_targets,
 
700
              zipfile='lib/library.zip',
 
701
              data_files=data_files,
 
702
              cmdclass={'install_data': install_data_with_bytecompile},
 
703
              )
702
704
 
703
705
else:
704
706
    # ad-hoc for easy_install
732
734
    ARGS.update(BZRLIB)
733
735
    ARGS.update(PKG_DATA)
734
736
 
735
 
    setup(**ARGS)
 
737
    if __name__ == '__main__':
 
738
        setup(**ARGS)