summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2014-06-04 15:08:17 -0600
committerCharles Harris <charlesr.harris@gmail.com>2014-06-04 15:08:17 -0600
commit7860d2ed526d6d1f74ca84826782bf84d0db9b2e (patch)
treec847088cacb70546f7e4c4ae44cf62c7ad5b3175
parentc345ee6e67aed2b42c7bed08827e7b4feca6af89 (diff)
parent3cca518407b638d4e901241c8dc75e480a5652a2 (diff)
downloadnumpy-7860d2ed526d6d1f74ca84826782bf84d0db9b2e.tar.gz
Merge pull request #4781 from juliantaylor/cpucaps-build
BLD: add a simple python file to build cpucaps.dll
-rw-r--r--tools/win32build/README.txt2
-rw-r--r--tools/win32build/build-cpucaps.py15
2 files changed, 17 insertions, 0 deletions
diff --git a/tools/win32build/README.txt b/tools/win32build/README.txt
index fe8522c19..0aba2045e 100644
--- a/tools/win32build/README.txt
+++ b/tools/win32build/README.txt
@@ -48,6 +48,8 @@ cpuid. To build it, you have two options:
- with scons: if you have scons, just do scons install. It will build
and put the CpuCaps.dll in the plugins directory of nsis (if you
install nsis in the default path).
+ - run build-cpucaps.py with a windows python, e.g.
+ wine "C:\Python27\python" build-cpucaps.py
build.py:
---------
diff --git a/tools/win32build/build-cpucaps.py b/tools/win32build/build-cpucaps.py
new file mode 100644
index 000000000..d6a9dabc2
--- /dev/null
+++ b/tools/win32build/build-cpucaps.py
@@ -0,0 +1,15 @@
+import os
+import subprocess
+# build cpucaps.dll
+# needs to be run in tools/win32build folder under wine
+# e.g. wine "C:\Python27\python" build-cpucaps.py
+cc = os.environ.get('CC', 'gcc')
+fmt = (cc, os.getcwd())
+cmd = '"{0}" -o cpucaps_main.o -c -W -Wall "-I{1}/cpuid" "-I{1}/cpucaps" cpucaps/cpucaps_main.c'.format(*fmt)
+subprocess.check_call(cmd, shell=True)
+cmd = '"{0}" -o cpuid.o -c -W -Wall "-I{1}/cpuid" cpuid/cpuid.c'.format(*fmt)
+subprocess.check_call(cmd, shell=True)
+cmd = '"{0}" -shared -Wl,--out-implib,libcpucaps.a -o cpucaps.dll cpuid.o cpucaps_main.o'.format(*fmt)
+subprocess.check_call(cmd, shell=True)
+os.remove('cpuid.o')
+os.remove('cpucaps_main.o')