xref: /PHP-5.3/Zend/acconfig.h (revision 831fbcf3)
1 /*
2    +----------------------------------------------------------------------+
3    | Zend Engine                                                          |
4    +----------------------------------------------------------------------+
5    | Copyright (c) 1998-2013 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$ */
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  */
128