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 ] |