memcat: fix #59 (typo) [ci skip]
[awesomized/libmemcached] / m4 / ax_uuid.m4
1 # vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
2 # ===========================================================================
3 # https://github.com/BrianAker/ddm4
4 # ===========================================================================
5 #
6 # SYNOPSIS
7 #
8 # AX_UUID()
9 # AX_UUID_GENERATE_TIME()
10 # AX_UUID_GENERATE_TIME_SAFE()
11 #
12 # DESCRIPTION
13 #
14 # Check for uuid, uuid_generate_time, and uuid_generate_time_safe support.
15 #
16 # LICENSE
17 #
18 # Copyright (c) 2012-2013 Brian Aker <brian@tangent.org>
19 #
20 # Copying and distribution of this file, with or without modification, are
21 # permitted in any medium without royalty provided the copyright notice
22 # and this notice are preserved. This file is offered as-is, without any
23 # warranty.
24
25 #serial 7
26
27 AC_DEFUN([AX_UUID],
28 [AC_PREREQ([2.63])dnl
29 AC_CHECK_HEADER([uuid/uuid.h],[
30
31 AC_CACHE_CHECK([check to see if -luuid is needed], [ax_cv_libuuid_is_required],
32 [AC_LANG_PUSH([C])
33 AC_RUN_IFELSE(
34 [AC_LANG_PROGRAM([#include <uuid/uuid.h>], [
35 uuid_t out;
36 uuid_generate(out);
37 ])],
38 [ax_cv_libuuid_is_required=no],
39 [ax_cv_libuuid_is_required=yes],
40 [AC_MSG_WARN([test program execution failed])])
41 AC_LANG_POP
42 ])
43
44 AS_IF([test "$ax_cv_libuuid_is_required" = yes],
45 [AC_CACHE_CHECK([check to see if -luuid is needed], [ax_cv_libuuid_works],
46 [AX_SAVE_FLAGS
47 LIBS="-luuid $LIBS"
48 AC_LANG_PUSH([C])
49 AC_RUN_IFELSE(
50 [AC_LANG_PROGRAM([#include <uuid/uuid.h>], [
51 uuid_t out;
52 uuid_generate(out);
53 ])],
54 [ax_cv_libuuid_works=yes],
55 [ax_cv_libuuid_works=no],
56 [AC_MSG_WARN([test program execution failed])])
57 AC_LANG_POP
58 AX_RESTORE_FLAGS])
59 ])
60
61 AS_IF([test "$ax_cv_libuuid_is_required" = yes],
62 [AS_IF([test "$ax_cv_libuuid_works" = yes],[ax_libuuid=yes])],
63 [ax_libuuid=yes])
64 ],[ax_libuuid=no])
65
66 AS_IF([test "x$ax_libuuid" = xyes],
67 [AC_DEFINE([HAVE_UUID_UUID_H],[1],[Have uuid/uuid.h])
68 AS_IF([test "x$ax_cv_libuuid_is_required" = xyes],[ LIBUUID_LIB='-luuid' ])],
69 [AC_DEFINE([HAVE_UUID_UUID_H],[0],[Have uuid/uuid.h])
70 ])
71
72 AC_SUBST([LIBUUID_LIB])
73 AM_CONDITIONAL([HAVE_LIBUUID],[test "x$ax_libuuid" = xyes])
74 ])
75
76 AC_DEFUN([AX_UUID_GENERATE_TIME],
77 [AC_PREREQ([2.63])dnl
78 AC_REQUIRE([AX_UUID])dnl
79 AC_CACHE_CHECK([for uuid_generate_time],
80 [ax_cv_uuid_generate_time],
81 [AX_SAVE_FLAGS
82 LIBS="$LIBUUID_LIB $LIBS"
83 AC_LANG_PUSH([C])
84 AC_RUN_IFELSE([
85 AC_LANG_PROGRAM([#include <uuid/uuid.h>],[
86 uuid_t out;
87 uuid_generate_time(out);
88 ])],
89 [ax_cv_uuid_generate_time=yes],
90 [ax_cv_uuid_generate_time=no],
91 [AC_MSG_WARN([test program execution failed])])
92 AC_LANG_POP
93 AX_RESTORE_FLAGS
94 ])
95
96 AS_IF([test "$ax_cv_uuid_generate_time" = yes],
97 [AC_DEFINE([HAVE_UUID_GENERATE_TIME],[1],[Define if uuid_generate_time is present in uuid/uuid.h.])],
98 [AC_DEFINE([HAVE_UUID_GENERATE_TIME],[0],[Define if uuid_generate_time is present in uuid/uuid.h.])])
99 ])
100
101 AC_DEFUN([AX_UUID_GENERATE_TIME_SAFE],
102 [AC_PREREQ([2.63])dnl
103 AC_REQUIRE([AX_UUID])dnl
104 AC_CACHE_CHECK([for uuid_generate_time_safe],
105 [ax_cv_uuid_generate_time_safe],
106 [AX_SAVE_FLAGS
107 LIBS="$LIBUUID_LIB $LIBS"
108 AC_LANG_PUSH([C])
109 AC_RUN_IFELSE([
110 AC_LANG_PROGRAM([#include <uuid/uuid.h>],[
111 uuid_t out;
112 uuid_generate_time_safe(out);
113 ])],
114 [ax_cv_uuid_generate_time_safe=yes],
115 [ax_cv_uuid_generate_time_safe=no],
116 [AC_MSG_WARN([test program execution failed])])
117 AC_LANG_POP
118 AX_RESTORE_FLAGS
119 ])
120
121 AS_IF([test "$ax_cv_uuid_generate_time_safe" = yes],
122 [AC_DEFINE([HAVE_UUID_GENERATE_TIME_SAFE],[1],[Define if uuid_generate_time_safe is present in uuid/uuid.h.])],
123 [AC_DEFINE([HAVE_UUID_GENERATE_TIME_SAFE],[0],[Define if uuid_generate_time_safe is present in uuid/uuid.h.])])
124 ])