1: /*
2: +----------------------------------------------------------------------+
3: | Zend Engine |
4: +----------------------------------------------------------------------+
5: | Copyright (c) 1998-2012 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:
20: /* $Id: acconfig.h,v 1.1.1.1 2012/02/21 23:47:52 misho Exp $ */
21:
22: #if defined(__GNUC__) && __GNUC__ >= 4
23: # define ZEND_API __attribute__ ((visibility("default")))
24: # define ZEND_DLEXPORT __attribute__ ((visibility("default")))
25: #else
26: # define ZEND_API
27: # define ZEND_DLEXPORT
28: #endif
29:
30: #define ZEND_DLIMPORT
31:
32: @TOP@
33:
34: #undef uint
35: #undef ulong
36:
37: /* Define if you want to enable memory limit support */
38: #define MEMORY_LIMIT 0
39:
40: @BOTTOM@
41:
42: #ifndef ZEND_ACCONFIG_H_NO_C_PROTOS
43:
44: #ifdef HAVE_STDLIB_H
45: # include <stdlib.h>
46: #endif
47:
48: #ifdef HAVE_SYS_TYPES_H
49: # include <sys/types.h>
50: #endif
51:
52: #ifdef HAVE_SYS_SELECT_H
53: #include <sys/select.h>
54: #endif
55:
56: #ifdef HAVE_IEEEFP_H
57: # include <ieeefp.h>
58: #endif
59:
60: #ifdef HAVE_STRING_H
61: # include <string.h>
62: #else
63: # include <strings.h>
64: #endif
65:
66: #if ZEND_BROKEN_SPRINTF
67: int zend_sprintf(char *buffer, const char *format, ...);
68: #else
69: # define zend_sprintf sprintf
70: #endif
71:
72: #include <math.h>
73:
74: /* To enable the is_nan, is_infinite and is_finite PHP functions */
75: #ifdef NETWARE
76: #define HAVE_ISNAN 1
77: #define HAVE_ISINF 1
78: #define HAVE_ISFINITE 1
79: #endif
80:
81: #ifndef zend_isnan
82: #ifdef HAVE_ISNAN
83: #define zend_isnan(a) isnan(a)
84: #elif defined(HAVE_FPCLASS)
85: #define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
86: #else
87: #define zend_isnan(a) 0
88: #endif
89: #endif
90:
91: #ifdef HAVE_ISINF
92: #define zend_isinf(a) isinf(a)
93: #elif defined(INFINITY)
94: /* Might not work, but is required by ISO C99 */
95: #define zend_isinf(a) (((a)==INFINITY)?1:0)
96: #elif defined(HAVE_FPCLASS)
97: #define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF))
98: #else
99: #define zend_isinf(a) 0
100: #endif
101:
102: #ifdef HAVE_FINITE
103: #define zend_finite(a) finite(a)
104: #elif defined(HAVE_ISFINITE) || defined(isfinite)
105: #define zend_finite(a) isfinite(a)
106: #elif defined(fpclassify)
107: #define zend_finite(a) ((fpclassify((a))!=FP_INFINITE&&fpclassify((a))!=FP_NAN)?1:0)
108: #else
109: #define zend_finite(a) (zend_isnan(a) ? 0 : zend_isinf(a) ? 0 : 1)
110: #endif
111:
112: #endif /* ifndef ZEND_ACCONFIG_H_NO_C_PROTOS */
113:
114: #ifdef NETWARE
115: #ifdef USE_WINSOCK
116: #/*This detection against winsock is of no use*/ undef HAVE_SOCKLEN_T
117: #/*This detection against winsock is of no use*/ undef HAVE_SYS_SOCKET_H
118: #endif
119: #endif
120:
121: /*
122: * Local variables:
123: * tab-width: 4
124: * c-basic-offset: 4
125: * indent-tabs-mode: t
126: * End:
127: */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>