1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
@@ -8,16 +8,29 @@
if test "$PHP_UUID" != "no"; then
PHP_CHECK_FUNC_LIB(uuid_type, uuid)
PHP_CHECK_FUNC_LIB(uuid_variant, uuid)
-
+ PHP_CHECK_FUNC_LIB(uuid_time, uuid)
+ PHP_CHECK_FUNC_LIB(uuid_mac, uuid)
PHP_ADD_INCLUDE($PHP_UUID_DIR/include)
export OLD_CPPFLAGS="$CPPFLAGS"
export CPPFLAGS="$CPPFLAGS $INCLUDES -DHAVE_UUID"
AC_CHECK_HEADER([uuid/uuid.h], [], AC_MSG_ERROR('uuid/uuid.h' header not found))
- PHP_SUBST(UUID_SHARED_LIBADD)
- PHP_ADD_LIBRARY_WITH_PATH(uuid, $PHP_UUID_DIR/lib, UUID_SHARED_LIBADD)
+ AC_MSG_CHECKING(PHP version)
+ AC_TRY_COMPILE([], [
+#ifdef __APPLE__
+#error compiling on darwin
+#endif
+],
+[],
+[export UUID_ON_MAC=true])
+
+
+ if test $UUID_ON_MAC != "true"; then
+ PHP_SUBST(UUID_SHARED_LIBADD)
+ PHP_ADD_LIBRARY_WITH_PATH(uuid, $PHP_UUID_DIR/lib, UUID_SHARED_LIBADD)
+ fi
export CPPFLAGS="$OLD_CPPFLAGS"
export OLD_CPPFLAGS="$CPPFLAGS"
@@ -35,7 +48,6 @@
export CPPFLAGS="$OLD_CPPFLAGS"
- PHP_SUBST(UUID_SHARED_LIBADD)
AC_DEFINE(HAVE_UUID, 1, [ ])
PHP_NEW_EXTENSION(uuid, uuid.c , $ext_shared)
diff -urp uuid-1.0.2/php_uuid.h uuid-1.0.2.mine/php_uuid.h
@@ -145,6 +145,8 @@
#endif
#endif /* HAVE_UUID_VARIANT */
+
+#if HAVE_UUID_TIME
PHP_FUNCTION(uuid_time);
#if (PHP_MAJOR_VERSION >= 5)
ZEND_BEGIN_ARG_INFO_EX(uuid_time_arg_info, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1)
@@ -153,7 +155,9 @@
#else /* PHP 4.x */
#define uuid_time_arg_info NULL
#endif
+#endif /* HAVE_UUID_TIME */
+#if HAVE_UUID_MAC
PHP_FUNCTION(uuid_mac);
#if (PHP_MAJOR_VERSION >= 5)
ZEND_BEGIN_ARG_INFO_EX(uuid_mac_arg_info, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1)
@@ -162,6 +166,7 @@
#else /* PHP 4.x */
#define uuid_mac_arg_info NULL
#endif
+#endif /* HAVE_UUID_MAC */
PHP_FUNCTION(uuid_parse);
#if (PHP_MAJOR_VERSION >= 5)
@@ -185,6 +190,15 @@
} // extern "C"
#endif
+#ifndef UUID_TYPE_DCE_TIME
+#ifdef __APPLE__
+/* UUID Type definitions */
+#define UUID_TYPE_DCE_TIME 1
+#define UUID_TYPE_DCE_RANDOM 4
+#endif /* __MACOS__ */
+#endif /* UUID_TYPE_DCE_TIME */
+
+
/* mirrored PHP Constants */
#define UUID_TYPE_DEFAULT 0
#define UUID_TYPE_TIME UUID_TYPE_DCE_TIME
@@ -194,7 +208,7 @@
#define UUID_TYPE_NULL -1
#define UUID_TYPE_INVALID -42
-#endif /* PHP_HAVE_UUID */
+#endif /* HAVE_UUID */
#endif /* PHP_UUID_H */
diff -urp uuid-1.0.2/tests/uuid_mac.phpt uuid-
1.0.2.mine/tests/uuid_mac.phpt
@@ -5,6 +5,8 @@
if(!extension_loaded('uuid')) die('skip ');
+if(!function_exists('uuid_mac')) die('skip not compiled in (HAVE_UUID_MAC)');
+
?>
--FILE--
<?php
diff -urp uuid-1.0.2/tests/uuid_time.phpt uuid-
1.0.2.mine/tests/uuid_time.phpt
@@ -5,6 +5,8 @@
if(!extension_loaded('uuid')) die('skip ');
+if(!function_exists('uuid_time')) die('skip not compiled in (HAVE_UUID_TIME)');
+
?>
--FILE--
<?php
diff -urp uuid-1.0.2/uuid.c uuid-1.0.2.mine/uuid.c
@@ -40,8 +40,12 @@
#if HAVE_UUID_VARIANT
PHP_FE(uuid_variant , uuid_variant_arg_info)
#endif /* HAVE_UUID_VARIANT */
+#if HAVE_UUID_TIME
PHP_FE(uuid_time , uuid_time_arg_info)
+#endif /* HAVE_UUID_TIME */
+#if HAVE_UUID_MAC
PHP_FE(uuid_mac , uuid_mac_arg_info)
+#endif /* HAVE_UUID_MAC */
PHP_FE(uuid_parse , uuid_parse_arg_info)
PHP_FE(uuid_unparse , uuid_unparse_arg_info)
{ NULL, NULL, NULL }
|