#
# SYNOPSIS
#
-# AX_LIB_UUID
+# AX_UUID
+# AX_UUID_GENERATE_TIME_SAFE
#
# DESCRIPTION
#
# and this notice are preserved. This file is offered as-is, without any
# warranty.
-#serial 2
+#serial 3
-AC_DEFUN([AX_UUID_GENERATE_TIME_SAFE], [
- AC_CACHE_CHECK([check for uuid_generate_time_safe], [ax_cv_uuid_generate_time_safe], [
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="-luuid"
- AC_LANG_PUSH([C])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([
-#include <uuid/uuid.h>
- ], [
- uuid_t out;
- uuid_generate_time_safe(out);
- ]), [ax_cv_uuid_generate_time_safe=yes ], [ax_cv_uuid_generate_time_safe=no ]
- ])
+AC_DEFUN([AX_UUID], [
+ AC_CHECK_HEADER([uuid/uuid.h], [
+ AC_CACHE_CHECK([check to see if -luuid is not needed], [ax_cv_libuuid_is_required], [
+ AC_LANG_PUSH([C])
+ AC_RUN_IFELSE([
+ AC_LANG_PROGRAM([#include <uuid/uuid.h>], [
+ uuid_t out;
+ uuid_generate(out);
+ ])],
+ [ax_cv_libuuid_is_required=no],
+ [ax_cv_libuuid_is_required=maybe],
+ [AC_MSG_WARN([test program execution failed])])
+ AC_LANG_POP
+ ])
+
+ AS_IF([test "$ax_cv_libuuid_is_required" = maybe], [
+ AC_CACHE_CHECK([check to see if -luuid is needed], [ax_cv_libuuid_works], [
+ save_LIBS="$LIBS"
+ LIBS="-luuid $LIBS"
+ AC_LANG_PUSH([C])
+ AC_RUN_IFELSE([
+ AC_LANG_PROGRAM([#include <uuid/uuid.h>], [
+ uuid_t out;
+ uuid_generate(out);
+ ])],
+ [ax_cv_libuuid_works=yes],
+ [ax_cv_libuuid_works=no],
+ [AC_MSG_WARN([test program execution failed])])
+ AC_LANG_POP
+ LIBS="$save_LIBS"
+ ])
+ AS_IF([test "$ax_cv_libuuid_works" = yes], [
+ AC_SUBST([LIBUUID_LDFLAGS],[-luuid])])
+ ])
- AC_LANG_POP
- LDFLAGS="$save_LDFLAGS"
- ])
+ AS_IF([test "$ax_cv_libuuid_is_required" = no], [UUID_UUID_H=yes])
+ AS_IF([test "$ax_cv_libuuid_works" = yes], [UUID_UUID_H=yes])
+ ])
- AS_IF([test "$ax_cv_uuid_generate_time_safe" = yes],[
- AC_DEFINE(HAVE_UUID_GENERATE_TIME_SAFE,[1],[Define if uuid_generate_time_safe is present in uuid/uuid.h.])],[
- AC_DEFINE(HAVE_UUID_GENERATE_TIME_SAFE,[0],[Define if uuid_generate_time_safe is present in uuid/uuid.h.])
+ AS_IF([test "$UUID_UUID_H" = yes], [
+ AC_DEFINE([HAVE_UUID_UUID_H], [1], [Have uuid/uuid.h])
+ ],[
+ AC_DEFINE([HAVE_UUID_UUID_H], [0], [Have uuid/uuid.h])
+ ])
])
-])
+
+ AC_DEFUN([AX_UUID_GENERATE_TIME_SAFE], [
+ AC_REQUIRE([AX_UUID])
+ AC_CACHE_CHECK([for uuid_generate_time_safe], [ax_cv_uuid_generate_time_safe], [
+ save_LIBS="$LIBS"
+ LIBS="$LIBUUID_LDFLAGS $LIBS"
+ AC_LANG_PUSH([C])
+ AC_RUN_IFELSE([
+ AC_LANG_PROGRAM([#include <uuid/uuid.h>], [
+ uuid_t out;
+ uuid_generate_time_safe(out);
+ ])],
+ [ax_cv_uuid_generate_time_safe=yes],
+ [ax_cv_uuid_generate_time_safe=no],
+ [AC_MSG_WARN([test program execution failed])])
+ AC_LANG_POP
+ LIBS="$save_LIBS"
+ ])
+
+ AS_IF([test "$ax_cv_uuid_generate_time_safe" = yes],[
+ AC_DEFINE(HAVE_UUID_GENERATE_TIME_SAFE,[1],[Define if uuid_generate_time_safe is present in uuid/uuid.h.])],[
+ AC_DEFINE(HAVE_UUID_GENERATE_TIME_SAFE,[0],[Define if uuid_generate_time_safe is present in uuid/uuid.h.])
+ ])
+ ])