diff options
-rw-r--r-- | mpy-cross/Makefile | 4 | ||||
-rw-r--r-- | mpy-cross/mpconfigport.h | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/mpy-cross/Makefile b/mpy-cross/Makefile index ecf26ee317..3f99566209 100644 --- a/mpy-cross/Makefile +++ b/mpy-cross/Makefile @@ -50,7 +50,9 @@ SRC_C = \ gccollect.c \ ifeq ($(OS),Windows_NT) -SRC_C += windows/fmode.c + ifeq (,$(findstring MSYS,$(UNAME_S))) + SRC_C += windows/fmode.c + endif endif OBJ = $(PY_O) diff --git a/mpy-cross/mpconfigport.h b/mpy-cross/mpconfigport.h index 031c350116..b3f7d9c3cd 100644 --- a/mpy-cross/mpconfigport.h +++ b/mpy-cross/mpconfigport.h @@ -87,6 +87,10 @@ #ifdef __LP64__ typedef long mp_int_t; // must be pointer size typedef unsigned long mp_uint_t; // must be pointer size +#elif defined ( __MINGW32__ ) && defined( _WIN64 ) +#include <stdint.h> +typedef __int64 mp_int_t; +typedef unsigned __int64 mp_uint_t; #else // These are definitions for machines where sizeof(int) == sizeof(void*), // regardless for actual size. @@ -115,6 +119,8 @@ typedef const void *machine_const_ptr_t; // must be of pointer size // We need to provide a declaration/definition of alloca() #ifdef __FreeBSD__ #include <stdlib.h> +#elif defined( _WIN32 ) +#include <malloc.h> #else #include <alloca.h> #endif |