Created
June 7, 2012 19:58
-
-
Save mihahribar/2891193 to your computer and use it in GitHub Desktop.
UUID build patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/uuid-1.0.2/config.m4 b/uuid-1.0.2/config.m4 | |
index fca4c2e..e536d95 100644 | |
--- a/uuid-1.0.2/config.m4 | |
+++ b/uuid-1.0.2/config.m4 | |
@@ -8,16 +8,29 @@ PHP_ARG_WITH(uuid, whether uuid is available,[ --with-uuid[=DIR] With uuid s | |
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 @@ if test "$PHP_UUID" != "no"; then | |
export CPPFLAGS="$OLD_CPPFLAGS" | |
- PHP_SUBST(UUID_SHARED_LIBADD) | |
AC_DEFINE(HAVE_UUID, 1, [ ]) | |
PHP_NEW_EXTENSION(uuid, uuid.c , $ext_shared) | |
diff --git a/uuid-1.0.2/php_uuid.h b/uuid-1.0.2/php_uuid.h | |
index 844c9b6..02c9e7d 100644 | |
--- a/uuid-1.0.2/php_uuid.h | |
+++ b/uuid-1.0.2/php_uuid.h | |
@@ -145,6 +145,8 @@ ZEND_END_ARG_INFO() | |
#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 @@ ZEND_END_ARG_INFO() | |
#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 @@ ZEND_END_ARG_INFO() | |
#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 @@ ZEND_END_ARG_INFO() | |
} // 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 @@ ZEND_END_ARG_INFO() | |
#define UUID_TYPE_NULL -1 | |
#define UUID_TYPE_INVALID -42 | |
-#endif /* PHP_HAVE_UUID */ | |
+#endif /* HAVE_UUID */ | |
#endif /* PHP_UUID_H */ | |
diff --git a/uuid-1.0.2/tests/uuid_mac.phpt b/uuid-1.0.2/tests/uuid_mac.phpt | |
index 3d704ca..a4631de 100644 | |
--- a/uuid-1.0.2/tests/uuid_mac.phpt | |
+++ b/uuid-1.0.2/tests/uuid_mac.phpt | |
@@ -5,6 +5,8 @@ uuid_mac() function | |
if(!extension_loaded('uuid')) die('skip '); | |
+if(!function_exists('uuid_mac')) die('skip not compiled in (HAVE_UUID_MAC)'); | |
+ | |
?> | |
--FILE-- | |
<?php | |
diff --git a/uuid-1.0.2/tests/uuid_time.phpt b/uuid-1.0.2/tests/uuid_time.phpt | |
index 0a4f7e0..744c7eb 100644 | |
--- a/uuid-1.0.2/tests/uuid_time.phpt | |
+++ b/uuid-1.0.2/tests/uuid_time.phpt | |
@@ -5,6 +5,8 @@ uuid_time() function | |
if(!extension_loaded('uuid')) die('skip '); | |
+if(!function_exists('uuid_time')) die('skip not compiled in (HAVE_UUID_TIME)'); | |
+ | |
?> | |
--FILE-- | |
<?php | |
diff --git a/uuid-1.0.2/uuid.c b/uuid-1.0.2/uuid.c | |
index 9a2d87d..29e6414 100644 | |
--- a/uuid-1.0.2/uuid.c | |
+++ b/uuid-1.0.2/uuid.c | |
@@ -29,7 +29,7 @@ | |
#if HAVE_UUID | |
/* {{{ uuid_functions[] */ | |
-function_entry uuid_functions[] = { | |
+zend_function_entry uuid_functions[] = { | |
PHP_FE(uuid_create , uuid_create_arg_info) | |
PHP_FE(uuid_is_valid , uuid_is_valid_arg_info) | |
PHP_FE(uuid_compare , uuid_compare_arg_info) | |
@@ -40,8 +40,12 @@ function_entry uuid_functions[] = { | |
#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 } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment