summaryrefslogtreecommitdiff
path: root/numpy/random/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/random/setup.py')
-rw-r--r--numpy/random/setup.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/numpy/random/setup.py b/numpy/random/setup.py
new file mode 100644
index 000000000..6525034a8
--- /dev/null
+++ b/numpy/random/setup.py
@@ -0,0 +1,53 @@
+from os.path import join, split
+
+def configuration(parent_package='',top_path=None):
+ from numpy.distutils.misc_util import Configuration, get_mathlibs
+ config = Configuration('random',parent_package,top_path)
+
+ def generate_libraries(ext, build_dir):
+ config_cmd = config.get_config_cmd()
+ if top_path is None:
+ libs = get_mathlibs()
+ else:
+ path = join(split(build_dir)[0],'core')
+ libs = get_mathlibs(path)
+ tc = testcode_wincrypt()
+ if config_cmd.try_run(tc):
+ libs.append('Advapi32')
+ ext.libraries.extend(libs)
+ return None
+
+ libs = []
+ # Configure mtrand
+ config.add_extension('mtrand',
+ sources=[join('mtrand', x) for x in
+ ['mtrand.c', 'randomkit.c', 'initarray.c',
+ 'distributions.c']]+[generate_libraries],
+ libraries=libs,
+ depends = [join('mtrand','*.h'),
+ join('mtrand','*.pyx'),
+ join('mtrand','*.pxi'),
+ ]
+ )
+
+ config.add_data_files(('.', join('mtrand', 'randomkit.h')))
+
+ return config
+
+def testcode_wincrypt():
+ return """\
+/* check to see if _WIN32 is defined */
+int main(int argc, char *argv[])
+{
+#ifdef _WIN32
+ return 0;
+#else
+#error No _WIN32
+#endif
+ return -1;
+}
+"""
+
+if __name__ == '__main__':
+ from numpy.distutils.core import setup
+ setup(configuration=configuration)