[PATCH 1 of 2] setup: refactor hasfunction in term of a more flexible cancompile
cboos at neuf.fr
cboos at neuf.fr
Wed Jun 16 17:30:18 UTC 2010
# HG changeset patch
# User cboos <cboos at neuf.fr>
# Date 1276709261 -7200
# Node ID 1458d799cc97e1dbb117c56e89500aa2a6d8bdf8
# Parent 0044193a1c45790bb3ab1ad998799244b70df1a2
setup: refactor hasfunction in term of a more flexible cancompile
diff -r 0044193a1c45 -r 1458d799cc97 setup.py
--- a/setup.py Tue Jun 15 19:49:56 2010 -0300
+++ b/setup.py Wed Jun 16 19:27:41 2010 +0200
@@ -49,14 +49,18 @@
# simplified version of distutils.ccompiler.CCompiler.has_function
# that actually removes its temporary files.
def hasfunction(cc, funcname):
+ return cancompile(cc, '', ' %s();\n' % funcname)
+
+def cancompile(cc, prelude, body):
tmpdir = tempfile.mkdtemp(prefix='hg-install-')
devnull = oldstderr = None
try:
try:
fname = os.path.join(tmpdir, 'funcname.c')
f = open(fname, 'w')
+ f.write(prelude)
f.write('int main(void) {\n')
- f.write(' %s();\n' % funcname)
+ f.write(body)
f.write('}\n')
f.close()
# Redirect stderr to /dev/null to hide any error messages
More information about the Mercurial-devel
mailing list