zend_config.w32.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. /*
  2. +----------------------------------------------------------------------+
  3. | Zend Engine |
  4. +----------------------------------------------------------------------+
  5. | Copyright (c) 1998-2016 Zend Technologies Ltd. (http://www.zend.com) |
  6. +----------------------------------------------------------------------+
  7. | This source file is subject to version 2.00 of the Zend license, |
  8. | that is bundled with this package in the file LICENSE, and is |
  9. | available through the world-wide-web at the following url: |
  10. | http://www.zend.com/license/2_00.txt. |
  11. | If you did not receive a copy of the Zend license and are unable to |
  12. | obtain it through the world-wide-web, please send a note to |
  13. | license@zend.com so we can mail you a copy immediately. |
  14. +----------------------------------------------------------------------+
  15. | Authors: Andi Gutmans <andi@zend.com> |
  16. | Zeev Suraski <zeev@zend.com> |
  17. +----------------------------------------------------------------------+
  18. */
  19. /* $Id$ */
  20. #ifndef ZEND_CONFIG_W32_H
  21. #define ZEND_CONFIG_W32_H
  22. #include <../main/config.w32.h>
  23. #define _CRTDBG_MAP_ALLOC
  24. #include <malloc.h>
  25. #include <stdlib.h>
  26. #include <crtdbg.h>
  27. #include <string.h>
  28. #ifndef ZEND_INCLUDE_FULL_WINDOWS_HEADERS
  29. #define WIN32_LEAN_AND_MEAN
  30. #endif
  31. #include <winsock2.h>
  32. #include <windows.h>
  33. #include <float.h>
  34. typedef unsigned long ulong;
  35. typedef unsigned int uint;
  36. #define HAVE_STDIOSTR_H 1
  37. #define HAVE_CLASS_ISTDIOSTREAM
  38. #define istdiostream stdiostream
  39. #define snprintf _snprintf
  40. #if _MSC_VER < 1500
  41. #define vsnprintf _vsnprintf
  42. #endif
  43. #define strcasecmp(s1, s2) stricmp(s1, s2)
  44. #define strncasecmp(s1, s2, n) strnicmp(s1, s2, n)
  45. #define zend_isinf(a) ((_fpclass(a) == _FPCLASS_PINF) || (_fpclass(a) == _FPCLASS_NINF))
  46. #define zend_finite(x) _finite(x)
  47. #define zend_isnan(x) _isnan(x)
  48. #define zend_sprintf sprintf
  49. /* This will cause the compilation process to be MUCH longer, but will generate
  50. * a much quicker PHP binary
  51. */
  52. #ifdef ZEND_WIN32_FORCE_INLINE
  53. /* _ALLOW_KEYWORD_MACROS is only relevant for C++ */
  54. # if (_MSC_VER >= 1700) && !defined(_ALLOW_KEYWORD_MACROS)
  55. # define _ALLOW_KEYWORD_MACROS
  56. # endif
  57. # undef inline
  58. # define inline __forceinline
  59. #elif !defined(ZEND_WIN32_KEEP_INLINE)
  60. # undef inline
  61. # define inline
  62. #endif
  63. #ifdef LIBZEND_EXPORTS
  64. # define ZEND_API __declspec(dllexport)
  65. #else
  66. # define ZEND_API __declspec(dllimport)
  67. #endif
  68. #define ZEND_DLEXPORT __declspec(dllexport)
  69. #define ZEND_DLIMPORT __declspec(dllimport)
  70. /* 0x00200000L is MB_SERVICE_NOTIFICATION, which is only supported under Windows NT
  71. * (and requires _WIN32_WINNT to be defined, which prevents the resulting executable
  72. * from running under Windows 9x
  73. * Windows 9x should silently ignore it, so it's being used here directly
  74. */
  75. #ifndef MB_SERVICE_NOTIFICATION
  76. #define MB_SERVICE_NOTIFICATION 0x00200000L
  77. #endif
  78. #define ZEND_SERVICE_MB_STYLE (MB_TOPMOST|MB_SERVICE_NOTIFICATION)
  79. #endif /* ZEND_CONFIG_W32_H */
  80. /*
  81. * Local variables:
  82. * tab-width: 4
  83. * c-basic-offset: 4
  84. * indent-tabs-mode: t
  85. * End:
  86. */