setup.py
changeset 30408 ce9a3033c118
parent 30346 9cc438bf7d9a
child 30436 788ea4ac4388
equal deleted inserted replaced
30407:e1677cc29da6 30408:ce9a3033c118
    65 from distutils import log
    65 from distutils import log
    66 if 'FORCE_SETUPTOOLS' in os.environ:
    66 if 'FORCE_SETUPTOOLS' in os.environ:
    67     from setuptools import setup
    67     from setuptools import setup
    68 else:
    68 else:
    69     from distutils.core import setup
    69     from distutils.core import setup
       
    70 from distutils.ccompiler import new_compiler
    70 from distutils.core import Command, Extension
    71 from distutils.core import Command, Extension
    71 from distutils.dist import Distribution
    72 from distutils.dist import Distribution
    72 from distutils.command.build import build
    73 from distutils.command.build import build
    73 from distutils.command.build_ext import build_ext
    74 from distutils.command.build_ext import build_ext
    74 from distutils.command.build_py import build_py
    75 from distutils.command.build_py import build_py
   551 
   552 
   552 common_depends = ['mercurial/bitmanipulation.h',
   553 common_depends = ['mercurial/bitmanipulation.h',
   553                   'mercurial/compat.h',
   554                   'mercurial/compat.h',
   554                   'mercurial/util.h']
   555                   'mercurial/util.h']
   555 
   556 
       
   557 osutil_cflags = []
   556 osutil_ldflags = []
   558 osutil_ldflags = []
       
   559 
       
   560 # platform specific macros: HAVE_SETPROCTITLE
       
   561 for plat, func in [(re.compile('freebsd'), 'setproctitle')]:
       
   562     if plat.search(sys.platform) and hasfunction(new_compiler(), func):
       
   563         osutil_cflags.append('-DHAVE_%s' % func.upper())
   557 
   564 
   558 if sys.platform == 'darwin':
   565 if sys.platform == 'darwin':
   559     osutil_ldflags += ['-framework', 'ApplicationServices']
   566     osutil_ldflags += ['-framework', 'ApplicationServices']
   560 
   567 
   561 extmodules = [
   568 extmodules = [
   573                                     'mercurial/manifest.c',
   580                                     'mercurial/manifest.c',
   574                                     'mercurial/parsers.c',
   581                                     'mercurial/parsers.c',
   575                                     'mercurial/pathencode.c'],
   582                                     'mercurial/pathencode.c'],
   576               depends=common_depends),
   583               depends=common_depends),
   577     Extension('mercurial.osutil', ['mercurial/osutil.c'],
   584     Extension('mercurial.osutil', ['mercurial/osutil.c'],
       
   585               extra_compile_args=osutil_cflags,
   578               extra_link_args=osutil_ldflags,
   586               extra_link_args=osutil_ldflags,
   579               depends=common_depends),
   587               depends=common_depends),
   580     Extension('hgext.fsmonitor.pywatchman.bser',
   588     Extension('hgext.fsmonitor.pywatchman.bser',
   581               ['hgext/fsmonitor/pywatchman/bser.c']),
   589               ['hgext/fsmonitor/pywatchman/bser.c']),
   582     ]
   590     ]