Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
f32b0271
Kaydet (Commit)
f32b0271
authored
Ock 04, 2004
tarafından
Tim Peters
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
The _ssl subproject may <heh> be working w/ VC6 again.
üst
c844a03e
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
184 additions
and
0 deletions
+184
-0
_ssl.mak
PC/VC6/_ssl.mak
+21
-0
build_ssl.py
PC/VC6/build_ssl.py
+163
-0
No files found.
PC/VC6/_ssl.mak
0 → 100644
Dosyayı görüntüle @
f32b0271
!IFDEF DEBUG
MODULE=_ssl_d.pyd
TEMP_DIR=x86-temp-debug/_ssl
CFLAGS=/Od /Zi /MDd /LDd /DDEBUG /D_DEBUG
SSL_LIB_DIR=$(SSL_DIR)/out32.dbg
!ELSE
MODULE=_ssl.pyd
TEMP_DIR=x86-temp-release/_ssl
CFLAGS=/Ox /MD /LD
SSL_LIB_DIR=$(SSL_DIR)/out32
!ENDIF
INCLUDES=-I ../../Include -I .. -I $(SSL_DIR)/inc32
LIBS=gdi32.lib wsock32.lib /libpath:$(SSL_LIB_DIR) libeay32.lib ssleay32.lib
SOURCE=../../Modules/_ssl.c $(SSL_LIB_DIR)/libeay32.lib $(SSL_LIB_DIR)/ssleay32.lib
$(MODULE): $(SOURCE) ../*.h ../../Include/*.h
@if not exist "$(TEMP_DIR)/." mkdir "$(TEMP_DIR)"
cl /nologo $(SOURCE) $(CFLAGS) /Fo$(TEMP_DIR)\$*.obj $(INCLUDES) /link /out:$(MODULE) $(LIBS)
PC/VC6/build_ssl.py
0 → 100644
Dosyayı görüntüle @
f32b0271
# Script for building the _ssl module for Windows.
# Uses Perl to setup the OpenSSL environment correctly
# and build OpenSSL, then invokes a simple nmake session
# for _ssl.pyd itself.
# THEORETICALLY, you can:
# * Unpack the latest SSL release one level above your main Python source
# directory. It is likely you will already find the zlib library and
# any other external packages there.
# * Install ActivePerl and ensure it is somewhere on your path.
# * Run this script from the PCBuild directory.
#
# it should configure and build SSL, then build the ssl Python extension
# without intervention.
import
os
,
sys
,
re
# Find all "foo.exe" files on the PATH.
def
find_all_on_path
(
filename
,
extras
=
None
):
entries
=
os
.
environ
[
"PATH"
]
.
split
(
os
.
pathsep
)
ret
=
[]
for
p
in
entries
:
fname
=
os
.
path
.
abspath
(
os
.
path
.
join
(
p
,
filename
))
if
os
.
path
.
isfile
(
fname
)
and
fname
not
in
ret
:
ret
.
append
(
fname
)
if
extras
:
for
p
in
extras
:
fname
=
os
.
path
.
abspath
(
os
.
path
.
join
(
p
,
filename
))
if
os
.
path
.
isfile
(
fname
)
and
fname
not
in
ret
:
ret
.
append
(
fname
)
return
ret
# Find a suitable Perl installation for OpenSSL.
# cygwin perl does *not* work. ActivePerl does.
# Being a Perl dummy, the simplest way I can check is if the "Win32" package
# is available.
def
find_working_perl
(
perls
):
for
perl
in
perls
:
fh
=
os
.
popen
(
perl
+
' -e "use Win32;"'
)
fh
.
read
()
rc
=
fh
.
close
()
if
rc
:
continue
return
perl
print
"Can not find a suitable PERL:"
if
perls
:
print
" the following perl interpreters were found:"
for
p
in
perls
:
print
" "
,
p
print
" None of these versions appear suitable for building OpenSSL"
else
:
print
" NO perl interpreters were found on this machine at all!"
print
" Please install ActivePerl and ensure it appears on your path"
print
"The Python SSL module was not built"
return
None
# Locate the best SSL directory given a few roots to look into.
def
find_best_ssl_dir
(
sources
):
candidates
=
[]
for
s
in
sources
:
try
:
s
=
os
.
path
.
abspath
(
s
)
fnames
=
os
.
listdir
(
s
)
except
os
.
error
:
fnames
=
[]
for
fname
in
fnames
:
fqn
=
os
.
path
.
join
(
s
,
fname
)
if
os
.
path
.
isdir
(
fqn
)
and
fname
.
startswith
(
"openssl-"
):
candidates
.
append
(
fqn
)
# Now we have all the candidates, locate the best.
best_parts
=
[]
best_name
=
None
for
c
in
candidates
:
parts
=
re
.
split
(
"[.-]"
,
os
.
path
.
basename
(
c
))[
1
:]
# eg - openssl-0.9.7-beta1 - ignore all "beta" or any other qualifiers
if
len
(
parts
)
>=
4
:
continue
if
parts
>
best_parts
:
best_parts
=
parts
best_name
=
c
if
best_name
is
not
None
:
print
"Found an SSL directory at '
%
s'"
%
(
best_name
,)
else
:
print
"Could not find an SSL directory in '
%
s'"
%
(
sources
,)
return
best_name
def
main
():
debug
=
"-d"
in
sys
.
argv
build_all
=
"-a"
in
sys
.
argv
make_flags
=
""
if
build_all
:
make_flags
=
"-a"
# perl should be on the path, but we also look in "\perl" and "c:\\perl"
# as "well known" locations
perls
=
find_all_on_path
(
"perl.exe"
,
[
"
\\
perl
\\
bin"
,
"C:
\\
perl
\\
bin"
])
perl
=
find_working_perl
(
perls
)
if
perl
is
None
:
sys
.
exit
(
1
)
print
"Found a working perl at '
%
s'"
%
(
perl
,)
# Look for SSL 3 levels up from pcbuild - ie, same place zlib etc all live.
ssl_dir
=
find_best_ssl_dir
((
"../../.."
,))
if
ssl_dir
is
None
:
sys
.
exit
(
1
)
old_cd
=
os
.
getcwd
()
try
:
os
.
chdir
(
ssl_dir
)
# If the ssl makefiles do not exist, we invoke Perl to generate them.
if
not
os
.
path
.
isfile
(
os
.
path
.
join
(
ssl_dir
,
"32.mak"
))
or
\
not
os
.
path
.
isfile
(
os
.
path
.
join
(
ssl_dir
,
"d32.mak"
)):
print
"Creating the makefiles..."
# Put our working Perl at the front of our path
os
.
environ
[
"PATH"
]
=
os
.
path
.
split
(
perl
)[
0
]
+
\
os
.
pathsep
+
\
os
.
environ
[
"PATH"
]
# ms\32all.bat will reconfigure OpenSSL and then try to build
# all outputs (debug/nondebug/dll/lib). So we filter the file
# to exclude any "nmake" commands and then execute.
tempname
=
"ms
\\
32all_py.bat"
in_bat
=
open
(
"ms
\\
32all.bat"
)
temp_bat
=
open
(
tempname
,
"w"
)
while
1
:
cmd
=
in_bat
.
readline
()
print
'cmd'
,
repr
(
cmd
)
if
not
cmd
:
break
if
cmd
.
strip
()[:
5
]
.
lower
()
==
"nmake"
:
continue
temp_bat
.
write
(
cmd
)
in_bat
.
close
()
temp_bat
.
close
()
os
.
system
(
tempname
)
try
:
os
.
remove
(
tempname
)
except
:
pass
# Now run make.
print
"Executing nmake over the ssl makefiles..."
if
debug
:
rc
=
os
.
system
(
"nmake /nologo -f d32.mak"
)
if
rc
:
print
"Executing d32.mak failed"
print
rc
sys
.
exit
(
rc
)
else
:
rc
=
os
.
system
(
"nmake /nologo -f 32.mak"
)
if
rc
:
print
"Executing 32.mak failed"
print
rc
sys
.
exit
(
rc
)
finally
:
os
.
chdir
(
old_cd
)
# And finally, we can build the _ssl module itself for Python.
defs
=
"SSL_DIR=
%
s"
%
(
ssl_dir
,)
if
debug
:
defs
=
defs
+
" "
+
"DEBUG=1"
rc
=
os
.
system
(
'nmake /nologo -f _ssl.mak '
+
defs
+
" "
+
make_flags
)
sys
.
exit
(
rc
)
if
__name__
==
'__main__'
:
main
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment