1122bb495998542258c6b4efdda713766a702c02
[awesomized/libmemcached] / m4 / uuid.m4
1 # ===========================================================================
2 # http://
3 # ===========================================================================
4 #
5 # SYNOPSIS
6 #
7 # AX_UUID
8 # AX_UUID_GENERATE_TIME_SAFE
9 #
10 # DESCRIPTION
11 #
12 # Check for uuid, and uuid_generate_time_safe support.
13 #
14 # LICENSE
15 #
16 # Copyright (c) 2012 Brian Aker <brian@tangent.org>
17 #
18 # Copying and distribution of this file, with or without modification, are
19 # permitted in any medium without royalty provided the copyright notice
20 # and this notice are preserved. This file is offered as-is, without any
21 # warranty.
22
23 #serial 3
24
25 AC_DEFUN([AX_UUID], [
26 AC_CHECK_HEADER([uuid/uuid.h], [
27 AC_CACHE_CHECK([check to see if we need -luuid], [ax_cv_libuuid_is_required], [
28 save_LDFLAGS="$LDFLAGS"
29 LDFLAGS="-luuid"
30 AC_LANG_PUSH([C])
31 AC_LINK_IFELSE([
32 AC_LANG_PROGRAM([#include <uuid/uuid.h>], [
33 uuid_t out;
34 uuid_generate(out);
35 ])],
36 [ax_cv_libuuid_is_required=yes],
37 [])
38 AC_LANG_POP
39 LDFLAGS="$save_LDFLAGS"
40 ])
41 AS_IF([test x"ax_cv_libuuid_is_required" = xyes], [
42 LIBUUID_LDFLAGS="-luuid"
43 UUID_UUID_H=yes
44 ],[
45 AC_CACHE_CHECK([check to see if -luuid is not needed], [ax_cv_libuuid_is_not_required], [
46 AC_LANG_PUSH([C])
47 AC_COMPILE_IFELSE([
48 AC_LANG_PROGRAM([#include <uuid/uuid.h>], [
49 uuid_t out;
50 uuid_generate(out);
51 ])],
52 [ax_cv_libuuid_is_not_required=yes],
53 [ax_cv_libuuid_is_not_required=no])
54 AC_LANG_POP
55 ])
56 AS_IF([test x"ax_cv_libuuid_is_not_required" = xyes], [UUID_UUID_H=yes], [UUID_UUID_H=])
57 ])
58 ], [UUID_UUID_H=])
59
60 AS_IF([test x"$UUID_UUID_H" = xyes], [
61 AC_DEFINE([HAVE_UUID_UUID_H], [ 1 ], [Have uuid/uuid.h])
62 ],[
63 AC_DEFINE([HAVE_UUID_UUID_H], [ 0 ], [Have uuid/uuid.h])
64 ])
65 ])
66
67 AC_DEFUN([AX_UUID_GENERATE_TIME_SAFE], [
68 AC_REQUIRE([AX_UUID])
69 AC_CACHE_CHECK([for uuid_generate_time_safe], [ax_cv_uuid_generate_time_safe], [
70 save_LDFLAGS="$LDFLAGS"
71 LDFLAGS=$LIBUUID_LDFLAGS
72 AC_LANG_PUSH([C])
73 AC_LINK_IFELSE([
74 AC_LANG_PROGRAM([#include <uuid/uuid.h>], [
75 uuid_t out;
76 uuid_generate_time_safe(out);
77 ])],
78 [ax_cv_uuid_generate_time_safe=yes],
79 [ax_cv_uuid_generate_time_safe=no])
80 AC_LANG_POP
81 LDFLAGS="$save_LDFLAGS"
82 ])
83
84 AS_IF([test "$ax_cv_uuid_generate_time_safe" = yes],[
85 AC_DEFINE(HAVE_UUID_GENERATE_TIME_SAFE,[1],[Define if uuid_generate_time_safe is present in uuid/uuid.h.])],[
86 AC_DEFINE(HAVE_UUID_GENERATE_TIME_SAFE,[0],[Define if uuid_generate_time_safe is present in uuid/uuid.h.])
87 ])
88 ])