Distribution and installation

The new module setup.py handles creation of package distributions in
compressed formats, and performs installation of said distributions
after decompression. Distribution strategy for PyDTLS is in the form
of source distributions only.

Building the OpenSSL library on Windows is non-trivial. Requirements
include linking against the same version of the C runtime that is used
by the Python interpreter, or else Microsoft redistributable
installation may also need to be performed. For the convenience of
Windows users, the distribution procedure includes creation of
prebuilt versions of the OpenSSL library for both 32- and 64-bit
versions of Windows. Despite containing binaries, these are still
source distributions that are installed with "python setup.py
install."

A version of OpenSSL compiled with the MinGW toolchain is included.
cygcrypto-1.0.0.dll and cygssl-1.0.0.dll contain symbols and can be
debugged with gdb. All MinGW OpenSSL dll's link with msvcr90.dll.

In order to avoid making installation a requirement after cloning, the
package initializer looks for prebuilts of the currently executing
platform and copies them into the dtls package directory before
continuing module initialization.

A distribution containing prebuilts for all platforms as well as those
containing no prebuilts (appropriate for Linux) can be generated by
issuing "python setup.py sdist --prebuilts."
This commit is contained in:
Ray Brown committed 2012-12-16 20:22:49 -08:00
1 parent 8800ffa238
commit 62f30a1888
13 files changed
+167

No files matched your search

Binary file not shown.
Binary file not shown.
Binary file not shown.
+16
View File
@@ -0,0 +1,16 @@
# Prebuilt directory manifest. Written by Ray Brown.
# This file is executed by the distribution builder, as well as the dtls
# package startup code; the purpose of the latter is being able to run
# from a cloned source directory without executing any sort of installation
# procedure. This file provides the definitions required to create
# a distribution including this directory's prebuilts.
from os import path
from glob import glob
assert MANIFEST_DIR
ARCHITECTURE = "mingw-win32"
FORMATS = "gztar"
FILES = map(lambda x: path.basename(x),
glob(path.join(MANIFEST_DIR, "*.dll")))
Binary file not shown.