1dnl Functions for libuuid 2dnl 3dnl Version: 20190308 4 5dnl Function to detect if libuuid is available 6AC_DEFUN([AX_LIBUUID_CHECK_LIB], 7 [AS_IF( 8 [test "x$ac_cv_enable_shared_libs" = xno || test "x$ac_cv_with_libuuid" = xno], 9 [ac_cv_libuuid=no], 10 [ac_cv_libuuid=check 11 dnl Check if the directory provided as parameter exists 12 AS_IF( 13 [test "x$ac_cv_with_libuuid" != x && test "x$ac_cv_with_libuuid" != xauto-detect], 14 [AS_IF( 15 [test -d "$ac_cv_with_libuuid"], 16 [CFLAGS="$CFLAGS -I${ac_cv_with_libuuid}/include" 17 LDFLAGS="$LDFLAGS -L${ac_cv_with_libuuid}/lib"], 18 [AC_MSG_FAILURE( 19 [no such directory: $ac_cv_with_libuuid], 20 [1]) 21 ]) 22 ], 23 [AS_IF( 24 [test "x$ac_cv_enable_winapi" = xyes], 25 [ac_cv_libuuid=librpcrt4 26 ac_cv_libuuid_LIBADD=-lrpcrt4], 27 [dnl Check for a pkg-config file 28 AS_IF( 29 [test "x$cross_compiling" != "xyes" && test "x$PKGCONFIG" != "x"], 30 [PKG_CHECK_MODULES( 31 [uuid], 32 [uuid >= 2.20], 33 [ac_cv_libuuid=libuuid], 34 [ac_cv_libuuid=check]) 35 ]) 36 AS_IF( 37 [test "x$ac_cv_libuuid" = xlibuuid], 38 [ac_cv_libuuid_CPPFLAGS="$pkg_cv_libuuid_CFLAGS" 39 ac_cv_libuuid_LIBADD="$pkg_cv_libuuid_LIBS"]) 40 ]) 41 ]) 42 43 AS_IF( 44 [test "x$ac_cv_libuuid" = xcheck], 45 [AS_IF( 46 [test "x$ac_cv_libuuid" = xuuid], 47 [ac_cv_libuuid_CPPFLAGS="$pkg_cv_uuid_CFLAGS" 48 ac_cv_libuuid_LIBADD="$pkg_cv_uuid_LIBS"], 49 [dnl Check for headers 50 AC_CHECK_HEADERS([uuid/uuid.h]) 51 52 AS_IF( 53 [test "x$ac_cv_header_uuid_uuid_h" != xno], 54 [AC_CHECK_FUNC( 55 [uuid_generate], 56 [ac_cv_libuuid=native], 57 [AC_CHECK_LIB( 58 [uuid], 59 [uuid_generate], 60 [ac_cv_libuuid=libuuid 61 ac_cv_libuuid_LIBADD="-luuid"], 62 [ac_cv_libuuid=no]) 63 ]) 64 ]) 65 ]) 66 67 AS_IF( 68 [test "x$ac_cv_libuuid" != xno], 69 [AC_DEFINE( 70 [HAVE_GUID_SUPPORT], 71 [1], 72 [Define to 1 if GUID/UUID support is available.]) 73 ]) 74 75 AS_IF( 76 [test "x$ac_cv_libuuid" = xnative], 77 [AC_CHECK_FUNC( 78 [uuid_generate_random], 79 [AC_DEFINE( 80 [HAVE_UUID_GENERATE_RANDOM], 81 [1], 82 [Define to 1 if uuid_generate_random funtion is available.]) 83 ]) 84 AC_CHECK_FUNC( 85 [uuid_generate_time], 86 [AC_DEFINE( 87 [HAVE_UUID_GENERATE_TIME], 88 [1], 89 [Define to 1 if uuid_generate_time funtion is available.]) 90 ]) 91 ]) 92 93 AS_IF( 94 [test "x$ac_cv_libuuid" = xlibuuid], 95 [AC_CHECK_LIB( 96 [uuid], 97 [uuid_generate_random], 98 [AC_DEFINE( 99 [HAVE_UUID_GENERATE_RANDOM], 100 [1], 101 [Define to 1 if uuid_generate_random funtion is available in libuuid.]) 102 ]) 103 AC_CHECK_LIB( 104 [uuid], 105 [uuid_generate_time], 106 [AC_DEFINE( 107 [HAVE_UUID_GENERATE_TIME], 108 [1], 109 [Define to 1 if uuid_generate_time funtion is available in libuuid.]) 110 ]) 111 ]) 112 ]) 113 ]) 114 115 AS_IF( 116 [test "x$ac_cv_libuuid" = xlibrpcrt4], 117 [AC_DEFINE( 118 [HAVE_LIBUUID], 119 [1], 120 [Define to 1 if you have the 'librpcrt4' library (-lrpcrt4).]) 121 ]) 122 AS_IF( 123 [test "x$ac_cv_libuuid" = xlibuuid], 124 [AC_DEFINE( 125 [HAVE_LIBUUID], 126 [1], 127 [Define to 1 if you have the 'libuuid' library (-luuid).]) 128 ]) 129 130 AS_IF( 131 [test "x$ac_cv_libuuid" != xno], 132 [AC_SUBST( 133 [HAVE_LIBUUID], 134 [1]) ], 135 [AC_SUBST( 136 [HAVE_LIBUUID], 137 [0]) 138 ]) 139 ]) 140 141dnl Function to detect how to enable libuuid 142AC_DEFUN([AX_LIBUUID_CHECK_ENABLE], 143 [AX_COMMON_ARG_WITH( 144 [libuuid], 145 [libuuid], 146 [search for libuuid in includedir and libdir or in the specified DIR, or no if not to use libuuid], 147 [auto-detect], 148 [DIR]) 149 150 dnl Check for a shared library version 151 AX_LIBUUID_CHECK_LIB 152 153 AS_IF( 154 [test "x$ac_cv_libuuid_CPPFLAGS" != "x"], 155 [AC_SUBST( 156 [LIBUUID_CPPFLAGS], 157 [$ac_cv_libuuid_CPPFLAGS]) 158 ]) 159 AS_IF( 160 [test "x$ac_cv_libuuid_LIBADD" != "x"], 161 [AC_SUBST( 162 [LIBUUID_LIBADD], 163 [$ac_cv_libuuid_LIBADD]) 164 ]) 165 166 AS_IF( 167 [test "x$ac_cv_libuuid" = xlibuuid], 168 [AC_SUBST( 169 [ax_libuuid_pc_libs_private], 170 [-luuid]) 171 ]) 172 173 AS_IF( 174 [test "x$ac_cv_libuuid" = xlibuuid], 175 [AC_SUBST( 176 [ax_libuuid_spec_requires], 177 [libuuid]) 178 AC_SUBST( 179 [ax_libuuid_spec_build_requires], 180 [libuuid-devel]) 181 ]) 182 ]) 183 184