| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- INSTALLATION INSTRUCTIONS FOR pyOpenSSL
- ------------------------------------------------------------------------------
- I have tested this on Debian Linux systems (woody and sid), Solaris 2.6 and
- 2.7. Others have successfully compiled it on Windows and NT.
- -- Building the Module on a Unix System --
- pyOpenSSL uses distutils, so there really shouldn't be any problems. To build
- the library:
- $ python setup.py build
- If your OpenSSL header files aren't in /usr/include, you may need to supply
- the -I flag to let the setup script know where to look. The same goes for the
- libraries of course, use the -L flag. Note that build won't accept these
- flags, so you have to run first build_ext and then build! Example:
- $ python setup.py build_ext -I/usr/local/ssl/include -L/usr/local/ssl/lib
- $ python setup.py build
- Now you should have a directory called OpenSSL that contains e.g. SSL.so and
- __init__.py somewhere in the build dicrectory, so just:
- $ python setup.py install
- If you, for some arcane reason, don't want the module to appear in the
- site-packages directory, use the --prefix option.
- You can, of course, do
- $ python setup.py --help
- to find out more about how to use the script.
- -- Building the Module on a Windows System --
- First you should get OpenSSL linked with the same runtime library that Python
- uses. If you are using Python 2.6 you can use the installer at:
- http://www.slproweb.com/products/Win32OpenSSL.html
- The binaries in the installer are built with Visual Studio 2008 at the
- time of this writing, which is the same compiler used for building the
- official Python 2.6 installers.
- If you want to build pyOpenSSL for an older Python version, it is preferred
- to build OpenSSL yourself, either with the Visual Studio 2003 compiler or
- with the MinGW compiler. This way you avoid all potential incompatibilities
- between different versions of runtime library (msvcrt.dll). To build
- OpenSSL follow the instructions in its source distribution and make sure
- that you build a shared library, not a static one. pyOpenSSL fails some of
- its tests when linked with the static OpenSSL libraries. Use the same
- compiler for OpenSSL that you will use for pyOpenSSL later. Make sure that
- OpenSSL is properly installed before continuing. To install OpenSSL when
- building with MinGW, use the folowing script:
- set OPENSSL_INSTALL_DIR=%1
- mkdir %OPENSSL_INSTALL_DIR%
- mkdir %OPENSSL_INSTALL_DIR%\bin
- mkdir %OPENSSL_INSTALL_DIR%\include
- mkdir %OPENSSL_INSTALL_DIR%\include\openssl
- mkdir %OPENSSL_INSTALL_DIR%\lib
- copy /b .\*.dll %OPENSSL_INSTALL_DIR%\bin
- copy /b .\out\openssl.exe %OPENSSL_INSTALL_DIR%\bin
- copy /b .\outinc\openssl\* %OPENSSL_INSTALL_DIR%\include\openssl
- copy /b .\out\*.a %OPENSSL_INSTALL_DIR%\lib
- Ensure that OpenSSL's openssl.exe executable can be found on PATH before
- running pyOpenSSL's setup script. The setup script finds OpenSSL's include
- dir and lib dir based on the location of openssl.exe, and the test suite
- requires openssl.exe for output comparison. Alternatively, you can specify
- the --with-openssl option to setup.py's build_ext command with the path to
- the OpenSSL installation dir:
- > python setup.py build_ext --with-openssl=C:\path\to\openssl build
- pyOpenSSL is known to build with mingw32 for Python 2.3 through Python 2.5.
- Before using the mingw32 compiler for Python 2.3, you will have to create
- a Python library that MinGW understands. Find and download the pexports
- program, put it and MinGW's bin directory on path, then run from Python's
- install dir:
- > pexports python23.dll > libs\python23.def
- > dlltool --dllname python23.dll --def libs\python23.def \
- --output-lib libs\libpython23.a
- For Python 2.4 and 2.5, no special preparation is needed, just make sure that
- MinGW's gcc is on PATH. You can specify that mingw32 be used by passing
- the --compiler argument to build_ext:
- C:\pyOpenSSL-X.Y> setup.py build_ext -c mingw32 bdist_msi
- The bdist_msi command will build an MSI installer. It can be substituted
- with another bdist command if another kind of installer is desired or with
- the install command if you want to install directly.
- For Python 2.4 and 2.5 you can use Visual Studio 2003 in addition to MinGW.
- For Python 2.6, the official Windows installer of which is built with
- Microsoft Visual Studio 2008 (version 9.0), Microsoft Visual Studio 2008
- (version 9.0) is required.
- To build with MSVC, just omit the compiler specific option:
- C:\pyOpenSSL-X.Y> setup.py bdist_msi
- The resulting binary distribution will be placed in the dist directory. To
- install it, depending on what kind of distribution you create, run it,
- unzip it, or copy it to Python installation's site-packages.
- And similarily, you can do
- setup.py --help
- to get more information.
- Big thanks to Itamar Shtull-Trauring, Oleg Orlov, Zooko O'Whielacronx, Chris
- Galvan, Žiga Seilnacht, and #python and #distutils on FreeNode for their
- help with Windows build instructions and to Michael Schneider for providing
- Windows build hosts.
- -- Documentation --
- The documentation is written in LaTeX, using the standard Python templates,
- and tools to compile it into a number of forms are included. You need to
- supply things like dvips, latex2html yourself of course!
- To build the text, html, postscript or dvi forms of the documentation, this is
- what you do:
- cd doc
- # To make the text-only documentation:
- make text
- # To make the dvi form:
- make dvi
- It's as simple as that. Note that since Python's mkhowto script is used, if
- you do first ``make dvi'' and then ``make ps'', the dvi file will disappear.
- I included a special build target ``make all'' that will build all the
- documentation in an order that won't let anything disappear.
- @(#) $Id: INSTALL,v 1.7 2002/06/14 12:14:19 martin Exp $
|