summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2010-12-05 23:07:58 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2010-12-05 23:07:58 (GMT)
commitd53ee5dd12388b9c53ae2f005583a9cd97055b4e (patch)
treef1b6b4759ce041e89be7cc3182b5562195033139
parentf645b0ebee20c336dd4256c769438de2fded4084 (diff)
downloadcpython-d53ee5dd12388b9c53ae2f005583a9cd97055b4e.zip
cpython-d53ee5dd12388b9c53ae2f005583a9cd97055b4e.tar.gz
cpython-d53ee5dd12388b9c53ae2f005583a9cd97055b4e.tar.bz2
Automate build for python3.dll.
Package missing files.
-rw-r--r--PC/python3.mak10
-rw-r--r--PC/python32gen.py25
-rw-r--r--PC/python32stub.def698
-rw-r--r--PCbuild/pcbuild.sln18
-rw-r--r--PCbuild/python3dll.vcproj476
-rw-r--r--Tools/msi/msi.py6
6 files changed, 890 insertions, 343 deletions
diff --git a/PC/python3.mak b/PC/python3.mak
new file mode 100644
index 0000000..821fd9f
--- /dev/null
+++ b/PC/python3.mak
@@ -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
diff --git a/PC/python32gen.py b/PC/python32gen.py
new file mode 100644
index 0000000..e64f752
--- /dev/null
+++ b/PC/python32gen.py
@@ -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()
+
diff --git a/PC/python32stub.def b/PC/python32stub.def
new file mode 100644
index 0000000..ad1967c
--- /dev/null
+++ b/PC/python32stub.def
@@ -0,0 +1,698 @@
+LIBRARY "python32"
+EXPORTS
+PyArg_Parse
+PyArg_ParseTuple
+PyArg_ParseTupleAndKeywords
+PyArg_UnpackTuple
+PyArg_VaParse
+PyArg_VaParseTupleAndKeywords
+PyArg_ValidateKeywordArguments
+PyBaseObject_Type
+PyBool_FromLong
+PyBool_Type
+PyBuffer_FillContiguousStrides
+PyBuffer_FillInfo
+PyBuffer_FromContiguous
+PyBuffer_GetPointer
+PyBuffer_IsContiguous
+PyBuffer_Release
+PyBuffer_ToContiguous
+PyByteArrayIter_Type
+PyByteArray_AsString
+PyByteArray_Concat
+PyByteArray_FromObject
+PyByteArray_FromStringAndSize
+PyByteArray_Resize
+PyByteArray_Size
+PyByteArray_Type
+PyBytesIter_Type
+PyBytes_AsString
+PyBytes_AsStringAndSize
+PyBytes_Concat
+PyBytes_ConcatAndDel
+PyBytes_DecodeEscape
+PyBytes_FromFormat
+PyBytes_FromFormatV
+PyBytes_FromObject
+PyBytes_FromString
+PyBytes_FromStringAndSize
+PyBytes_Repr
+PyBytes_Size
+PyBytes_Type
+PyCFunction_Call
+PyCFunction_ClearFreeList
+PyCFunction_GetFlags
+PyCFunction_GetFunction
+PyCFunction_GetSelf
+PyCFunction_NewEx
+PyCFunction_Type
+PyCallIter_New
+PyCallIter_Type
+PyCallable_Check
+PyCapsule_GetContext
+PyCapsule_GetDestructor
+PyCapsule_GetName
+PyCapsule_GetPointer
+PyCapsule_Import
+PyCapsule_IsValid
+PyCapsule_New
+PyCapsule_SetContext
+PyCapsule_SetDestructor
+PyCapsule_SetName
+PyCapsule_SetPointer
+PyCapsule_Type
+PyClassMethodDescr_Type
+PyCodec_BackslashReplaceErrors
+PyCodec_Decode
+PyCodec_Decoder
+PyCodec_Encode
+PyCodec_Encoder
+PyCodec_IgnoreErrors
+PyCodec_IncrementalDecoder
+PyCodec_IncrementalEncoder
+PyCodec_KnownEncoding
+PyCodec_LookupError
+PyCodec_Register
+PyCodec_RegisterError
+PyCodec_ReplaceErrors
+PyCodec_StreamReader
+PyCodec_StreamWriter
+PyCodec_StrictErrors
+PyCodec_XMLCharRefReplaceErrors
+PyComplex_FromDoubles
+PyComplex_ImagAsDouble
+PyComplex_RealAsDouble
+PyComplex_Type
+PyDescr_NewClassMethod
+PyDescr_NewGetSet
+PyDescr_NewMember
+PyDescr_NewMethod
+PyDictItems_Type
+PyDictIterItem_Type
+PyDictIterKey_Type
+PyDictIterValue_Type
+PyDictKeys_Type
+PyDictProxy_New
+PyDictProxy_Type
+PyDictValues_Type
+PyDict_Clear
+PyDict_Contains
+PyDict_Copy
+PyDict_DelItem
+PyDict_DelItemString
+PyDict_GetItem
+PyDict_GetItemString
+PyDict_GetItemWithError
+PyDict_Items
+PyDict_Keys
+PyDict_Merge
+PyDict_MergeFromSeq2
+PyDict_New
+PyDict_Next
+PyDict_SetItem
+PyDict_SetItemString
+PyDict_Size
+PyDict_Type
+PyDict_Update
+PyDict_Values
+PyEllipsis_Type
+PyEnum_Type
+PyErr_BadArgument
+PyErr_BadInternalCall
+PyErr_CheckSignals
+PyErr_Clear
+PyErr_Display
+PyErr_ExceptionMatches
+PyErr_Fetch
+PyErr_Format
+PyErr_GivenExceptionMatches
+PyErr_NewException
+PyErr_NewExceptionWithDoc
+PyErr_NoMemory
+PyErr_NormalizeException
+PyErr_Occurred
+PyErr_Print
+PyErr_PrintEx
+PyErr_ProgramText
+PyErr_Restore
+PyErr_SetFromErrno
+PyErr_SetFromErrnoWithFilename
+PyErr_SetFromErrnoWithFilenameObject
+PyErr_SetInterrupt
+PyErr_SetNone
+PyErr_SetObject
+PyErr_SetString
+PyErr_SyntaxLocation
+PyErr_WarnEx
+PyErr_WarnExplicit
+PyErr_WarnFormat
+PyErr_WriteUnraisable
+PyEval_AcquireLock
+PyEval_AcquireThread
+PyEval_CallFunction
+PyEval_CallMethod
+PyEval_CallObjectWithKeywords
+PyEval_EvalCode
+PyEval_EvalCodeEx
+PyEval_EvalFrame
+PyEval_EvalFrameEx
+PyEval_GetBuiltins
+PyEval_GetCallStats
+PyEval_GetFrame
+PyEval_GetFuncDesc
+PyEval_GetFuncName
+PyEval_GetGlobals
+PyEval_GetLocals
+PyEval_InitThreads
+PyEval_ReInitThreads
+PyEval_ReleaseLock
+PyEval_ReleaseThread
+PyEval_RestoreThread
+PyEval_SaveThread
+PyEval_ThreadsInitialized
+PyExc_ArithmeticError
+PyExc_AssertionError
+PyExc_AttributeError
+PyExc_BaseException
+PyExc_BufferError
+PyExc_BytesWarning
+PyExc_DeprecationWarning
+PyExc_EOFError
+PyExc_EnvironmentError
+PyExc_Exception
+PyExc_FloatingPointError
+PyExc_FutureWarning
+PyExc_GeneratorExit
+PyExc_IOError
+PyExc_ImportError
+PyExc_ImportWarning
+PyExc_IndentationError
+PyExc_IndexError
+PyExc_KeyError
+PyExc_KeyboardInterrupt
+PyExc_LookupError
+PyExc_MemoryError
+PyExc_MemoryErrorInst
+PyExc_NameError
+PyExc_NotImplementedError
+PyExc_OSError
+PyExc_OverflowError
+PyExc_PendingDeprecationWarning
+PyExc_RecursionErrorInst
+PyExc_ReferenceError
+PyExc_RuntimeError
+PyExc_RuntimeWarning
+PyExc_StopIteration
+PyExc_SyntaxError
+PyExc_SyntaxWarning
+PyExc_SystemError
+PyExc_SystemExit
+PyExc_TabError
+PyExc_TypeError
+PyExc_UnboundLocalError
+PyExc_UnicodeDecodeError
+PyExc_UnicodeEncodeError
+PyExc_UnicodeError
+PyExc_UnicodeTranslateError
+PyExc_UnicodeWarning
+PyExc_UserWarning
+PyExc_ValueError
+PyExc_Warning
+PyExc_ZeroDivisionError
+PyException_GetCause
+PyException_GetContext
+PyException_GetTraceback
+PyException_SetCause
+PyException_SetContext
+PyException_SetTraceback
+PyFile_FromFd
+PyFile_GetLine
+PyFile_WriteObject
+PyFile_WriteString
+PyFilter_Type
+PyFloat_AsDouble
+PyFloat_FromDouble
+PyFloat_FromString
+PyFloat_GetInfo
+PyFloat_GetMax
+PyFloat_GetMin
+PyFloat_Type
+PyFrozenSet_New
+PyFrozenSet_Type
+PyGC_Collect
+PyGILState_Ensure
+PyGILState_GetThisThreadState
+PyGILState_Release
+PyGetSetDescr_Type
+PyImport_AddModule
+PyImport_AppendInittab
+PyImport_Cleanup
+PyImport_ExecCodeModule
+PyImport_ExecCodeModuleEx
+PyImport_ExecCodeModuleWithPathnames
+PyImport_GetImporter
+PyImport_GetMagicNumber
+PyImport_GetMagicTag
+PyImport_GetModuleDict
+PyImport_Import
+PyImport_ImportFrozenModule
+PyImport_ImportModule
+PyImport_ImportModuleLevel
+PyImport_ImportModuleNoBlock
+PyImport_ReloadModule
+PyInterpreterState_Clear
+PyInterpreterState_Delete
+PyInterpreterState_New
+PyIter_Next
+PyListIter_Type
+PyListRevIter_Type
+PyList_Append
+PyList_AsTuple
+PyList_GetItem
+PyList_GetSlice
+PyList_Insert
+PyList_New
+PyList_Reverse
+PyList_SetItem
+PyList_SetSlice
+PyList_Size
+PyList_Sort
+PyList_Type
+PyLongRangeIter_Type
+PyLong_AsDouble
+PyLong_AsLong
+PyLong_AsLongAndOverflow
+PyLong_AsLongLong
+PyLong_AsLongLongAndOverflow
+PyLong_AsSize_t
+PyLong_AsSsize_t
+PyLong_AsUnsignedLong
+PyLong_AsUnsignedLongLong
+PyLong_AsUnsignedLongLongMask
+PyLong_AsUnsignedLongMask
+PyLong_AsVoidPtr
+PyLong_FromDouble
+PyLong_FromLong
+PyLong_FromLongLong
+PyLong_FromSize_t
+PyLong_FromSsize_t
+PyLong_FromString
+PyLong_FromUnsignedLong
+PyLong_FromUnsignedLongLong
+PyLong_FromVoidPtr
+PyLong_GetInfo
+PyLong_Type
+PyMap_Type
+PyMapping_Check
+PyMapping_GetItemString
+PyMapping_HasKey
+PyMapping_HasKeyString
+PyMapping_Items
+PyMapping_Keys
+PyMapping_Length
+PyMapping_SetItemString
+PyMapping_Size
+PyMapping_Values
+PyMem_Free
+PyMem_Malloc
+PyMem_Realloc
+PyMemberDescr_Type
+PyMemoryView_FromBuffer
+PyMemoryView_FromObject
+PyMemoryView_GetContiguous
+PyMemoryView_Type
+PyMethodDescr_Type
+PyModule_AddIntConstant
+PyModule_AddObject
+PyModule_AddStringConstant
+PyModule_Create2
+PyModule_GetDef
+PyModule_GetDict
+PyModule_GetFilename
+PyModule_GetFilenameObject
+PyModule_GetName
+PyModule_GetState
+PyModule_New
+PyModule_Type
+PyNullImporter_Type
+PyNumber_Absolute
+PyNumber_Add
+PyNumber_And
+PyNumber_AsSsize_t
+PyNumber_Check
+PyNumber_Divmod
+PyNumber_Float
+PyNumber_FloorDivide
+PyNumber_InPlaceAdd
+PyNumber_InPlaceAnd
+PyNumber_InPlaceFloorDivide
+PyNumber_InPlaceLshift
+PyNumber_InPlaceMultiply
+PyNumber_InPlaceOr
+PyNumber_InPlacePower
+PyNumber_InPlaceRemainder
+PyNumber_InPlaceRshift
+PyNumber_InPlaceSubtract
+PyNumber_InPlaceTrueDivide
+PyNumber_InPlaceXor
+PyNumber_Index
+PyNumber_Invert
+PyNumber_Long
+PyNumber_Lshift
+PyNumber_Multiply
+PyNumber_Negative
+PyNumber_Or
+PyNumber_Positive
+PyNumber_Power
+PyNumber_Remainder
+PyNumber_Rshift
+PyNumber_Subtract
+PyNumber_ToBase
+PyNumber_TrueDivide
+PyNumber_Xor
+PyOS_AfterFork
+PyOS_InitInterrupts
+PyOS_InputHook
+PyOS_InterruptOccurred
+PyOS_ReadlineFunctionPointer
+PyOS_double_to_string
+PyOS_getsig
+PyOS_mystricmp
+PyOS_mystrnicmp
+PyOS_setsig
+PyOS_snprintf
+PyOS_string_to_double
+PyOS_strtol
+PyOS_strtoul
+PyOS_vsnprintf
+PyObject_ASCII
+PyObject_AsCharBuffer
+PyObject_AsFileDescriptor
+PyObject_AsReadBuffer
+PyObject_AsWriteBuffer
+PyObject_Bytes
+PyObject_Call
+PyObject_CallFunction
+PyObject_CallFunctionObjArgs
+PyObject_CallMethod
+PyObject_CallMethodObjArgs
+PyObject_CallObject
+PyObject_CheckReadBuffer
+PyObject_ClearWeakRefs
+PyObject_CopyData
+PyObject_DelItem
+PyObject_DelItemString
+PyObject_Dir
+PyObject_Format
+PyObject_Free
+PyObject_GC_Del
+PyObject_GC_Track
+PyObject_GC_UnTrack
+PyObject_GenericGetAttr
+PyObject_GenericSetAttr
+PyObject_GetAttr
+PyObject_GetAttrString
+PyObject_GetBuffer
+PyObject_GetItem
+PyObject_GetIter
+PyObject_HasAttr
+PyObject_HasAttrString
+PyObject_Hash
+PyObject_HashNotImplemented
+PyObject_Init
+PyObject_InitVar
+PyObject_IsInstance
+PyObject_IsSubclass
+PyObject_IsTrue
+PyObject_Length
+PyObject_Malloc
+PyObject_Not
+PyObject_Realloc
+PyObject_Repr
+PyObject_RichCompare
+PyObject_RichCompareBool
+PyObject_SelfIter
+PyObject_SetAttr
+PyObject_SetAttrString
+PyObject_SetItem
+PyObject_Size
+PyObject_Str
+PyObject_Type
+PyParser_SimpleParseFileFlags
+PyParser_SimpleParseStringFlags
+PyProperty_Type
+PyRangeIter_Type
+PyRange_Type
+PyReversed_Type
+PySeqIter_New
+PySeqIter_Type
+PySequence_Check
+PySequence_Concat
+PySequence_Contains
+PySequence_Count
+PySequence_DelItem
+PySequence_DelSlice
+PySequence_Fast
+PySequence_GetItem
+PySequence_GetSlice
+PySequence_In
+PySequence_InPlaceConcat
+PySequence_InPlaceRepeat
+PySequence_Index
+PySequence_Length
+PySequence_List
+PySequence_Repeat
+PySequence_SetItem
+PySequence_SetSlice
+PySequence_Size
+PySequence_Tuple
+PySetIter_Type
+PySet_Add
+PySet_Clear
+PySet_Contains
+PySet_Discard
+PySet_New
+PySet_Pop
+PySet_Size
+PySet_Type
+PySlice_GetIndices
+PySlice_GetIndicesEx
+PySlice_New
+PySlice_Type
+PySortWrapper_Type
+PyState_FindModule
+PyStructSequence_GetItem
+PyStructSequence_New
+PyStructSequence_NewType
+PyStructSequence_SetItem
+PySuper_Type
+PySys_AddWarnOption
+PySys_AddWarnOptionUnicode
+PySys_FormatStderr
+PySys_FormatStdout
+PySys_GetObject
+PySys_HasWarnOptions
+PySys_ResetWarnOptions
+PySys_SetArgv
+PySys_SetArgvEx
+PySys_SetObject
+PySys_SetPath
+PySys_WriteStderr
+PySys_WriteStdout
+PyThreadState_Clear
+PyThreadState_Delete
+PyThreadState_DeleteCurrent
+PyThreadState_Get
+PyThreadState_GetDict
+PyThreadState_New
+PyThreadState_SetAsyncExc
+PyThreadState_Swap
+PyTraceBack_Here
+PyTraceBack_Print
+PyTraceBack_Type
+PyTupleIter_Type
+PyTuple_ClearFreeList
+PyTuple_GetItem
+PyTuple_GetSlice
+PyTuple_New
+PyTuple_Pack
+PyTuple_SetItem
+PyTuple_Size
+PyTuple_Type
+PyType_ClearCache
+PyType_FromSpec
+PyType_GenericAlloc
+PyType_GenericNew
+PyType_IsSubtype
+PyType_Modified
+PyType_Ready
+PyType_Type
+PyUnicodeDecodeError_Create
+PyUnicodeDecodeError_GetEncoding
+PyUnicodeDecodeError_GetEnd
+PyUnicodeDecodeError_GetObject
+PyUnicodeDecodeError_GetReason
+PyUnicodeDecodeError_GetStart
+PyUnicodeDecodeError_SetEnd
+PyUnicodeDecodeError_SetReason
+PyUnicodeDecodeError_SetStart
+PyUnicodeEncodeError_GetEncoding
+PyUnicodeEncodeError_GetEnd
+PyUnicodeEncodeError_GetObject
+PyUnicodeEncodeError_GetReason
+PyUnicodeEncodeError_GetStart
+PyUnicodeEncodeError_SetEnd
+PyUnicodeEncodeError_SetReason
+PyUnicodeEncodeError_SetStart
+PyUnicodeIter_Type
+PyUnicodeTranslateError_GetEnd
+PyUnicodeTranslateError_GetObject
+PyUnicodeTranslateError_GetReason
+PyUnicodeTranslateError_GetStart
+PyUnicodeTranslateError_SetEnd
+PyUnicodeTranslateError_SetReason
+PyUnicodeTranslateError_SetStart
+PyUnicodeUCS2_Append
+PyUnicodeUCS2_AppendAndDel
+PyUnicodeUCS2_AsASCIIString
+PyUnicodeUCS2_AsCharmapString
+PyUnicodeUCS2_AsDecodedObject
+PyUnicodeUCS2_AsDecodedUnicode
+PyUnicodeUCS2_AsEncodedObject
+PyUnicodeUCS2_AsEncodedString
+PyUnicodeUCS2_AsEncodedUnicode
+PyUnicodeUCS2_AsLatin1String
+PyUnicodeUCS2_AsRawUnicodeEscapeString
+PyUnicodeUCS2_AsUTF16String
+PyUnicodeUCS2_AsUTF32String
+PyUnicodeUCS2_AsUTF8String
+PyUnicodeUCS2_AsUnicodeEscapeString
+PyUnicodeUCS2_AsWideChar
+PyUnicodeUCS2_ClearFreelist
+PyUnicodeUCS2_Compare
+PyUnicodeUCS2_Concat
+PyUnicodeUCS2_Contains
+PyUnicodeUCS2_Count
+PyUnicodeUCS2_Decode
+PyUnicodeUCS2_DecodeASCII
+PyUnicodeUCS2_DecodeCharmap
+PyUnicodeUCS2_DecodeFSDefault
+PyUnicodeUCS2_DecodeFSDefaultAndSize
+PyUnicodeUCS2_DecodeLatin1
+PyUnicodeUCS2_DecodeRawUnicodeEscape
+PyUnicodeUCS2_DecodeUTF16
+PyUnicodeUCS2_DecodeUTF16Stateful
+PyUnicodeUCS2_DecodeUTF32
+PyUnicodeUCS2_DecodeUTF32Stateful
+PyUnicodeUCS2_DecodeUTF8
+PyUnicodeUCS2_DecodeUTF8Stateful
+PyUnicodeUCS2_DecodeUnicodeEscape
+PyUnicodeUCS2_FSConverter
+PyUnicodeUCS2_FSDecoder
+PyUnicodeUCS2_Find
+PyUnicodeUCS2_Format
+PyUnicodeUCS2_FromEncodedObject
+PyUnicodeUCS2_FromFormat
+PyUnicodeUCS2_FromFormatV
+PyUnicodeUCS2_FromObject
+PyUnicodeUCS2_FromOrdinal
+PyUnicodeUCS2_FromString
+PyUnicodeUCS2_FromStringAndSize
+PyUnicodeUCS2_FromWideChar
+PyUnicodeUCS2_GetDefaultEncoding
+PyUnicodeUCS2_GetSize
+PyUnicodeUCS2_IsIdentifier
+PyUnicodeUCS2_Join
+PyUnicodeUCS2_Partition
+PyUnicodeUCS2_RPartition
+PyUnicodeUCS2_RSplit
+PyUnicodeUCS2_Replace
+PyUnicodeUCS2_Resize
+PyUnicodeUCS2_RichCompare
+PyUnicodeUCS2_SetDefaultEncoding
+PyUnicodeUCS2_Split
+PyUnicodeUCS2_Splitlines
+PyUnicodeUCS2_Tailmatch
+PyUnicodeUCS2_Translate
+PyUnicode_BuildEncodingMap
+PyUnicode_CompareWithASCIIString
+PyUnicode_DecodeUTF7
+PyUnicode_DecodeUTF7Stateful
+PyUnicode_EncodeFSDefault
+PyUnicode_InternFromString
+PyUnicode_InternImmortal
+PyUnicode_InternInPlace
+PyUnicode_Type
+PyWeakref_GetObject
+PyWeakref_NewProxy
+PyWeakref_NewRef
+PyWrapperDescr_Type
+PyWrapper_New
+PyZip_Type
+Py_AddPendingCall
+Py_AtExit
+Py_BuildValue
+Py_CompileString
+Py_DecRef
+Py_EndInterpreter
+Py_Exit
+Py_FatalError
+Py_FileSystemDefaultEncoding
+Py_Finalize
+Py_GetBuildInfo
+Py_GetCompiler
+Py_GetCopyright
+Py_GetExecPrefix
+Py_GetPath
+Py_GetPlatform
+Py_GetPrefix
+Py_GetProgramFullPath
+Py_GetProgramName
+Py_GetPythonHome
+Py_GetRecursionLimit
+Py_GetVersion
+Py_HasFileSystemDefaultEncoding
+Py_IncRef
+Py_Initialize
+Py_InitializeEx
+Py_IsInitialized
+Py_Main
+Py_MakePendingCalls
+Py_NewInterpreter
+Py_ReprEnter
+Py_ReprLeave
+Py_SetProgramName
+Py_SetPythonHome
+Py_SetRecursionLimit
+Py_SymtableString
+Py_VaBuildValue
+_PyErr_BadInternalCall
+_PyObject_CallFunction_SizeT
+_PyObject_CallMethod_SizeT
+_PyObject_GC_Malloc
+_PyObject_GC_New
+_PyObject_GC_NewVar
+_PyObject_GC_Resize
+_PyObject_New
+_PyObject_NewVar
+_PyState_AddModule
+_PyThreadState_Init
+_PyThreadState_Prealloc
+_PyTrash_delete_later
+_PyTrash_delete_nesting
+_PyTrash_deposit_object
+_PyTrash_destroy_chain
+_PyWeakref_CallableProxyType
+_PyWeakref_ProxyType
+_PyWeakref_RefType
+_Py_BuildValue_SizeT
+_Py_CheckRecursionLimit
+_Py_CheckRecursiveCall
+_Py_Dealloc
+_Py_EllipsisObject
+_Py_FalseStruct
+Py_GetCopyright
+_Py_NotImplementedStruct
+_Py_SwappedOp
+_Py_TrueStruct
+_Py_VaBuildValue_SizeT
diff --git a/PCbuild/pcbuild.sln b/PCbuild/pcbuild.sln
index a141053..1de4ea1 100644
--- a/PCbuild/pcbuild.sln
+++ b/PCbuild/pcbuild.sln
@@ -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
diff --git a/PCbuild/python3dll.vcproj b/PCbuild/python3dll.vcproj
index 8dcd90a..52c6752 100644
--- a/PCbuild/python3dll.vcproj
+++ b/PCbuild/python3dll.vcproj
@@ -21,377 +21,117 @@
<Configurations>
<Configuration
Name="Release|Win32"
- ConfigurationType="2"
+ ConfigurationType="0"
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops"
WholeProgramOptimization="1"
>
<Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- EnableIntrinsicFunctions="true"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PYTHON3DLL_EXPORTS"
- RuntimeLibrary="2"
- BufferSecurityCheck="false"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\PC\python32.lib"
- OutputFile="$(OutDir)\python3.dll"
- LinkIncremental="1"
- IgnoreAllDefaultLibraries="true"
- ModuleDefinitionFile="..\PC\python3.def"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- EntryPointSymbol="DllMain"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
+ Name="VCNMakeTool"
+ BuildCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x86 OutDir=$(OutDir)"
+ ReBuildCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x86 OutDir=$(OutDir) rebuild"
+ CleanCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x86 OutDir=$(OutDir) clean"
+ Output="$(OutDir)\python3.dll"
+ PreprocessorDefinitions=""
+ IncludeSearchPath=""
+ ForcedIncludes=""
+ AssemblySearchPath=""
+ ForcedUsingAssemblies=""
+ CompileAsManaged=""
/>
</Configuration>
<Configuration
Name="Release|x64"
- ConfigurationType="2"
+ ConfigurationType="0"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops"
>
<Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)\python3.dll"
- ModuleDefinitionFile="..\PC\python3.def"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
+ Name="VCNMakeTool"
+ BuildCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x64 OutDir=$(OutDir)"
+ ReBuildCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x64 OutDir=$(OutDir) rebuild"
+ CleanCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x64 OutDir=$(OutDir) clean"
+ Output="$(OutDir)\python3.dll"
+ PreprocessorDefinitions=""
+ IncludeSearchPath=""
+ ForcedIncludes=""
+ AssemblySearchPath=""
+ ForcedUsingAssemblies=""
+ CompileAsManaged=""
/>
</Configuration>
<Configuration
Name="PGInstrument|Win32"
- ConfigurationType="2"
+ ConfigurationType="0"
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pginstrument.vsprops"
>
<Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="python32.lib"
- OutputFile="$(OutDir)\python3.dll"
- ModuleDefinitionFile="..\PC\python3.def"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
+ Name="VCNMakeTool"
+ BuildCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x86 OutDir=$(OutDir)"
+ ReBuildCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x86 OutDir=$(OutDir) rebuild"
+ CleanCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x86 OutDir=$(OutDir) clean"
+ Output="$(OutDir)\python3.dll"
+ PreprocessorDefinitions=""
+ IncludeSearchPath=""
+ ForcedIncludes=""
+ AssemblySearchPath=""
+ ForcedUsingAssemblies=""
+ CompileAsManaged=""
/>
</Configuration>
<Configuration
Name="PGInstrument|x64"
- ConfigurationType="2"
+ ConfigurationType="0"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pginstrument.vsprops"
>
<Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)\python3.dll"
- ModuleDefinitionFile="..\PC\python3.def"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
+ Name="VCNMakeTool"
+ BuildCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x64 OutDir=$(OutDir)"
+ ReBuildCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x64 OutDir=$(OutDir) rebuild"
+ CleanCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x64 OutDir=$(OutDir) clean"
+ Output="$(OutDir)\python3.dll"
+ PreprocessorDefinitions=""
+ IncludeSearchPath=""
+ ForcedIncludes=""
+ AssemblySearchPath=""
+ ForcedUsingAssemblies=""
+ CompileAsManaged=""
/>
</Configuration>
<Configuration
Name="PGUpdate|Win32"
- ConfigurationType="2"
+ ConfigurationType="0"
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pgupdate.vsprops"
>
<Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="python32.lib"
- OutputFile="$(OutDir)\python3.dll"
- ModuleDefinitionFile="..\PC\python3.def"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
+ Name="VCNMakeTool"
+ BuildCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x86 OutDir=$(OutDir)"
+ ReBuildCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x86 OutDir=$(OutDir) rebuild"
+ CleanCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x86 OutDir=$(OutDir) clean"
+ Output="$(OutDir)\python3.dll"
+ PreprocessorDefinitions=""
+ IncludeSearchPath=""
+ ForcedIncludes=""
+ AssemblySearchPath=""
+ ForcedUsingAssemblies=""
+ CompileAsManaged=""
/>
</Configuration>
<Configuration
Name="PGUpdate|x64"
- ConfigurationType="2"
+ ConfigurationType="0"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pgupdate.vsprops"
>
<Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)\python3.dll"
- ModuleDefinitionFile="..\PC\python3.def"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
+ Name="VCNMakeTool"
+ BuildCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x64 OutDir=$(OutDir)"
+ ReBuildCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x64 OutDir=$(OutDir) rebuild"
+ CleanCommandLine="cd $(InputDir)\..\PC&#x0D;&#x0A;nmake /f python3.mak MACHINE=x64 OutDir=$(OutDir) clean"
+ Output="$(OutDir)\python3.dll"
+ PreprocessorDefinitions=""
+ IncludeSearchPath=""
+ ForcedIncludes=""
+ AssemblySearchPath=""
+ ForcedUsingAssemblies=""
+ CompileAsManaged=""
/>
</Configuration>
</Configurations>
@@ -406,10 +146,58 @@
<File
RelativePath="..\PC\python3.def"
>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ </FileConfiguration>
+ <FileConfiguration
+ Name="PGInstrument|Win32"
+ >
+ </FileConfiguration>
+ <FileConfiguration
+ Name="PGInstrument|x64"
+ >
+ </FileConfiguration>
+ <FileConfiguration
+ Name="PGUpdate|Win32"
+ >
+ </FileConfiguration>
+ <FileConfiguration
+ Name="PGUpdate|x64"
+ >
+ </FileConfiguration>
</File>
<File
RelativePath="..\PC\python3dll.c"
>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ </FileConfiguration>
+ <FileConfiguration
+ Name="PGInstrument|Win32"
+ >
+ </FileConfiguration>
+ <FileConfiguration
+ Name="PGInstrument|x64"
+ >
+ </FileConfiguration>
+ <FileConfiguration
+ Name="PGUpdate|Win32"
+ >
+ </FileConfiguration>
+ <FileConfiguration
+ Name="PGUpdate|x64"
+ >
+ </FileConfiguration>
</File>
</Filter>
<Filter
@@ -426,6 +214,30 @@
<File
RelativePath="..\PC\python_nt.rc"
>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ </FileConfiguration>
+ <FileConfiguration
+ Name="PGInstrument|Win32"
+ >
+ </FileConfiguration>
+ <FileConfiguration
+ Name="PGInstrument|x64"
+ >
+ </FileConfiguration>
+ <FileConfiguration
+ Name="PGUpdate|Win32"
+ >
+ </FileConfiguration>
+ <FileConfiguration
+ Name="PGUpdate|x64"
+ >
+ </FileConfiguration>
</File>
</Filter>
</Files>
diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py
index eed4a43..2288cf3 100644
--- a/Tools/msi/msi.py
+++ b/Tools/msi/msi.py
@@ -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))