##// END OF EJS Templates
setup: detect Python DLL filename from loaded DLL...
setup: detect Python DLL filename from loaded DLL Attempting to build Mercurial from source using MinGW from msys2 on Windows produces a hg.exe that attempts to load e.g. python27.dll. MinGW prefixes its library name with "lib" and adds a period between the major and minor versions. e.g. "libpython2.7.dll." Before this patch, hg.exe files in a MinGW environment would either fail to find a Python DLL or would attempt to load a non-MinGW DLL, which would summarily explode. Either way, hg.exe wouldn't work. This patch improves the code that determines the Python DLL filename to actually use the loaded Python DLL instead of inferring it. Basically we take the handle of the loaded DLL from sys.dllhandle and call a Windows API to try to resolve that handle to a filename.
Gregory Szorc -
r29020:ee2e4a2c stable
Show More
Name Size Modified Last Commit Author
/ mercurial
default.d
help
hgweb
httpclient
pure
templates
__init__.py Loading ...
ancestor.py Loading ...
archival.py Loading ...
base85.c Loading ...
bdiff.c Loading ...
bookmarks.py Loading ...
branchmap.py Loading ...
bundle2.py Loading ...
bundlerepo.py Loading ...
byterange.py Loading ...
changegroup.py Loading ...
changelog.py Loading ...
cmdutil.py Loading ...
commands.py Loading ...
commandserver.py Loading ...
config.py Loading ...
context.py Loading ...
copies.py Loading ...
crecord.py Loading ...
dagparser.py Loading ...
dagutil.py Loading ...
demandimport.py Loading ...
destutil.py Loading ...
diffhelpers.c Loading ...
dirs.c Loading ...
dirstate.py Loading ...
discovery.py Loading ...
dispatch.py Loading ...
dummycert.pem Loading ...
encoding.py Loading ...
error.py Loading ...
exchange.py Loading ...
exewrapper.c Loading ...
extensions.py Loading ...
fancyopts.py Loading ...
filelog.py Loading ...
filemerge.py Loading ...
fileset.py Loading ...
formatter.py Loading ...
graphmod.py Loading ...
hbisect.py Loading ...
help.py Loading ...
hg.py Loading ...
hook.py Loading ...
httpconnection.py Loading ...
httppeer.py Loading ...
i18n.py Loading ...
keepalive.py Loading ...
localrepo.py Loading ...
lock.py Loading ...
lsprof.py Loading ...
lsprofcalltree.py Loading ...
mail.py Loading ...
manifest.c Loading ...
manifest.py Loading ...
match.py Loading ...
mdiff.py Loading ...
merge.py Loading ...
minirst.py Loading ...
mpatch.c Loading ...
namespaces.py Loading ...
node.py Loading ...
obsolete.py Loading ...
osutil.c Loading ...
parser.py Loading ...
parsers.c Loading ...
patch.py Loading ...
pathencode.c Loading ...
pathutil.py Loading ...
peer.py Loading ...
phases.py Loading ...
posix.py Loading ...
progress.py Loading ...
pushkey.py Loading ...
pvec.py Loading ...
py3kcompat.py Loading ...
pycompat.py Loading ...
registrar.py Loading ...
repair.py Loading ...
repoview.py Loading ...
revlog.py Loading ...
revset.py Loading ...
scmposix.py Loading ...
scmutil.py Loading ...
scmwindows.py Loading ...
setdiscovery.py Loading ...
similar.py Loading ...
simplemerge.py Loading ...
sshpeer.py Loading ...
sshserver.py Loading ...
sslutil.py Loading ...
statichttprepo.py Loading ...
store.py Loading ...
streamclone.py Loading ...
strutil.py Loading ...
subrepo.py Loading ...
tagmerge.py Loading ...
tags.py Loading ...
templatefilters.py Loading ...
templatekw.py Loading ...
templater.py Loading ...
transaction.py Loading ...
treediscovery.py Loading ...
ui.py Loading ...
unionrepo.py Loading ...
url.py Loading ...
util.h Loading ...
util.py Loading ...
verify.py Loading ...
win32.py Loading ...
windows.py Loading ...
wireproto.py Loading ...
worker.py Loading ...