mirror of
https://github.com/AdaCore/cpython.git
synced 2026-02-12 12:57:15 -08:00
Automate build for python3.dll.
Package missing files.
This commit is contained in:
10
PC/python3.mak
Normal file
10
PC/python3.mak
Normal file
@@ -0,0 +1,10 @@
|
||||
$(OutDir)python32.dll: python3.def $(OutDir)python32stub.lib
|
||||
cl /LD /Fe$(OutDir)python3.dll python3dll.c python3.def $(OutDir)python32stub.lib
|
||||
|
||||
$(OutDir)python32stub.lib: python32stub.def
|
||||
lib /def:python32stub.def /out:$(OutDir)python32stub.lib /MACHINE:$(MACHINE)
|
||||
|
||||
clean:
|
||||
del $(OutDir)python3.dll $(OutDir)python3.lib $(OutDir)python32stub.lib $(OutDir)python3.exp $(OutDir)python32stub.exp
|
||||
|
||||
rebuild: clean $(OutDir)python32.dll
|
||||
25
PC/python32gen.py
Normal file
25
PC/python32gen.py
Normal file
@@ -0,0 +1,25 @@
|
||||
# Generate python32stub.def out of python3.def
|
||||
# The regular import library cannot be used,
|
||||
# since it doesn't provide the right symbols for
|
||||
# data forwarding
|
||||
out = open("python32stub.def", "w")
|
||||
out.write('LIBRARY "python32"\n')
|
||||
out.write('EXPORTS\n')
|
||||
|
||||
inp = open("python3.def")
|
||||
inp.readline()
|
||||
line = inp.readline()
|
||||
assert line.strip()=='EXPORTS'
|
||||
|
||||
for line in inp:
|
||||
# SYM1=python32.SYM2[ DATA]
|
||||
head, tail = line.split('.')
|
||||
if 'DATA' in tail:
|
||||
symbol, tail = tail.split(' ')
|
||||
else:
|
||||
symbol = tail.strip()
|
||||
out.write(symbol+'\n')
|
||||
|
||||
inp.close()
|
||||
out.close()
|
||||
|
||||
698
PC/python32stub.def
Normal file
698
PC/python32stub.def
Normal file
File diff suppressed because it is too large
Load Diff
@@ -73,8 +73,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ssl", "_ssl.vcproj", "{C6E
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{B11D750F-CD1F-4A96-85CE-E69A5C5259F9} = {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}
|
||||
{86937F53-C189-40EF-8CE8-8759D8E7D480} = {86937F53-C189-40EF-8CE8-8759D8E7D480}
|
||||
{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
|
||||
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0} = {E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}
|
||||
{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testcapi", "_testcapi.vcproj", "{6901D91C-6E48-4BB7-9FEC-700C8131DF1D}"
|
||||
@@ -112,8 +112,8 @@ EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_hashlib", "_hashlib.vcproj", "{447F05A8-F581-4CAC-A466-5AC7936E207E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{B11D750F-CD1F-4A96-85CE-E69A5C5259F9} = {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}
|
||||
{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
|
||||
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0} = {E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}
|
||||
{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3", "sqlite3.vcproj", "{A1A295E5-463C-437F-81CA-1F32367685DA}"
|
||||
@@ -134,9 +134,6 @@ EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "kill_python", "kill_python.vcproj", "{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python3dll", "python3dll.vcproj", "{885D4898-D08D-4091-9C40-C700CFE3FC5A}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xxlimited", "xxlimited.vcproj", "{F749B822-B489-4CA5-A3AD-CE078F5F338A}"
|
||||
EndProject
|
||||
@@ -560,16 +557,15 @@ Global
|
||||
{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Release|Win32.Build.0 = Release|Win32
|
||||
{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Release|x64.ActiveCfg = Release|x64
|
||||
{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Release|x64.Build.0 = Release|x64
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.Debug|Win32.ActiveCfg = PGInstrument|Win32
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.Debug|x64.Build.0 = Debug|x64
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.PGInstrument|Win32.ActiveCfg = Release|Win32
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.PGInstrument|Win32.Build.0 = Release|Win32
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.PGInstrument|x64.ActiveCfg = Release|x64
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.PGInstrument|x64.Build.0 = Release|x64
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.PGUpdate|Win32.ActiveCfg = Release|Win32
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.PGUpdate|Win32.Build.0 = Release|Win32
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.PGUpdate|x64.ActiveCfg = Release|x64
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.PGUpdate|x64.Build.0 = Release|x64
|
||||
{885D4898-D08D-4091-9C40-C700CFE3FC5A}.Release|Win32.ActiveCfg = Release|Win32
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1054,6 +1054,10 @@ def add_files(db):
|
||||
if dir=="macholib":
|
||||
lib.add_file("README.ctypes")
|
||||
lib.glob("fetch_macholib*")
|
||||
if dir=='turtledemo':
|
||||
lib.add_file("turtle.cfg")
|
||||
if dir=="pydoc_data":
|
||||
lib.add_file("_pydoc.css")
|
||||
if dir=="data" and parent.physical=="test" and parent.basedir.physical=="email":
|
||||
# This should contain all non-.svn files listed in subversion
|
||||
for f in os.listdir(lib.absolute):
|
||||
@@ -1082,6 +1086,7 @@ def add_files(db):
|
||||
continue
|
||||
dlls.append(f)
|
||||
lib.add_file(f)
|
||||
lib.add_file('python3.dll')
|
||||
# Add sqlite
|
||||
if msilib.msi_type=="Intel64;1033":
|
||||
sqlite_arch = "/ia64"
|
||||
@@ -1118,6 +1123,7 @@ def add_files(db):
|
||||
for f in dlls:
|
||||
lib.add_file(f.replace('pyd','lib'))
|
||||
lib.add_file('python%s%s.lib' % (major, minor))
|
||||
lib.add_file('python3.lib')
|
||||
# Add the mingw-format library
|
||||
if have_mingw:
|
||||
lib.add_file('libpython%s%s.a' % (major, minor))
|
||||
|
||||
Reference in New Issue
Block a user