mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-06 23:26:39 +00:00
win32: Add separate MinGW and MSVC compatability header files
Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
This commit is contained in:
parent
56931d1ab4
commit
e8cc449fe9
43
src/common.h
43
src/common.h
@ -32,43 +32,13 @@
|
|||||||
# include <io.h>
|
# include <io.h>
|
||||||
# include <direct.h>
|
# include <direct.h>
|
||||||
# include <windows.h>
|
# include <windows.h>
|
||||||
|
# include "msvc-compat.h"
|
||||||
|
# include "mingw-compat.h"
|
||||||
|
|
||||||
# define snprintf _snprintf
|
# define snprintf _snprintf
|
||||||
|
|
||||||
# if defined(__DMC__)
|
|
||||||
# if defined(_M_AMD64)
|
|
||||||
# define SSIZE_T long long
|
|
||||||
# else
|
|
||||||
# define SSIZE_T int
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
|
|
||||||
typedef SSIZE_T ssize_t;
|
typedef SSIZE_T ssize_t;
|
||||||
|
|
||||||
# if defined(_MSC_VER)
|
|
||||||
/* access() mode parameter #defines */
|
|
||||||
# define F_OK 0 /* existence check */
|
|
||||||
# define W_OK 2 /* write mode check */
|
|
||||||
# define R_OK 4 /* read mode check */
|
|
||||||
# endif
|
|
||||||
|
|
||||||
#if defined(__MINGW32__)
|
|
||||||
|
|
||||||
# define off_t off64_t
|
|
||||||
# define lseek _lseeki64
|
|
||||||
# define stat _stati64
|
|
||||||
# define fstat _fstati64
|
|
||||||
|
|
||||||
#elif defined(_MSC_VER)
|
|
||||||
|
|
||||||
typedef __int64 off64_t;
|
|
||||||
# define off_t off64_t
|
|
||||||
# define lseek _lseeki64
|
|
||||||
# define stat _stat64
|
|
||||||
# define fstat _fstat64
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
@ -83,13 +53,4 @@ typedef __int64 off64_t;
|
|||||||
|
|
||||||
#define GIT_PATH_MAX 4096
|
#define GIT_PATH_MAX 4096
|
||||||
|
|
||||||
#ifndef GIT_HAVE_INTTYPES_H
|
|
||||||
/* add some missing <stdint.h> typedef's */
|
|
||||||
typedef long int32_t;
|
|
||||||
typedef unsigned long uint32_t;
|
|
||||||
|
|
||||||
typedef long long int64_t;
|
|
||||||
typedef unsigned long long uint64_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* INCLUDE_common_h__ */
|
#endif /* INCLUDE_common_h__ */
|
||||||
|
14
src/mingw-compat.h
Normal file
14
src/mingw-compat.h
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#ifndef INCLUDE_mingw_compat__
|
||||||
|
#define INCLUDE_mingw_compat__
|
||||||
|
|
||||||
|
#if defined(__MINGW32__)
|
||||||
|
|
||||||
|
/* use a 64-bit file offset type */
|
||||||
|
# define off_t off64_t
|
||||||
|
# define lseek _lseeki64
|
||||||
|
# define stat _stati64
|
||||||
|
# define fstat _fstati64
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* INCLUDE_mingw_compat__ */
|
41
src/msvc-compat.h
Normal file
41
src/msvc-compat.h
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
#ifndef INCLUDE_msvc_compat__
|
||||||
|
#define INCLUDE_msvc_compat__
|
||||||
|
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
|
||||||
|
/* access() mode parameter #defines */
|
||||||
|
# define F_OK 0 /* existence check */
|
||||||
|
# define W_OK 2 /* write mode check */
|
||||||
|
# define R_OK 4 /* read mode check */
|
||||||
|
|
||||||
|
/* use a 64-bit file offset type */
|
||||||
|
typedef __int64 off64_t;
|
||||||
|
# define off_t off64_t
|
||||||
|
# define lseek _lseeki64
|
||||||
|
# define stat _stat64
|
||||||
|
# define fstat _fstat64
|
||||||
|
|
||||||
|
/* stat: file mode type testing macros */
|
||||||
|
# define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR)
|
||||||
|
# define S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG)
|
||||||
|
# define S_ISFIFO(m) (((m) & _S_IFMT) == _S_IFIFO)
|
||||||
|
|
||||||
|
/* add some missing <stdint.h> typedef's */
|
||||||
|
typedef signed char int8_t;
|
||||||
|
typedef unsigned char uint8_t;
|
||||||
|
|
||||||
|
typedef short int16_t;
|
||||||
|
typedef unsigned short uint16_t;
|
||||||
|
|
||||||
|
typedef long int32_t;
|
||||||
|
typedef unsigned long uint32_t;
|
||||||
|
|
||||||
|
typedef long long int64_t;
|
||||||
|
typedef unsigned long long uint64_t;
|
||||||
|
|
||||||
|
typedef long long intmax_t;
|
||||||
|
typedef unsigned long long uintmax_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* INCLUDE_msvc_compat__ */
|
Loading…
Reference in New Issue
Block a user