handle errno defns for mingw and use correct executable name

This commit is contained in:
Dan Halbert 2018-07-10 22:29:36 -04:00
parent 85d5d321e2
commit d305e7d6cf
3 changed files with 54 additions and 0 deletions

4
.gitignore vendored
View File

@ -58,4 +58,8 @@ TAGS
################# #################
*.orig *.orig
# Emacs backup files
####################
*~
*.DS_Store *.DS_Store

View File

@ -14,7 +14,13 @@ endif
include ../py/mkenv.mk include ../py/mkenv.mk
# define main target # define main target
ifeq ($(OS),Windows_NT)
# Detect a MINGW32 build, and change the name of the final executable.
PROG = mpy-cross.exe
else
PROG = mpy-cross PROG = mpy-cross
endif
# qstr definitions (must come before including py.mk) # qstr definitions (must come before including py.mk)
QSTR_DEFS = qstrdefsport.h QSTR_DEFS = qstrdefsport.h

View File

@ -85,6 +85,50 @@
#define MICROPY_PY_IO (0) #define MICROPY_PY_IO (0)
#define MICROPY_PY_SYS (0) #define MICROPY_PY_SYS (0)
// MINGW only handles these errno names.
#ifdef __MINGW32__
#define MICROPY_PY_UERRNO_LIST \
X(EPERM) \
X(ENOENT) \
X(ESRCH) \
X(EINTR) \
X(EIO) \
X(ENXIO) \
X(E2BIG) \
X(ENOEXEC) \
X(EBADF) \
X(ECHILD) \
X(EAGAIN) \
X(ENOMEM) \
X(EACCES) \
X(EFAULT) \
X(EBUSY) \
X(EEXIST) \
X(EXDEV) \
X(ENODEV) \
X(ENOTDIR) \
X(EISDIR) \
X(EINVAL) \
X(ENFILE) \
X(EMFILE) \
X(ENOTTY) \
X(EFBIG) \
X(ENOSPC) \
X(ESPIPE) \
X(EROFS) \
X(EMLINK) \
X(EPIPE) \
X(EDOM) \
X(ERANGE) \
X(EDEADLOCK) \
X(EDEADLK) \
X(ENAMETOOLONG) \
X(ENOLCK) \
X(ENOSYS) \
X(ENOTEMPTY) \
X(EILSEQ)
#endif
// type definitions for the specific machine // type definitions for the specific machine
#ifdef __LP64__ #ifdef __LP64__