1dnl Checks for libfdatetime required headers and functions 2dnl 3dnl Version: 20190308 4 5dnl Function to detect if libfdatetime is available 6dnl ac_libfdatetime_dummy is used to prevent AC_CHECK_LIB adding unnecessary -l<library> arguments 7AC_DEFUN([AX_LIBFDATETIME_CHECK_LIB], 8 [AS_IF( 9 [test "x$ac_cv_enable_shared_libs" = xno || test "x$ac_cv_with_libfdatetime" = xno], 10 [ac_cv_libfdatetime=no], 11 [ac_cv_libfdatetime=check 12 dnl Check if the directory provided as parameter exists 13 AS_IF( 14 [test "x$ac_cv_with_libfdatetime" != x && test "x$ac_cv_with_libfdatetime" != xauto-detect], 15 [AS_IF( 16 [test -d "$ac_cv_with_libfdatetime"], 17 [CFLAGS="$CFLAGS -I${ac_cv_with_libfdatetime}/include" 18 LDFLAGS="$LDFLAGS -L${ac_cv_with_libfdatetime}/lib"], 19 [AC_MSG_FAILURE( 20 [no such directory: $ac_cv_with_libfdatetime], 21 [1]) 22 ]) 23 ], 24 [dnl Check for a pkg-config file 25 AS_IF( 26 [test "x$cross_compiling" != "xyes" && test "x$PKGCONFIG" != "x"], 27 [PKG_CHECK_MODULES( 28 [libfdatetime], 29 [libfdatetime >= 20180910], 30 [ac_cv_libfdatetime=yes], 31 [ac_cv_libfdatetime=check]) 32 ]) 33 AS_IF( 34 [test "x$ac_cv_libfdatetime" = xyes], 35 [ac_cv_libfdatetime_CPPFLAGS="$pkg_cv_libfdatetime_CFLAGS" 36 ac_cv_libfdatetime_LIBADD="$pkg_cv_libfdatetime_LIBS"]) 37 ]) 38 39 AS_IF( 40 [test "x$ac_cv_libfdatetime" = xcheck], 41 [dnl Check for headers 42 AC_CHECK_HEADERS([libfdatetime.h]) 43 44 AS_IF( 45 [test "x$ac_cv_header_libfdatetime_h" = xno], 46 [ac_cv_libfdatetime=no], 47 [dnl Check for the individual functions 48 ac_cv_libfdatetime=yes 49 50 AC_CHECK_LIB( 51 fdatetime, 52 libfdatetime_get_version, 53 [ac_cv_libfdatetime_dummy=yes], 54 [ac_cv_libfdatetime=no]) 55 56 dnl FAT date time functions 57 AC_CHECK_LIB( 58 fdatetime, 59 libfdatetime_fat_date_time_initialize, 60 [ac_cv_libfdatetime_dummy=yes], 61 [ac_cv_libfdatetime=no]) 62 AC_CHECK_LIB( 63 fdatetime, 64 libfdatetime_fat_date_time_free, 65 [ac_cv_libfdatetime_dummy=yes], 66 [ac_cv_libfdatetime=no]) 67 AC_CHECK_LIB( 68 fdatetime, 69 libfdatetime_fat_date_time_copy_from_byte_stream, 70 [ac_cv_libfdatetime_dummy=yes], 71 [ac_cv_libfdatetime=no]) 72 AC_CHECK_LIB( 73 fdatetime, 74 libfdatetime_fat_date_time_copy_from_32bit, 75 [ac_cv_libfdatetime_dummy=yes], 76 [ac_cv_libfdatetime=no]) 77 AC_CHECK_LIB( 78 fdatetime, 79 libfdatetime_fat_date_time_copy_to_32bit, 80 [ac_cv_libfdatetime_dummy=yes], 81 [ac_cv_libfdatetime=no]) 82 AC_CHECK_LIB( 83 fdatetime, 84 libfdatetime_fat_date_time_copy_to_utf8_string, 85 [ac_cv_libfdatetime_dummy=yes], 86 [ac_cv_libfdatetime=no]) 87 AC_CHECK_LIB( 88 fdatetime, 89 libfdatetime_fat_date_time_copy_to_utf8_string_with_index, 90 [ac_cv_libfdatetime_dummy=yes], 91 [ac_cv_libfdatetime=no]) 92 AC_CHECK_LIB( 93 fdatetime, 94 libfdatetime_fat_date_time_copy_to_utf16_string, 95 [ac_cv_libfdatetime_dummy=yes], 96 [ac_cv_libfdatetime=no]) 97 AC_CHECK_LIB( 98 fdatetime, 99 libfdatetime_fat_date_time_copy_to_utf16_string_with_index, 100 [ac_cv_libfdatetime_dummy=yes], 101 [ac_cv_libfdatetime=no]) 102 AC_CHECK_LIB( 103 fdatetime, 104 libfdatetime_fat_date_time_copy_to_utf32_string, 105 [ac_cv_libfdatetime_dummy=yes], 106 [ac_cv_libfdatetime=no]) 107 AC_CHECK_LIB( 108 fdatetime, 109 libfdatetime_fat_date_time_copy_to_utf32_string_with_index, 110 [ac_cv_libfdatetime_dummy=yes], 111 [ac_cv_libfdatetime=no]) 112 113 dnl FILETIME functions 114 AC_CHECK_LIB( 115 fdatetime, 116 libfdatetime_filetime_initialize, 117 [ac_cv_libfdatetime_dummy=yes], 118 [ac_cv_libfdatetime=no]) 119 AC_CHECK_LIB( 120 fdatetime, 121 libfdatetime_filetime_free, 122 [ac_cv_libfdatetime_dummy=yes], 123 [ac_cv_libfdatetime=no]) 124 AC_CHECK_LIB( 125 fdatetime, 126 libfdatetime_filetime_copy_from_byte_stream, 127 [ac_cv_libfdatetime_dummy=yes], 128 [ac_cv_libfdatetime=no]) 129 AC_CHECK_LIB( 130 fdatetime, 131 libfdatetime_filetime_copy_from_64bit, 132 [ac_cv_libfdatetime_dummy=yes], 133 [ac_cv_libfdatetime=no]) 134 AC_CHECK_LIB( 135 fdatetime, 136 libfdatetime_filetime_copy_to_64bit, 137 [ac_cv_libfdatetime_dummy=yes], 138 [ac_cv_libfdatetime=no]) 139 AC_CHECK_LIB( 140 fdatetime, 141 libfdatetime_filetime_copy_to_utf8_string, 142 [ac_cv_libfdatetime_dummy=yes], 143 [ac_cv_libfdatetime=no]) 144 AC_CHECK_LIB( 145 fdatetime, 146 libfdatetime_filetime_copy_to_utf8_string_with_index, 147 [ac_cv_libfdatetime_dummy=yes], 148 [ac_cv_libfdatetime=no]) 149 AC_CHECK_LIB( 150 fdatetime, 151 libfdatetime_filetime_copy_to_utf16_string, 152 [ac_cv_libfdatetime_dummy=yes], 153 [ac_cv_libfdatetime=no]) 154 AC_CHECK_LIB( 155 fdatetime, 156 libfdatetime_filetime_copy_to_utf16_string_with_index, 157 [ac_cv_libfdatetime_dummy=yes], 158 [ac_cv_libfdatetime=no]) 159 AC_CHECK_LIB( 160 fdatetime, 161 libfdatetime_filetime_copy_to_utf32_string, 162 [ac_cv_libfdatetime_dummy=yes], 163 [ac_cv_libfdatetime=no]) 164 AC_CHECK_LIB( 165 fdatetime, 166 libfdatetime_filetime_copy_to_utf32_string_with_index, 167 [ac_cv_libfdatetime_dummy=yes], 168 [ac_cv_libfdatetime=no]) 169 AC_CHECK_LIB( 170 fdatetime, 171 libfdatetime_filetime_add, 172 [ac_cv_libfdatetime_dummy=yes], 173 [ac_cv_libfdatetime=no]) 174 175 dnl Floatingtime functions 176 AC_CHECK_LIB( 177 fdatetime, 178 libfdatetime_floatingtime_initialize, 179 [ac_cv_libfdatetime_dummy=yes], 180 [ac_cv_libfdatetime=no]) 181 AC_CHECK_LIB( 182 fdatetime, 183 libfdatetime_floatingtime_free, 184 [ac_cv_libfdatetime_dummy=yes], 185 [ac_cv_libfdatetime=no]) 186 AC_CHECK_LIB( 187 fdatetime, 188 libfdatetime_floatingtime_copy_from_byte_stream, 189 [ac_cv_libfdatetime_dummy=yes], 190 [ac_cv_libfdatetime=no]) 191 AC_CHECK_LIB( 192 fdatetime, 193 libfdatetime_floatingtime_copy_from_64bit, 194 [ac_cv_libfdatetime_dummy=yes], 195 [ac_cv_libfdatetime=no]) 196 AC_CHECK_LIB( 197 fdatetime, 198 libfdatetime_floatingtime_copy_to_64bit, 199 [ac_cv_libfdatetime_dummy=yes], 200 [ac_cv_libfdatetime=no]) 201 AC_CHECK_LIB( 202 fdatetime, 203 libfdatetime_floatingtime_copy_to_utf8_string, 204 [ac_cv_libfdatetime_dummy=yes], 205 [ac_cv_libfdatetime=no]) 206 AC_CHECK_LIB( 207 fdatetime, 208 libfdatetime_floatingtime_copy_to_utf8_string_with_index, 209 [ac_cv_libfdatetime_dummy=yes], 210 [ac_cv_libfdatetime=no]) 211 AC_CHECK_LIB( 212 fdatetime, 213 libfdatetime_floatingtime_copy_to_utf16_string, 214 [ac_cv_libfdatetime_dummy=yes], 215 [ac_cv_libfdatetime=no]) 216 AC_CHECK_LIB( 217 fdatetime, 218 libfdatetime_floatingtime_copy_to_utf16_string_with_index, 219 [ac_cv_libfdatetime_dummy=yes], 220 [ac_cv_libfdatetime=no]) 221 AC_CHECK_LIB( 222 fdatetime, 223 libfdatetime_floatingtime_copy_to_utf32_string, 224 [ac_cv_libfdatetime_dummy=yes], 225 [ac_cv_libfdatetime=no]) 226 AC_CHECK_LIB( 227 fdatetime, 228 libfdatetime_floatingtime_copy_to_utf32_string_with_index, 229 [ac_cv_libfdatetime_dummy=yes], 230 [ac_cv_libfdatetime=no]) 231 232 dnl HFS time functions 233 AC_CHECK_LIB( 234 fdatetime, 235 libfdatetime_hfs_time_initialize, 236 [ac_cv_libfdatetime_dummy=yes], 237 [ac_cv_libfdatetime=no]) 238 AC_CHECK_LIB( 239 fdatetime, 240 libfdatetime_hfs_time_free, 241 [ac_cv_libfdatetime_dummy=yes], 242 [ac_cv_libfdatetime=no]) 243 AC_CHECK_LIB( 244 fdatetime, 245 libfdatetime_hfs_time_copy_from_byte_stream, 246 [ac_cv_libfdatetime_dummy=yes], 247 [ac_cv_libfdatetime=no]) 248 AC_CHECK_LIB( 249 fdatetime, 250 libfdatetime_hfs_time_copy_from_32bit, 251 [ac_cv_libfdatetime_dummy=yes], 252 [ac_cv_libfdatetime=no]) 253 AC_CHECK_LIB( 254 fdatetime, 255 libfdatetime_hfs_time_copy_to_32bit, 256 [ac_cv_libfdatetime_dummy=yes], 257 [ac_cv_libfdatetime=no]) 258 AC_CHECK_LIB( 259 fdatetime, 260 libfdatetime_hfs_time_copy_to_utf8_string, 261 [ac_cv_libfdatetime_dummy=yes], 262 [ac_cv_libfdatetime=no]) 263 AC_CHECK_LIB( 264 fdatetime, 265 libfdatetime_hfs_time_copy_to_utf8_string_with_index, 266 [ac_cv_libfdatetime_dummy=yes], 267 [ac_cv_libfdatetime=no]) 268 AC_CHECK_LIB( 269 fdatetime, 270 libfdatetime_hfs_time_copy_to_utf16_string, 271 [ac_cv_libfdatetime_dummy=yes], 272 [ac_cv_libfdatetime=no]) 273 AC_CHECK_LIB( 274 fdatetime, 275 libfdatetime_hfs_time_copy_to_utf16_string_with_index, 276 [ac_cv_libfdatetime_dummy=yes], 277 [ac_cv_libfdatetime=no]) 278 AC_CHECK_LIB( 279 fdatetime, 280 libfdatetime_hfs_time_copy_to_utf32_string, 281 [ac_cv_libfdatetime_dummy=yes], 282 [ac_cv_libfdatetime=no]) 283 AC_CHECK_LIB( 284 fdatetime, 285 libfdatetime_hfs_time_copy_to_utf32_string_with_index, 286 [ac_cv_libfdatetime_dummy=yes], 287 [ac_cv_libfdatetime=no]) 288 289 dnl NSF timedate functions 290 AC_CHECK_LIB( 291 fdatetime, 292 libfdatetime_nsf_timedate_initialize, 293 [ac_cv_libfdatetime_dummy=yes], 294 [ac_cv_libfdatetime=no]) 295 AC_CHECK_LIB( 296 fdatetime, 297 libfdatetime_nsf_timedate_free, 298 [ac_cv_libfdatetime_dummy=yes], 299 [ac_cv_libfdatetime=no]) 300 AC_CHECK_LIB( 301 fdatetime, 302 libfdatetime_nsf_timedate_copy_from_byte_stream, 303 [ac_cv_libfdatetime_dummy=yes], 304 [ac_cv_libfdatetime=no]) 305 AC_CHECK_LIB( 306 fdatetime, 307 libfdatetime_nsf_timedate_copy_from_64bit, 308 [ac_cv_libfdatetime_dummy=yes], 309 [ac_cv_libfdatetime=no]) 310 AC_CHECK_LIB( 311 fdatetime, 312 libfdatetime_nsf_timedate_copy_to_64bit, 313 [ac_cv_libfdatetime_dummy=yes], 314 [ac_cv_libfdatetime=no]) 315 AC_CHECK_LIB( 316 fdatetime, 317 libfdatetime_nsf_timedate_copy_to_utf8_string, 318 [ac_cv_libfdatetime_dummy=yes], 319 [ac_cv_libfdatetime=no]) 320 AC_CHECK_LIB( 321 fdatetime, 322 libfdatetime_nsf_timedate_copy_to_utf8_string_with_index, 323 [ac_cv_libfdatetime_dummy=yes], 324 [ac_cv_libfdatetime=no]) 325 AC_CHECK_LIB( 326 fdatetime, 327 libfdatetime_nsf_timedate_copy_to_utf16_string, 328 [ac_cv_libfdatetime_dummy=yes], 329 [ac_cv_libfdatetime=no]) 330 AC_CHECK_LIB( 331 fdatetime, 332 libfdatetime_nsf_timedate_copy_to_utf16_string_with_index, 333 [ac_cv_libfdatetime_dummy=yes], 334 [ac_cv_libfdatetime=no]) 335 AC_CHECK_LIB( 336 fdatetime, 337 libfdatetime_nsf_timedate_copy_to_utf32_string, 338 [ac_cv_libfdatetime_dummy=yes], 339 [ac_cv_libfdatetime=no]) 340 AC_CHECK_LIB( 341 fdatetime, 342 libfdatetime_nsf_timedate_copy_to_utf32_string_with_index, 343 [ac_cv_libfdatetime_dummy=yes], 344 [ac_cv_libfdatetime=no]) 345 346 dnl POSIX time functions 347 AC_CHECK_LIB( 348 fdatetime, 349 libfdatetime_posix_time_initialize, 350 [ac_cv_libfdatetime_dummy=yes], 351 [ac_cv_libfdatetime=no]) 352 AC_CHECK_LIB( 353 fdatetime, 354 libfdatetime_posix_time_free, 355 [ac_cv_libfdatetime_dummy=yes], 356 [ac_cv_libfdatetime=no]) 357 AC_CHECK_LIB( 358 fdatetime, 359 libfdatetime_posix_time_copy_from_byte_stream, 360 [ac_cv_libfdatetime_dummy=yes], 361 [ac_cv_libfdatetime=no]) 362 AC_CHECK_LIB( 363 fdatetime, 364 libfdatetime_posix_time_copy_from_32bit, 365 [ac_cv_libfdatetime_dummy=yes], 366 [ac_cv_libfdatetime=no]) 367 AC_CHECK_LIB( 368 fdatetime, 369 libfdatetime_posix_time_copy_to_32bit, 370 [ac_cv_libfdatetime_dummy=yes], 371 [ac_cv_libfdatetime=no]) 372 AC_CHECK_LIB( 373 fdatetime, 374 libfdatetime_posix_time_copy_from_64bit, 375 [ac_cv_libfdatetime_dummy=yes], 376 [ac_cv_libfdatetime=no]) 377 AC_CHECK_LIB( 378 fdatetime, 379 libfdatetime_posix_time_copy_to_64bit, 380 [ac_cv_libfdatetime_dummy=yes], 381 [ac_cv_libfdatetime=no]) 382 AC_CHECK_LIB( 383 fdatetime, 384 libfdatetime_posix_time_copy_to_utf8_string, 385 [ac_cv_libfdatetime_dummy=yes], 386 [ac_cv_libfdatetime=no]) 387 AC_CHECK_LIB( 388 fdatetime, 389 libfdatetime_posix_time_copy_to_utf8_string_with_index, 390 [ac_cv_libfdatetime_dummy=yes], 391 [ac_cv_libfdatetime=no]) 392 AC_CHECK_LIB( 393 fdatetime, 394 libfdatetime_posix_time_copy_to_utf16_string, 395 [ac_cv_libfdatetime_dummy=yes], 396 [ac_cv_libfdatetime=no]) 397 AC_CHECK_LIB( 398 fdatetime, 399 libfdatetime_posix_time_copy_to_utf16_string_with_index, 400 [ac_cv_libfdatetime_dummy=yes], 401 [ac_cv_libfdatetime=no]) 402 AC_CHECK_LIB( 403 fdatetime, 404 libfdatetime_posix_time_copy_to_utf32_string, 405 [ac_cv_libfdatetime_dummy=yes], 406 [ac_cv_libfdatetime=no]) 407 AC_CHECK_LIB( 408 fdatetime, 409 libfdatetime_posix_time_copy_to_utf32_string_with_index, 410 [ac_cv_libfdatetime_dummy=yes], 411 [ac_cv_libfdatetime=no]) 412 413 dnl Systemtime functions 414 AC_CHECK_LIB( 415 fdatetime, 416 libfdatetime_systemetime_initialize, 417 [ac_cv_libfdatetime_dummy=yes], 418 [ac_cv_libfdatetime=no]) 419 AC_CHECK_LIB( 420 fdatetime, 421 libfdatetime_systemetime_free, 422 [ac_cv_libfdatetime_dummy=yes], 423 [ac_cv_libfdatetime=no]) 424 AC_CHECK_LIB( 425 fdatetime, 426 libfdatetime_systemetime_copy_from_byte_stream, 427 [ac_cv_libfdatetime_dummy=yes], 428 [ac_cv_libfdatetime=no]) 429 AC_CHECK_LIB( 430 fdatetime, 431 libfdatetime_systemetime_copy_to_utf8_string, 432 [ac_cv_libfdatetime_dummy=yes], 433 [ac_cv_libfdatetime=no]) 434 AC_CHECK_LIB( 435 fdatetime, 436 libfdatetime_systemetime_copy_to_utf8_string_with_index, 437 [ac_cv_libfdatetime_dummy=yes], 438 [ac_cv_libfdatetime=no]) 439 AC_CHECK_LIB( 440 fdatetime, 441 libfdatetime_systemetime_copy_to_utf16_string, 442 [ac_cv_libfdatetime_dummy=yes], 443 [ac_cv_libfdatetime=no]) 444 AC_CHECK_LIB( 445 fdatetime, 446 libfdatetime_systemetime_copy_to_utf16_string_with_index, 447 [ac_cv_libfdatetime_dummy=yes], 448 [ac_cv_libfdatetime=no]) 449 AC_CHECK_LIB( 450 fdatetime, 451 libfdatetime_systemetime_copy_to_utf32_string, 452 [ac_cv_libfdatetime_dummy=yes], 453 [ac_cv_libfdatetime=no]) 454 AC_CHECK_LIB( 455 fdatetime, 456 libfdatetime_systemetime_copy_to_utf32_string_with_index, 457 [ac_cv_libfdatetime_dummy=yes], 458 [ac_cv_libfdatetime=no]) 459 460 ac_cv_libfdatetime_LIBADD="-lfdatetime"]) 461 ]) 462 AS_IF( 463 [test "x$ac_cv_with_libfdatetime" != x && test "x$ac_cv_with_libfdatetime" != xauto-detect && test "x$ac_cv_libfdatetime" != xyes], 464 [AC_MSG_FAILURE( 465 [unable to find supported libfdatetime in directory: $ac_cv_with_libfdatetime], 466 [1]) 467 ]) 468 ]) 469 470 AS_IF( 471 [test "x$ac_cv_libfdatetime" = xyes], 472 [AC_DEFINE( 473 [HAVE_LIBFDATETIME], 474 [1], 475 [Define to 1 if you have the `fdatetime' library (-lfdatetime).]) 476 ]) 477 478 AS_IF( 479 [test "x$ac_cv_libfdatetime" = xyes], 480 [AC_SUBST( 481 [HAVE_LIBFDATETIME], 482 [1]) ], 483 [AC_SUBST( 484 [HAVE_LIBFDATETIME], 485 [0]) 486 ]) 487 ]) 488 489dnl Function to detect if libfdatetime dependencies are available 490AC_DEFUN([AX_LIBFDATETIME_CHECK_LOCAL], 491 [dnl No additional checks. 492 493 ac_cv_libfdatetime_CPPFLAGS="-I../libfdatetime"; 494 ac_cv_libfdatetime_LIBADD="../libfdatetime/libfdatetime.la"; 495 496 ac_cv_libfdatetime=local 497 ]) 498 499dnl Function to detect how to enable libfdatetime 500AC_DEFUN([AX_LIBFDATETIME_CHECK_ENABLE], 501 [AX_COMMON_ARG_WITH( 502 [libfdatetime], 503 [libfdatetime], 504 [search for libfdatetime in includedir and libdir or in the specified DIR, or no if to use local version], 505 [auto-detect], 506 [DIR]) 507 508 AX_LIBFDATETIME_CHECK_LIB 509 510 dnl Check if the dependencies for the local library version 511 AS_IF( 512 [test "x$ac_cv_libfdatetime" != xyes], 513 [AX_LIBFDATETIME_CHECK_LOCAL 514 515 AC_DEFINE( 516 [HAVE_LOCAL_LIBFDATETIME], 517 [1], 518 [Define to 1 if the local version of libfdatetime is used.]) 519 AC_SUBST( 520 [HAVE_LOCAL_LIBFDATETIME], 521 [1]) 522 ]) 523 524 AM_CONDITIONAL( 525 [HAVE_LOCAL_LIBFDATETIME], 526 [test "x$ac_cv_libfdatetime" = xlocal]) 527 AS_IF( 528 [test "x$ac_cv_libfdatetime_CPPFLAGS" != "x"], 529 [AC_SUBST( 530 [LIBFDATETIME_CPPFLAGS], 531 [$ac_cv_libfdatetime_CPPFLAGS]) 532 ]) 533 AS_IF( 534 [test "x$ac_cv_libfdatetime_LIBADD" != "x"], 535 [AC_SUBST( 536 [LIBFDATETIME_LIBADD], 537 [$ac_cv_libfdatetime_LIBADD]) 538 ]) 539 540 AS_IF( 541 [test "x$ac_cv_libfdatetime" = xyes], 542 [AC_SUBST( 543 [ax_libfdatetime_pc_libs_private], 544 [-lfdatetime]) 545 ]) 546 547 AS_IF( 548 [test "x$ac_cv_libfdatetime" = xyes], 549 [AC_SUBST( 550 [ax_libfdatetime_spec_requires], 551 [libfdatetime]) 552 AC_SUBST( 553 [ax_libfdatetime_spec_build_requires], 554 [libfdatetime-devel]) 555 ]) 556 ]) 557 558