# HG changeset patch # User Gregory Szorc # Date 2020-01-15 01:37:04 # Node ID ef36156eac9f657fe7068f4bd1f84c4f5a81ded5 # Parent 4e05272dd6819c165a6ca0775b8e57e7930f0ab6 sha1dc: manually define integer types on msvc 2008 Python 2.7 on Windows builds with MSVC 2008, which doesn't include stdint.h. So we need to check for the compiler version and manually define missing types when it is ancient. Differential Revision: https://phab.mercurial-scm.org/D7876 diff --git a/mercurial/thirdparty/sha1dc/lib/sha1.h b/mercurial/thirdparty/sha1dc/lib/sha1.h --- a/mercurial/thirdparty/sha1dc/lib/sha1.h +++ b/mercurial/thirdparty/sha1dc/lib/sha1.h @@ -13,7 +13,14 @@ extern "C" { #endif #ifndef SHA1DC_NO_STANDARD_INCLUDES +/* PY27 this can be changed to a straight #include once Python 2.7 is + dropped, since this is for MSVC 2008 support. */ +#if !defined(_MSC_VER) || _MSC_VER >= 1600 #include +#else +typedef unsigned __int32 uint32_t; +typedef unsigned __int64 uint64_t; +#endif #endif /* sha-1 compression function that takes an already expanded message, and additionally store intermediate states */