summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorDwayne C. Litzenberger <dlitz@dlitz.net>2011-10-10 14:51:07 -0400
committerDwayne C. Litzenberger <dlitz@dlitz.net>2011-10-10 14:51:07 -0400
commitbf38995ffa51e28b8232e9417b450a8edbd23dec (patch)
tree7dfa5ffa862d9b47a97c19a027e6673e1567c4c6 /setup.py
parentb5cd39f31bd34598e4b166db83328d71ca2b7b33 (diff)
parent9cfb332b22e38b9d965bfb691eca67b6b8fa64e3 (diff)
downloadpycrypto-bf38995ffa51e28b8232e9417b450a8edbd23dec.tar.gz
Merge branch 'master' into py3k
Conflicts: setup.py src/_fastmath.c
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py27
1 files changed, 24 insertions, 3 deletions
diff --git a/setup.py b/setup.py
index 63f5d57..fa2e011 100644
--- a/setup.py
+++ b/setup.py
@@ -38,6 +38,7 @@ __revision__ = "$Id$"
from distutils import core
from distutils.core import Extension, Command
+from distutils.command.build import build
from distutils.command.build_ext import build_ext
import os, sys
@@ -248,6 +249,27 @@ class PCTBuildExt (build_ext):
if compiler is not None:
compiler.append(option)
+class PCTBuild(build):
+ def has_configure(self):
+ return sys.platform != 'win32'
+
+ sub_commands = [ ('build_configure', has_configure) ] + build.sub_commands
+
+class PCTBuildConfigure(Command):
+ description = "Generate config.h using ./configure (autoconf)"
+
+ def initialize_options(self):
+ pass
+
+ def finalize_options(self):
+ pass
+
+ def run(self):
+ if os.system("chmod 0755 configure") != 0:
+ raise RuntimeError("chmod error")
+ if os.system("./configure") != 0:
+ raise RuntimeError("autoconf error")
+
class PCTBuildPy(build_py):
def find_package_modules(self, package, package_dir, *args, **kwargs):
modules = build_py.find_package_modules(self, package, package_dir,
@@ -319,9 +341,8 @@ kw = {'name':"pycrypto",
'author_email':"dlitz@dlitz.net",
'url':"http://www.pycrypto.org/",
- 'cmdclass' : {'build_ext':PCTBuildExt, 'build_py': PCTBuildPy,
- 'test': TestCommand },
- 'packages' : ["Crypto", "Crypto.Hash", "Crypto.Cipher", "Crypto.Util",
+ 'cmdclass' : {'build': PCTBuild, 'build_configure': PCTBuildConfigure, 'build_ext':PCTBuildExt, 'build_py': PCTBuildPy, 'test': TestCommand },
+ 'packages' : ["Crypto", "Crypto.Hash", "Crypto.Cipher", "Crypto.Util",
"Crypto.Random",
"Crypto.Random.Fortuna",
"Crypto.Random.OSRNG",