diff --git a/gssapi/raw/python_gssapi.h b/gssapi/raw/python_gssapi.h index bab0be3b..fcede79a 100644 --- a/gssapi/raw/python_gssapi.h +++ b/gssapi/raw/python_gssapi.h @@ -1,5 +1,7 @@ #ifdef OSX_HAS_GSS_FRAMEWORK #include +#elif __MINGW32__ +#include #else #include #endif diff --git a/gssapi/raw/python_gssapi_ext.h b/gssapi/raw/python_gssapi_ext.h index 46d41166..17fbeb56 100644 --- a/gssapi/raw/python_gssapi_ext.h +++ b/gssapi/raw/python_gssapi_ext.h @@ -1,9 +1,13 @@ #ifdef OSX_HAS_GSS_FRAMEWORK #include #else +#ifdef __MINGW32__ +#include +#else #ifdef HAS_GSSAPI_EXT_H #include #else #include #endif #endif +#endif diff --git a/gssapi/raw/python_gssapi_krb5.h b/gssapi/raw/python_gssapi_krb5.h index c0988e81..b64e1c66 100644 --- a/gssapi/raw/python_gssapi_krb5.h +++ b/gssapi/raw/python_gssapi_krb5.h @@ -1,5 +1,7 @@ #ifdef OSX_HAS_GSS_FRAMEWORK #include +#elif __MINGW32__ +#include #else #include #endif diff --git a/setup.py b/setup.py index 83ddb5db..d190823e 100755 --- a/setup.py +++ b/setup.py @@ -52,12 +52,16 @@ def _get_output(*args, **kwargs): if link_args is None: if osx_has_gss_framework: link_args = '-framework GSS' + elif os.environ.get('MINGW_PREFIX'): + link_args = '-lgss' else: link_args = get_output('krb5-config --libs gssapi') if compile_args is None: if osx_has_gss_framework: compile_args = '-framework GSS -DOSX_HAS_GSS_FRAMEWORK' + elif os.environ.get('MINGW_PREFIX'): + compile_args = '-fPIC' else: compile_args = get_output('krb5-config --cflags gssapi') @@ -65,7 +69,10 @@ def _get_output(*args, **kwargs): compile_args = compile_args.split() # add in the extra workarounds for different include structures -prefix = get_output('krb5-config gssapi --prefix') +try: + prefix = get_output('krb5-config gssapi --prefix') +except Exception: + prefix = sys.prefix gssapi_ext_h = os.path.join(prefix, 'include/gssapi/gssapi_ext.h') if os.path.exists(gssapi_ext_h): compile_args.append("-DHAS_GSSAPI_EXT_H") @@ -85,6 +92,8 @@ def _get_output(*args, **kwargs): main_path = "" if main_lib is None and osx_has_gss_framework: main_lib = ctypes.util.find_library('GSS') + elif os.environ.get('MINGW_PREFIX'): + main_lib = os.environ.get('MINGW_PREFIX')+'/bin/libgss-3.dll' elif main_lib is None: for opt in link_args: if opt.startswith('-lgssapi'):