summaryrefslogtreecommitdiff
path: root/setup_base.py
diff options
context:
space:
mode:
authorArmin Rigo <arigo@tunes.org>2012-06-17 15:28:47 +0200
committerArmin Rigo <arigo@tunes.org>2012-06-17 15:28:47 +0200
commitcd6336d3342dc261cf8f428a4069884d089e5bbc (patch)
tree9fda5a586db5f8e612c29a825352a9fb449ae3ce /setup_base.py
parent800fd444c1bcbb277102864cc224b47d08db3887 (diff)
downloadcffi-cd6336d3342dc261cf8f428a4069884d089e5bbc.tar.gz
Split setup.py into a part in setup_base.py that can be used
even without having installed 'setuptools' previously.
Diffstat (limited to 'setup_base.py')
-rw-r--r--setup_base.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/setup_base.py b/setup_base.py
new file mode 100644
index 0000000..d4262af
--- /dev/null
+++ b/setup_base.py
@@ -0,0 +1,29 @@
+import sys, os
+
+
+sources = ['c/_ffi_backend.c']
+libraries = ['ffi']
+include_dirs = []
+
+
+if sys.platform == 'win32':
+ COMPILE_LIBFFI = 'libffi_msvc' # from the CPython distribution
+else:
+ COMPILE_LIBFFI = None
+
+if COMPILE_LIBFFI:
+ include_dirs.append(COMPILE_LIBFFI)
+ libraries.remove('ffi')
+ sources.extend(os.path.join(COMPILE_LIBFFI, filename)
+ for filename in os.listdir(COMPILE_LIBFFI)
+ if filename.lower().endswith('.c'))
+
+
+if __name__ == '__main__':
+ from distutils.core import setup
+ from distutils.extension import Extension
+ setup(ext_modules=[Extension(name = '_ffi_backend',
+ include_dirs=include_dirs,
+ sources=sources,
+ libraries=libraries,
+ )])