--- winkerberos-0.7.0/setup.py.orig 2018-12-04 04:08:15.913271100 -0500 +++ winkerberos-0.7.0/setup.py 2018-12-04 04:09:06.008470300 -0500 @@ -82,6 +82,16 @@ if sys.version_info[:2] == (2, 6): else: test_suite = "test" +if 'GCC' in sys.version: + _extra_link_args = ['-lcrypt32', + '-lsecur32', + '-lShlwapi'] +else: + _extra_link_args = ['crypt32.lib', + 'secur32.lib', + 'Shlwapi.lib', + '/NXCOMPAT', + '/DYNAMICBASE'] setup( name="winkerberos", version="0.7.0", @@ -114,11 +124,7 @@ setup( ext_modules = [ Extension( "winkerberos", - extra_link_args=['crypt32.lib', - 'secur32.lib', - 'Shlwapi.lib', - '/NXCOMPAT', - '/DYNAMICBASE'], + extra_link_args=_extra_link_args, sources = [ "src/winkerberos.c", "src/kerberos_sspi.c" --- winkerberos-0.7.0/src/kerberos_sspi.h.orig 2018-12-04 04:37:07.485511200 -0500 +++ winkerberos-0.7.0/src/kerberos_sspi.h 2018-12-04 04:38:53.197331100 -0500 @@ -39,6 +39,13 @@ typedef struct { ULONG qop; } sspi_client_state; +#ifdef __MINGW32__ +typedef struct _SecPkgContext_Bindings { + unsigned long BindingsLength; + SEC_CHANNEL_BINDINGS *Bindings; +} SecPkgContext_Bindings, *PSecPkgContext_Bindings; +#endif + VOID set_gsserror(DWORD errCode, const SEC_CHAR* msg); VOID destroy_sspi_client_state(sspi_client_state* state); INT auth_sspi_client_init(WCHAR* service,