This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author MarkE
Recipients MarkE
Date 2008-06-13.17:40:41
SpamBayes Score 7.638578e-06
Marked as misclassified No
Message-id <1213378847.48.0.141429051265.issue3105@psf.upfronthosting.co.za>
In-reply-to
Content
*Problem*
The directory structure of PCBuild8 differs from PCBuild in that each
project has its own subdirectory.
There is no subdirectory for _ssl, and the files that would belong in it
are also omitted.

*Solution*
The attached files, based on those included with the Python 2.5.2
PCBuild release for windows in the svn Python25 maintenance trunk
(http://svn.python.org/projects/python/branches/release25-maint/PCbuild/),
should be placed in a new directory PCBuild8\_ssl.
Once added to the parent solution file pcbuild.sln, the _ssl project
will simply build if the normal instructions have been followed.

*Changes*
Since this is a change in location, both _ssl.mak and build_ssl.py have
been altered to reflect the extra level of nesting.
As a result, the #pragma comment(lib, "Python25") in pyconfig.h did not
work. In order to add the appropriate directory to the LIB path in
_ssl.mak, build_py.py now takes an additional (second) command line
parameter derived from visual studio's $(PlatformName). This is used to
define an variable PLATFORM_NAME passed to _ssl.mak which is used to
deduce the directory containing python25.lib. The accompanying
_ssl.vcproj has been migrated from the Visual Studio 2003 vcproj file in
PCBuild, and passes the additional $(PlatformName) parameter.
_ssl.mak has also been adjusted to output a .pdb file and keep the root
_ssl directory clean, copying existing behaviour for all the other projects.
This has resulted in some ugly usage of special path splitting NMAKE
syntax (grep for %|fF.obj) which doesn't work with the @<< syntax. As a
result the link stage has been split across several lines. Someone with
a better knowledge of makefiles in general and NMAKE in particular can
probably improve on this, but it does work, and is otherwise legible.

Note that this sub-directory file structure is new in this release, and
that the Python3k trunk seems to be reverting to the flat file structure.
These additions are still helpful since they should just work out of the
box, and allow people using the current recommended build of Python
(2.5.2) to compile the ssl and hashlib modules.

*Additional Details*
Built on Windows XP SP2 with MSVS2005 SP1. Details appended to this message.
Built against openssl-0.9.8h, which is later than the standard Python25
distribution.
Note that the assembly file based build of openssl-0.9.8h, which is
triggered by build_ssl.py, currently has a small bug. See
http://www.mail-archive.com/openssl-dev@openssl.org/msg24059.html
This is easily fixed by the following one line change to
openssl-0.9.8h\crypto\perlasm\x86ms.pl
"In this file, the line 273 containing "$extra" should be removed to be
able to compile the generated assembly files."
If an openssl build has been attempted prior to this step, delete all
out32 and tmp32 directories under openssl-0.9.8h

*Code and Patch*
Attached is a zip file containing the altered files, and a patch
generated using cygwin's diff run with the command line -uarN.
The patch can be applied by:
cd PCBuild8
mkdir _ssl
cd _ssl
patch -u -p1 < [wherever_the_patch_file_is_downloaded_to]\_ssl.patch

*Tested*
Compiles and imports fine with Release and Debug builds. Other builds
(AMD, Itanium) untested.

*Build Details*
Compiled against openssl-0.9.8h

Microsoft Visual Studio 2005
Version 8.0.50727.762  (SP.050727-7600)
Microsoft .NET Framework
Version 2.0.50727 SP1

Installed Edition: Professional
Microsoft Visual C++ 2005   77626-009-0000007-41042
Microsoft Visual C++ 2005
Microsoft Visual Studio 2005 Professional Edition - ENU Service Pack 1
(KB926601)
History
Date User Action Args
2008-06-13 17:40:48MarkEsetspambayes_score: 7.63858e-06 -> 7.638578e-06
recipients: + MarkE
2008-06-13 17:40:47MarkEsetspambayes_score: 7.63858e-06 -> 7.63858e-06
messageid: <1213378847.48.0.141429051265.issue3105@psf.upfronthosting.co.za>
2008-06-13 17:40:46MarkElinkissue3105 messages
2008-06-13 17:40:42MarkEcreate