Procházet zdrojové kódy

[simulator] avoid conflicts between winsock.h and sys/time.h

Meco Man před 3 roky
rodič
revize
19abf927d2

+ 5 - 1
bsp/simulator/drivers/SConscript

@@ -17,12 +17,16 @@ if rtconfig.CROSS_TOOL == 'msvc':
         '_CRT_DECLARE_NONSTDC_NAMES=0',
         '_CRT_DECLARE_NONSTDC_NAMES=0',
         # errno macro redefinition
         # errno macro redefinition
         '_CRT_ERRNO_DEFINED',
         '_CRT_ERRNO_DEFINED',
-        # time.h conflicts
+        # avoid time.h conflicts, such as struct timespec, ctime, difftime...
         '_CRT_NO_TIME_T',
         '_CRT_NO_TIME_T',
         # disable deprecation of unsafe functions, such as strncpy
         # disable deprecation of unsafe functions, such as strncpy
         '_CRT_SECURE_NO_WARNINGS',
         '_CRT_SECURE_NO_WARNINGS',
         # RT_VESRION conflicts in winuser.h
         # RT_VESRION conflicts in winuser.h
         'NORESOURCE',
         'NORESOURCE',
+        # lean and mean for Windows.h, exclude winsock.h when include Windows.h
+        # avoid conlicts between sys/select.h, time.h, and winsock.h
+        # such as fd_set related, struct timeval...
+        'WIN32_LEAN_AND_MEAN'
     ]
     ]
 
 
 # remove no need file.
 # remove no need file.

+ 0 - 4
components/libc/compilers/common/sys/ioctl.h

@@ -11,10 +11,6 @@
 #ifndef __SYS_IOCTL_H__
 #ifndef __SYS_IOCTL_H__
 #define __SYS_IOCTL_H__
 #define __SYS_IOCTL_H__
 
 
-#ifdef _WIN32
-#include <winsock.h>
-#endif
-
 #ifdef __cplusplus
 #ifdef __cplusplus
 extern "C" {
 extern "C" {
 #endif
 #endif

+ 0 - 6
components/libc/compilers/common/sys/select.h

@@ -16,10 +16,6 @@
 #include <sys/types.h>
 #include <sys/types.h>
 #include <sys/time.h>
 #include <sys/time.h>
 
 
-#ifdef _WIN32
-#include <winsock.h>
-#endif
-
 #ifdef __cplusplus
 #ifdef __cplusplus
 extern "C" {
 extern "C" {
 #endif
 #endif
@@ -37,7 +33,6 @@ extern "C" {
 
 
 typedef long    fd_mask;
 typedef long    fd_mask;
 
 
-#ifndef _WIN32
 #ifndef _SYS_TYPES_FD_SET /* Newlib 2.2.0 or lower version */
 #ifndef _SYS_TYPES_FD_SET /* Newlib 2.2.0 or lower version */
 #define   NBBY    8       /* number of bits in a byte */
 #define   NBBY    8       /* number of bits in a byte */
 #define   NFDBITS (sizeof (fd_mask) * NBBY)   /* bits per mask */
 #define   NFDBITS (sizeof (fd_mask) * NBBY)   /* bits per mask */
@@ -57,7 +52,6 @@ typedef struct _types_fd_set {
 #endif /* _SYS_TYPES_FD_SET */
 #endif /* _SYS_TYPES_FD_SET */
 
 
 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
-#endif /* _WIN32 */
 
 
 #ifdef __cplusplus
 #ifdef __cplusplus
 }
 }

+ 1 - 3
components/libc/compilers/common/sys/time.h

@@ -17,8 +17,6 @@
 #include <stdint.h>
 #include <stdint.h>
 #include <time.h>
 #include <time.h>
 #ifdef _WIN32
 #ifdef _WIN32
-#include <winsock.h> /* for struct timeval */
-#include <corecrt.h> /* for __time64_t */
 typedef __time64_t time_t;
 typedef __time64_t time_t;
 #endif /* _WIN32 */
 #endif /* _WIN32 */
 
 
@@ -45,7 +43,7 @@ struct timezone
     int tz_dsttime;       /* type of dst correction */
     int tz_dsttime;       /* type of dst correction */
 };
 };
 
 
-#if !defined(_TIMEVAL_DEFINED) && !defined(_WIN32)
+#if !defined(_TIMEVAL_DEFINED)
 #define _TIMEVAL_DEFINED
 #define _TIMEVAL_DEFINED
 struct timeval
 struct timeval
 {
 {