setup.py
author mpm@selenic.com
Sat, 04 Jun 2005 14:16:32 -0800
changeset 249 619e775aa7f9
parent 241 afe895fcc0d0
child 400 8b067bde6679
child 423 25afb21d97ba
permissions -rw-r--r--
import and startup cleanups -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 import and startup cleanups add commands:run() add copyright notice to commands eliminate/reorganize imports to speed up start time: 0.5b: $ time bash -c 'for i in `seq 100`; do ~/bin/hg > /dev/null; done' real 0m7.718s user 0m6.719s sys 0m0.794s new: $ time bash -c 'for i in `seq 100`; do hg > /dev/null; done' real 0m2.171s user 0m1.684s sys 0m0.444s just python: $ time bash -c 'for i in `seq 100`; do python -c pass; done' real 0m0.988s user 0m0.771s sys 0m0.207s Ignoring the fixed cost of loading the Python interpreter, we're 5.6 times faster. With the Python load time, we're still 3.5 times faster. manifest hash: acce5882a55c76eb165316f5741724c8ce4ef587 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCoihAywK+sNU5EO8RAqMdAJwMe6Ur0R9G6jjayNa5hH2C3c4k/gCeIYvc N178vaWWGciX9zq+g5qCAls= =buhv -----END PGP SIGNATURE-----

#!/usr/bin/env python

# This is the mercurial setup script. 
#
# './setup.py install', or
# './setup.py --help' for more options

import glob
from distutils.core import setup, Extension
from distutils.command.install_data import install_data

class install_package_data(install_data):
    def finalize_options(self):
        self.set_undefined_options('install',
                                   ('install_lib', 'install_dir'))
        install_data.finalize_options(self)

setup(name='mercurial',
      version='0.5b',
      author='Matt Mackall',
      author_email='mpm@selenic.com',
      url='http://selenic.com/mercurial',
      description='scalable distributed SCM',
      license='GNU GPL',
      packages=['mercurial'],
      ext_modules=[Extension('mercurial.mpatch', ['mercurial/mpatch.c'])],
      data_files=[('mercurial/templates',
                   ['templates/map'] +
                   glob.glob('templates/map-*') +
                   glob.glob('templates/*.tmpl'))], 
      cmdclass = { 'install_data' : install_package_data },
      scripts=['hg', 'hgmerge'])