module documentation

Support code for building Python extensions on Windows.

# NT stuff # 1. Make sure libpython<version>.a exists for gcc. If not, build it. # 2. Force windows to use gcc (we're struggling with MSVC and g77 support) # 3. Force windows to use g77
Variable crt​_ver Undocumented
Variable maj Undocumented
Variable min Undocumented
Class ​Mingw32​CCompiler A modified MingW32 compiler compatible with an MSVC built Python.
Function ​_build​_import​_library​_amd64 Undocumented
Function ​_build​_import​_library​_x86 Build the import libraries for Mingw32-gcc on Windows
Function ​_check​_for​_import​_lib Check if an import library for the Python runtime already exists.
Function build​_import​_library Undocumented
Function build​_msvcr​_library Undocumented
Function check​_embedded​_msvcr​_match​_linked msver is the ms runtime version used for the MANIFEST.
Function configtest​_name Undocumented
Function dump​_table Undocumented
Function find​_dll Undocumented
Function find​_python​_dll Undocumented
Function generate​_def Given a dll file location, get all its exported symbols and dump them into the given def file.
Function generate​_manifest Undocumented
Function get​_msvcr​_replacement Replacement for outdated version of get_msvcr from cygwinccompiler
Function manifest​_name Undocumented
Function manifest​_rc Return the rc file used to generate the res file which will be embedded as manifest for given manifest file name, of given type ('dll' or 'exe').
Function msvc​_manifest​_xml Given a major and minor version of the MSVCR, returns the corresponding XML file.
Function rc​_name Undocumented
Constant ​_MSVCRVER​_TO​_FULLVER Undocumented
Constant ​_START Undocumented
Constant ​_TABLE Undocumented
crt_ver =

Undocumented

maj =

Undocumented

min =

Undocumented

def _build_import_library_amd64():

Undocumented

def _build_import_library_x86():
Build the import libraries for Mingw32-gcc on Windows
def _check_for_import_lib():
Check if an import library for the Python runtime already exists.
def build_import_library():

Undocumented

def build_msvcr_library(debug=False):

Undocumented

def check_embedded_msvcr_match_linked(msver):
msver is the ms runtime version used for the MANIFEST.
def configtest_name(config):

Undocumented

def dump_table(dll):

Undocumented

def find_dll(dll_name):

Undocumented

def find_python_dll():

Undocumented

def generate_def(dll, dfile):

Given a dll file location, get all its exported symbols and dump them into the given def file.

The .def file will be overwritten

def generate_manifest(config):

Undocumented

def get_msvcr_replacement():
Replacement for outdated version of get_msvcr from cygwinccompiler
def manifest_name(config):

Undocumented

def manifest_rc(name, type='dll'):

Return the rc file used to generate the res file which will be embedded as manifest for given manifest file name, of given type ('dll' or 'exe').

Parameters

name : str
name of the manifest file to embed
type : str {'dll', 'exe'}
type of the binary which will embed the manifest
def msvc_manifest_xml(maj, min):
Given a major and minor version of the MSVCR, returns the corresponding XML file.
def rc_name(config):

Undocumented

_MSVCRVER_TO_FULLVER: dict =

Undocumented

Value
{}
_START =

Undocumented

Value
re.compile(r'\[Ordinal/Name Pointer\] Table')
_TABLE =

Undocumented

Value
re.compile(r'^\s+\[([\s\*\[0-9]*)\] ([a-zA-Z0-9_]*)')