1 /* include/config.h. Generated from config.h.in by configure. */ 2 /* include/config.h.in. Generated from configure.ac by autoheader. */ 3 4 /* Define if building universal (internal helper macro) */ 5 /* #undef AC_APPLE_UNIVERSAL_BUILD */ 6 7 /* Build version */ 8 #define BUILD_VERSION "7c3f660" 9 10 /* Where to keep blackbox dumps */ 11 #define CRM_BLACKBOX_DIR "/var/lib/pacemaker/blackbox" 12 13 /* Location for Pacemaker bundle logs */ 14 #define CRM_BUNDLE_DIR "/var/log/pacemaker/bundles" 15 16 /* Where to keep cts stateful data */ 17 #define CRM_CONFIG_CTS "/var/lib/pacemaker/cts" 18 19 /* Where to keep configuration files */ 20 #define CRM_CONFIG_DIR "/var/lib/pacemaker/cib" 21 22 /* Location to store core files produced by Pacemaker daemons */ 23 #define CRM_CORE_DIR "/var/lib/pacemaker/cores" 24 25 /* Location for Pacemaker daemons */ 26 #define CRM_DAEMON_DIR "/usr/libexec/pacemaker" 27 28 /* Group to run Pacemaker daemons as */ 29 #define CRM_DAEMON_GROUP "haclient" 30 31 /* User to run Pacemaker daemons as */ 32 #define CRM_DAEMON_USER "hacluster" 33 34 /* Set of enabled features */ 35 #define CRM_FEATURES "agent-manpages ascii-docs books compat-2.0 corosync-ge-2 generated-manpages monotonic nagios ncurses remote systemd" 36 37 /* Location for Pacemaker log file */ 38 #define CRM_LOG_DIR "/var/log/pacemaker" 39 40 /* Location to store directory produced by Pacemaker daemons */ 41 #define CRM_PACEMAKER_DIR "/var/lib/pacemaker" 42 43 /* Where resource agents should keep state files */ 44 #define CRM_RSCTMP_DIR "/var/run/resource-agents" 45 46 /* Location for the Pacemaker Relax-NG Schema */ 47 #define CRM_SCHEMA_DIRECTORY "/usr/share/pacemaker" 48 49 /* Where to keep state files and sockets */ 50 #define CRM_STATE_DIR "/var/run/crm" 51 52 /* Enable versioned attributes */ 53 #define ENABLE_VERSIONED_ATTRS 0 54 55 /* gcc can complain about nonliterals in format */ 56 #define GCC_FORMAT_NONLITERAL_CHECKING_ENABLED /**/ 57 58 /* Define to 1 if you have the `alphasort' function. */ 59 #define HAVE_ALPHASORT 1 60 61 /* Define to 1 if you have the `argz_add' function. */ 62 #define HAVE_ARGZ_ADD 1 63 64 /* Define to 1 if you have the `argz_append' function. */ 65 #define HAVE_ARGZ_APPEND 1 66 67 /* Define to 1 if you have the `argz_count' function. */ 68 #define HAVE_ARGZ_COUNT 1 69 70 /* Define to 1 if you have the `argz_create_sep' function. */ 71 #define HAVE_ARGZ_CREATE_SEP 1 72 73 /* Define to 1 if you have the <argz.h> header file. */ 74 #define HAVE_ARGZ_H 1 75 76 /* Define to 1 if you have the `argz_insert' function. */ 77 #define HAVE_ARGZ_INSERT 1 78 79 /* Define to 1 if you have the `argz_next' function. */ 80 #define HAVE_ARGZ_NEXT 1 81 82 /* Define to 1 if you have the `argz_stringify' function. */ 83 #define HAVE_ARGZ_STRINGIFY 1 84 85 /* Define to 1 if you have the <arpa/inet.h> header file. */ 86 #define HAVE_ARPA_INET_H 1 87 88 /* Define to 1 if you have the <byteswap.h> header file. */ 89 #define HAVE_BYTESWAP_H 1 90 91 /* Define to 1 if you have the <bzlib.h> header file. */ 92 #define HAVE_BZLIB_H 1 93 94 /* Define to 1 if you have the `closedir' function. */ 95 #define HAVE_CLOSEDIR 1 96 97 /* Define to 1 if you have the `corosync_cfg_trackstart' function. */ 98 /* #undef HAVE_COROSYNC_CFG_TRACKSTART */ 99 100 /* Define to 1 if you have the <ctype.h> header file. */ 101 #define HAVE_CTYPE_H 1 102 103 /* Define to 1 if you have the <curses/curses.h> header file. */ 104 /* #undef HAVE_CURSES_CURSES_H */ 105 106 /* Define to 1 if you have the <curses.h> header file. */ 107 #define HAVE_CURSES_H 1 108 109 /* Define to 1 if the system has the type `DBusBasicValue'. */ 110 #define HAVE_DBUSBASICVALUE 1 111 112 /* Define to 1 if you have the declaration of `CLOCK_MONOTONIC', and to 0 if 113 you don't. */ 114 #define HAVE_DECL_CLOCK_MONOTONIC 1 115 116 /* Define to 1 if you have the declaration of `cygwin_conv_path', and to 0 if 117 you don't. */ 118 /* #undef HAVE_DECL_CYGWIN_CONV_PATH */ 119 120 /* Define to 1 if you have the declaration of `PRIu32', and to 0 if you don't. 121 */ 122 #define HAVE_DECL_PRIU32 1 123 124 /* Define to 1 if you have the declaration of `PRIu64', and to 0 if you don't. 125 */ 126 #define HAVE_DECL_PRIU64 1 127 128 /* Define to 1 if you have the declaration of `PRIx32', and to 0 if you don't. 129 */ 130 #define HAVE_DECL_PRIX32 1 131 132 /* Define to 1 if you have the declaration of `SCNu64', and to 0 if you don't. 133 */ 134 #define HAVE_DECL_SCNU64 1 135 136 /* Define to 1 if you have the <dirent.h> header file. */ 137 #define HAVE_DIRENT_H 1 138 139 /* Define if you have the GNU dld library. */ 140 /* #undef HAVE_DLD */ 141 142 /* Define to 1 if you have the <dld.h> header file. */ 143 /* #undef HAVE_DLD_H */ 144 145 /* Define to 1 if you have the `dlerror' function. */ 146 #define HAVE_DLERROR 1 147 148 /* Define to 1 if you have the <dlfcn.h> header file. */ 149 #define HAVE_DLFCN_H 1 150 151 /* Define to 1 if you have the <dl.h> header file. */ 152 /* #undef HAVE_DL_H */ 153 154 /* Define if you have the _dyld_func_lookup function. */ 155 /* #undef HAVE_DYLD */ 156 157 /* Define to 1 if you have the <errno.h> header file. */ 158 #define HAVE_ERRNO_H 1 159 160 /* Define to 1 if the system has the type `error_t'. */ 161 #define HAVE_ERROR_T 1 162 163 /* Define to 1 if you have the <getopt.h> header file. */ 164 #define HAVE_GETOPT_H 1 165 166 /* Define to 1 if you have the <glib.h> header file. */ 167 #define HAVE_GLIB_H 1 168 169 /* Define to 1 if you have the <gnutls/gnutls.h> header file. */ 170 #define HAVE_GNUTLS_GNUTLS_H 1 171 172 /* Define to 1 if you have the <grp.h> header file. */ 173 #define HAVE_GRP_H 1 174 175 /* Define to 1 if curses library has incompatible printw() */ 176 /* #undef HAVE_INCOMPATIBLE_PRINTW */ 177 178 /* Define to 1 if you have the <inttypes.h> header file. */ 179 #define HAVE_INTTYPES_H 1 180 181 /* Have qb_ipcc_auth_get function */ 182 /* #undef HAVE_IPCC_AUTH_GET */ 183 184 /* Define to 1 if you have the `asan' library (-lasan). */ 185 /* #undef HAVE_LIBASAN */ 186 187 /* Define to 1 if you have the `bz2' library (-lbz2). */ 188 #define HAVE_LIBBZ2 1 189 190 /* Define to 1 if you have the `c' library (-lc). */ 191 #define HAVE_LIBC 1 192 193 /* have curses library */ 194 /* #undef HAVE_LIBCURSES */ 195 196 /* Define to 1 if you have the `dl' library (-ldl). */ 197 #define HAVE_LIBDL 1 198 199 /* Define if libdlloader will be built on this platform */ 200 #define HAVE_LIBDLLOADER 1 201 202 /* Define to 1 if you have the `gnugetopt' library (-lgnugetopt). */ 203 /* #undef HAVE_LIBGNUGETOPT */ 204 205 /* Define to 1 if you have the `gnutls' library (-lgnutls). */ 206 #define HAVE_LIBGNUTLS 1 207 208 /* have ncurses library */ 209 #define HAVE_LIBNCURSES 1 210 211 /* Define to 1 if you have the `pam' library (-lpam). */ 212 #define HAVE_LIBPAM 1 213 214 /* Define to 1 if you have the `pils' library (-lpils). */ 215 /* #undef HAVE_LIBPILS */ 216 217 /* Define to 1 if you have the `plumb' library (-lplumb). */ 218 /* #undef HAVE_LIBPLUMB */ 219 220 /* Define to 1 if you have the `rt' library (-lrt). */ 221 #define HAVE_LIBRT 1 222 223 /* Define to 1 if you have the `socket' library (-lsocket). */ 224 /* #undef HAVE_LIBSOCKET */ 225 226 /* Define to 1 if you have the `tsan' library (-ltsan). */ 227 /* #undef HAVE_LIBTSAN */ 228 229 /* Define to 1 if you have the `ubsan' library (-lubsan). */ 230 /* #undef HAVE_LIBUBSAN */ 231 232 /* Define to 1 if you have the <libxml/xpath.h> header file. */ 233 #define HAVE_LIBXML_XPATH_H 1 234 235 /* Define to 1 if you have the `xslt' library (-lxslt). */ 236 #define HAVE_LIBXSLT 1 237 238 /* Define to 1 if you have the <libxslt/xslt.h> header file. */ 239 #define HAVE_LIBXSLT_XSLT_H 1 240 241 /* Define to 1 if you have the <limits.h> header file. */ 242 #define HAVE_LIMITS_H 1 243 244 /* Define to 1 if you have the <linux/swab.h> header file. */ 245 #define HAVE_LINUX_SWAB_H 1 246 247 /* Define this if a modern libltdl is already installed */ 248 #define HAVE_LTDL 1 249 250 /* Define to 1 if you have the <mach-o/dyld.h> header file. */ 251 /* #undef HAVE_MACH_O_DYLD_H */ 252 253 /* Define to 1 if you have the <malloc.h> header file. */ 254 /* #undef HAVE_MALLOC_H */ 255 256 /* Define to 1 if you have the <memory.h> header file. */ 257 #define HAVE_MEMORY_H 1 258 259 /* Define to 1 if you have the `nanosleep' function. */ 260 #define HAVE_NANOSLEEP 1 261 262 /* Define to 1 if you have the <ncurses.h> header file. */ 263 #define HAVE_NCURSES_H 1 264 265 /* Define to 1 if you have the <ncurses/ncurses.h> header file. */ 266 #define HAVE_NCURSES_NCURSES_H 1 267 268 /* Define to 1 if you have the <netdb.h> header file. */ 269 #define HAVE_NETDB_H 1 270 271 /* Define to 1 if you have the <netinet/in.h> header file. */ 272 #define HAVE_NETINET_IN_H 1 273 274 /* Define to 1 if you have the <netinet/ip.h> header file. */ 275 #define HAVE_NETINET_IP_H 1 276 277 /* Define to 1 if you have the `NoSuchFunctionName' function. */ 278 /* #undef HAVE_NOSUCHFUNCTIONNAME */ 279 280 /* Define to 1 if you have the `opendir' function. */ 281 #define HAVE_OPENDIR 1 282 283 /* Define to 1 if libcrypto is used for MD5. */ 284 /* #undef HAVE_OPENSSL_MD5 */ 285 286 /* Define to 1 if you have the <openssl/md5.h> header file. */ 287 /* #undef HAVE_OPENSSL_MD5_H */ 288 289 /* Define to 1 if you have the <pam/pam_appl.h> header file. */ 290 /* #undef HAVE_PAM_PAM_APPL_H */ 291 292 /* Define if libtool can extract symbol lists from object files. */ 293 #define HAVE_PRELOADED_SYMBOLS 1 294 295 /* Define to 1 if you have the <pwd.h> header file. */ 296 #define HAVE_PWD_H 1 297 298 /* Define to 1 if you have the `qb_ipcc_auth_get' function. */ 299 /* #undef HAVE_QB_IPCC_AUTH_GET */ 300 301 /* Define to 1 if you have the `readdir' function. */ 302 #define HAVE_READDIR 1 303 304 /* Define to 1 if you have the `scandir' function. */ 305 #define HAVE_SCANDIR 1 306 307 /* Define to 1 if you have the `sched_setscheduler' function. */ 308 #define HAVE_SCHED_SETSCHEDULER 1 309 310 /* Define to 1 if you have the <security/pam_appl.h> header file. */ 311 #define HAVE_SECURITY_PAM_APPL_H 1 312 313 /* Define if you have the shl_load function. */ 314 /* #undef HAVE_SHL_LOAD */ 315 316 /* Define to 1 if sighandler_t is available */ 317 /* #undef HAVE_SIGHANDLER_T */ 318 319 /* Define to 1 if you have the <signal.h> header file. */ 320 #define HAVE_SIGNAL_H 1 321 322 /* Define to 1 if you have the <stddef.h> header file. */ 323 #define HAVE_STDDEF_H 1 324 325 /* Define to 1 if you have the <stdint.h> header file. */ 326 #define HAVE_STDINT_H 1 327 328 /* Define to 1 if you have the <stdio.h> header file. */ 329 #define HAVE_STDIO_H 1 330 331 /* Define to 1 if you have the <stdlib.h> header file. */ 332 #define HAVE_STDLIB_H 1 333 334 /* Define to 1 if you have the <stonith/stonith.h> header file. */ 335 /* #undef HAVE_STONITH_STONITH_H */ 336 337 /* Define to 1 if you have the `strchrnul' function. */ 338 #define HAVE_STRCHRNUL 1 339 340 /* Define to 1 if you have the `strerror' function. */ 341 #define HAVE_STRERROR 1 342 343 /* Define to 1 if you have the <strings.h> header file. */ 344 #define HAVE_STRINGS_H 1 345 346 /* Define to 1 if you have the <string.h> header file. */ 347 #define HAVE_STRING_H 1 348 349 /* Define to 1 if you have the `strlcat' function. */ 350 /* #undef HAVE_STRLCAT */ 351 352 /* Define to 1 if you have the `strlcpy' function. */ 353 /* #undef HAVE_STRLCPY */ 354 355 /* Define to 1 if you have the `strndup' function. */ 356 #define HAVE_STRNDUP 1 357 358 /* Define to 1 if you have the `strnlen' function. */ 359 #define HAVE_STRNLEN 1 360 361 /* Define this if struct dirent has d_type */ 362 #define HAVE_STRUCT_DIRENT_D_TYPE 1 363 364 /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ 365 #define HAVE_STRUCT_TM_TM_GMTOFF 1 366 367 /* Define to 1 if you have the <sys/dl.h> header file. */ 368 /* #undef HAVE_SYS_DL_H */ 369 370 /* Define to 1 if you have the <sys/ioctl.h> header file. */ 371 #define HAVE_SYS_IOCTL_H 1 372 373 /* Define to 1 if you have the <sys/param.h> header file. */ 374 #define HAVE_SYS_PARAM_H 1 375 376 /* Define to 1 if you have the <sys/reboot.h> header file. */ 377 #define HAVE_SYS_REBOOT_H 1 378 379 /* Define to 1 if you have the <sys/resource.h> header file. */ 380 #define HAVE_SYS_RESOURCE_H 1 381 382 /* Define to 1 if you have the <sys/signalfd.h> header file. */ 383 #define HAVE_SYS_SIGNALFD_H 1 384 385 /* Define to 1 if you have the <sys/socket.h> header file. */ 386 #define HAVE_SYS_SOCKET_H 1 387 388 /* Define to 1 if you have the <sys/stat.h> header file. */ 389 #define HAVE_SYS_STAT_H 1 390 391 /* Define to 1 if you have the <sys/time.h> header file. */ 392 #define HAVE_SYS_TIME_H 1 393 394 /* Define to 1 if you have the <sys/types.h> header file. */ 395 #define HAVE_SYS_TYPES_H 1 396 397 /* Define to 1 if you have the <sys/utsname.h> header file. */ 398 #define HAVE_SYS_UTSNAME_H 1 399 400 /* Define to 1 if you have the <sys/wait.h> header file. */ 401 #define HAVE_SYS_WAIT_H 1 402 403 /* Define to 1 if you have the <time.h> header file. */ 404 #define HAVE_TIME_H 1 405 406 /* Define to 1 if you have the <unistd.h> header file. */ 407 #define HAVE_UNISTD_H 1 408 409 /* Define to 1 if you have the `usleep' function. */ 410 #define HAVE_USLEEP 1 411 412 /* Define to 1 if you have the `uuid_unparse' function. */ 413 #define HAVE_UUID_UNPARSE 1 414 415 /* Define to 1 if you have the <uuid/uuid.h> header file. */ 416 #define HAVE_UUID_UUID_H 1 417 418 /* This value is set to 1 to indicate that the system argz facility works */ 419 #define HAVE_WORKING_ARGZ 1 420 421 /* */ 422 /* #undef HAVE___PROGNAME */ 423 424 /* Whether enum qb_log_conf supports QB_LOG_CONF_ELLIPSIS */ 425 /* #undef HAVE_qb_log_conf_QB_LOG_CONF_ELLIPSIS */ 426 427 /* Whether enum qb_log_conf supports QB_LOG_CONF_MAX_LINE_LEN */ 428 /* #undef HAVE_qb_log_conf_QB_LOG_CONF_MAX_LINE_LEN */ 429 430 /* Location for CIB secrets */ 431 /* #undef LRM_CIBSECRETS_DIR */ 432 433 /* Define if the OS needs help to load dependent libraries for dlopen(). */ 434 /* #undef LTDL_DLOPEN_DEPLIBS */ 435 436 /* Define to the system default library search path. */ 437 #define LT_DLSEARCH_PATH "/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/atlas:/usr/lib64//bind9-export/:/usr/lib64/dyninst:/usr/lib64/iscsi:/usr/lib64/llvm:/usr/lib64/mysql" 438 439 /* The archive extension */ 440 #define LT_LIBEXT "a" 441 442 /* The archive prefix */ 443 #define LT_LIBPREFIX "lib" 444 445 /* Define to the extension used for runtime loadable modules, say, ".so". */ 446 #define LT_MODULE_EXT ".so" 447 448 /* Define to the name of the environment variable that determines the run-time 449 module search path. */ 450 #define LT_MODULE_PATH_VAR "LD_LIBRARY_PATH" 451 452 /* Define to the sub-directory in which libtool stores uninstalled libraries. 453 */ 454 #define LT_OBJDIR ".libs/" 455 456 /* Define to the shared library suffix, say, ".dylib". */ 457 /* #undef LT_SHARED_EXT */ 458 459 /* Directory for nagios plugins metadata */ 460 #define NAGIOS_METADATA_DIR "/usr/share/nagios/plugins-metadata" 461 462 /* Directory for nagios plugins */ 463 #define NAGIOS_PLUGIN_DIR "/usr/libexec/nagios/plugins" 464 465 /* Define if dlsym() requires a leading underscore in symbol names. */ 466 /* #undef NEED_USCORE */ 467 468 /* OCF directories to search for resource agents */ 469 #define OCF_RA_PATH "/usr/lib/ocf/resource.d" 470 471 /* OCF root directory for resource agents and libraries */ 472 #define OCF_ROOT_DIR "/usr/lib/ocf" 473 474 /* Where to keep configuration files like authkey */ 475 #define PACEMAKER_CONFIG_DIR "/etc/pacemaker" 476 477 /* Version number of this Pacemaker build */ 478 #define PACEMAKER_VERSION "2.1.0" 479 480 /* Name of package */ 481 #define PACKAGE "pacemaker" 482 483 /* Define to the address where bug reports for this package should be sent. */ 484 #define PACKAGE_BUGREPORT "users@clusterlabs.org" 485 486 /* Define to the full name of this package. */ 487 #define PACKAGE_NAME "pacemaker" 488 489 /* Define to the full name and version of this package. */ 490 #define PACKAGE_STRING "pacemaker 2.1.0" 491 492 /* Define to the one symbol short name of this package. */ 493 #define PACKAGE_TARNAME "pacemaker" 494 495 /* Define to the home page for this package. */ 496 #define PACKAGE_URL "https://ClusterLabs.org/pacemaker/" 497 498 /* Define to the version of this package. */ 499 #define PACKAGE_VERSION "2.1.0" 500 501 /* GnuTLS cipher priorities */ 502 #define PCMK_GNUTLS_PRIORITIES "NORMAL" 503 504 /* Location for modifiable per-process data */ 505 #define PCMK_RUN_DIR "/var/run" 506 507 /* Keep certain output compatible with 2.0 release series */ 508 #define PCMK__COMPAT_2_0 1 509 510 /* Default value for concurrent-fencing cluster option */ 511 #define PCMK__CONCURRENT_FENCING_DEFAULT "false" 512 513 /* Location for executable fence agents */ 514 #define PCMK__FENCE_BINDIR "/usr/sbin" 515 516 /* Default value for resource-stickiness resource meta-attribute */ 517 #define PCMK__RESOURCE_STICKINESS_DEFAULT 0 518 519 /* Default value for SBD_SYNC_RESOURCE_STARTUP environment variable */ 520 #define PCMK__SBD_SYNC_DEFAULT false 521 522 /* Where to keep scheduler outputs */ 523 #define PE_STATE_DIR "/var/lib/pacemaker/pengine" 524 525 /* Location for system binaries */ 526 #define SBIN_DIR "/usr/sbin" 527 528 /* The size of `char', as computed by sizeof. */ 529 #define SIZEOF_CHAR 1 530 531 /* The size of `int', as computed by sizeof. */ 532 #define SIZEOF_INT 4 533 534 /* The size of `long', as computed by sizeof. */ 535 #define SIZEOF_LONG 8 536 537 /* The size of `long long', as computed by sizeof. */ 538 #define SIZEOF_LONG_LONG 8 539 540 /* The size of `short', as computed by sizeof. */ 541 #define SIZEOF_SHORT 2 542 543 /* */ 544 #define SSCANF_HAS_M 1 545 546 /* Define to 1 if you have the ANSI C header files. */ 547 #define STDC_HEADERS 1 548 549 /* Support CIB secrets */ 550 #define SUPPORT_CIBSECRETS 0 551 552 /* Support the Corosync messaging and membership layer */ 553 #define SUPPORT_COROSYNC 1 554 555 /* Support dbus */ 556 #define SUPPORT_DBUS 1 557 558 /* Support nagios plugins */ 559 #define SUPPORT_NAGIOS 1 560 561 /* Define to 1 if procfs is supported */ 562 #define SUPPORT_PROCFS 1 563 564 /* Support profiling */ 565 #define SUPPORT_PROFILING 0 566 567 /* Support systemd resources */ 568 #define SUPPORT_SYSTEMD 1 569 570 /* Support Upstart resources */ 571 #define SUPPORT_UPSTART 0 572 573 /* Correct format specifier for U32T */ 574 #define U32T PRIu32 575 576 /* Correct format specifier for U64T */ 577 #define U64T PRIu64 578 579 /* Correct format specifier for U64TS */ 580 #define U64TS SCNu64 581 582 /* Define if Unix socket auth method is getpeereid(s, &uid, &gid) */ 583 /* #undef US_AUTH_GETPEEREID */ 584 585 /* Define if Unix socket auth method is getpeercred(s, &ucred) */ 586 /* #undef US_AUTH_GETPEERUCRED */ 587 588 /* Define if Unix socket auth method is getsockopt(s, SO_PEERCRED, 589 &sockpeercred, ...) */ 590 /* #undef US_AUTH_PEERCRED_SOCKPEERCRED */ 591 592 /* Define if Unix socket auth method is getsockopt(s, SO_PEERCRED, &ucred, 593 ...) */ 594 #define US_AUTH_PEERCRED_UCRED 1 595 596 /* Valgrind command */ 597 #define VALGRIND_BIN "/usr/bin/valgrind" 598 599 /* Version number of package */ 600 #define VERSION "2.1.0" 601 602 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most 603 significant byte first (like Motorola and SPARC, unlike Intel). */ 604 #if defined AC_APPLE_UNIVERSAL_BUILD 605 # if defined __BIG_ENDIAN__ 606 # define WORDS_BIGENDIAN 1 607 # endif 608 #else 609 # ifndef WORDS_BIGENDIAN 610 /* # undef WORDS_BIGENDIAN */ 611 # endif 612 #endif 613 614 /* Correct format specifier for X32T */ 615 #define X32T PRIx32 616 617 /* True if the compiler says it groks GNU C version MAJOR.MINOR. */ 618 #if defined __GNUC__ && defined __GNUC_MINOR__ 619 # define _GL_GNUC_PREREQ(major, minor) \ 620 ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__)) 621 #else 622 # define _GL_GNUC_PREREQ(major, minor) 0 623 #endif 624 625 626 /* The _Noreturn keyword of C11. */ 627 #ifndef _Noreturn 628 # if (defined __cplusplus \ 629 && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ 630 || (defined _MSC_VER && 1900 <= _MSC_VER)) \ 631 && 0) 632 /* [[noreturn]] is not practically usable, because with it the syntax 633 extern _Noreturn void func (...); 634 would not be valid; such a declaration would only be valid with 'extern' 635 and '_Noreturn' swapped, or without the 'extern' keyword. However, some 636 AIX system header files and several gnulib header files use precisely 637 this syntax with 'extern'. */ 638 # define _Noreturn [[noreturn]] 639 # elif ((!defined __cplusplus || defined __clang__) \ 640 && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ 641 || _GL_GNUC_PREREQ (4, 7) \ 642 || (defined __apple_build_version__ \ 643 ? 6000000 <= __apple_build_version__ \ 644 : 3 < __clang_major__ + (5 <= __clang_minor__)))) 645 /* _Noreturn works as-is. */ 646 # elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C 647 # define _Noreturn __attribute__ ((__noreturn__)) 648 # elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) 649 # define _Noreturn __declspec (noreturn) 650 # else 651 # define _Noreturn 652 # endif 653 #endif 654 655 656 /* Define so that glibc/gnulib argp.h does not typedef error_t. */ 657 /* #undef __error_t_defined */ 658 659 /* The _GL_ASYNC_SAFE marker should be attached to functions that are 660 signal handlers (for signals other than SIGABRT, SIGPIPE) or can be 661 invoked from such signal handlers. Such functions have some restrictions: 662 * All functions that it calls should be marked _GL_ASYNC_SAFE as well, 663 or should be listed as async-signal-safe in POSIX 664 <https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04> 665 section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in 666 particular, are NOT async-signal-safe. 667 * All memory locations (variables and struct fields) that these functions 668 access must be marked 'volatile'. This holds for both read and write 669 accesses. Otherwise the compiler might optimize away stores to and 670 reads from such locations that occur in the program, depending on its 671 data flow analysis. For example, when the program contains a loop 672 that is intended to inspect a variable set from within a signal handler 673 while (!signal_occurred) 674 ; 675 the compiler is allowed to transform this into an endless loop if the 676 variable 'signal_occurred' is not declared 'volatile'. 677 Additionally, recall that: 678 * A signal handler should not modify errno (except if it is a handler 679 for a fatal signal and ends by raising the same signal again, thus 680 provoking the termination of the process). If it invokes a function 681 that may clobber errno, it needs to save and restore the value of 682 errno. */ 683 #define _GL_ASYNC_SAFE 684 685 686 /* Attributes. */ 687 #ifdef __has_attribute 688 # define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) 689 #else 690 # define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr 691 # define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3) 692 # define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2) 693 # define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3) 694 # define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3) 695 # define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95) 696 # define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1) 697 # define _GL_ATTR_diagnose_if 0 698 # define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3) 699 # define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1) 700 # define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0) 701 # define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7) 702 # define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6) 703 # ifdef _ICC 704 # define _GL_ATTR_may_alias 0 705 # else 706 # define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3) 707 # endif 708 # define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) 709 # define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1) 710 # define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3) 711 # define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0) 712 # define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3) 713 # define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7) 714 # define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96) 715 # define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9) 716 # define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0) 717 # define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7) 718 # define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) 719 #endif 720 721 722 #if _GL_HAS_ATTRIBUTE (alloc_size) 723 # define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) 724 #else 725 # define _GL_ATTRIBUTE_ALLOC_SIZE(args) 726 #endif 727 728 #if _GL_HAS_ATTRIBUTE (always_inline) 729 # define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) 730 #else 731 # define _GL_ATTRIBUTE_ALWAYS_INLINE 732 #endif 733 734 #if _GL_HAS_ATTRIBUTE (artificial) 735 # define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) 736 #else 737 # define _GL_ATTRIBUTE_ARTIFICIAL 738 #endif 739 740 /* Avoid __attribute__ ((cold)) on MinGW; see thread starting at 741 <https://lists.gnu.org/r/emacs-devel/2019-04/msg01152.html>. 742 Also, Oracle Studio 12.6 requires 'cold' not '__cold__'. */ 743 #if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ 744 # ifndef __SUNPRO_C 745 # define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) 746 # else 747 # define _GL_ATTRIBUTE_COLD __attribute__ ((cold)) 748 # endif 749 #else 750 # define _GL_ATTRIBUTE_COLD 751 #endif 752 753 #if _GL_HAS_ATTRIBUTE (const) 754 # define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) 755 #else 756 # define _GL_ATTRIBUTE_CONST 757 #endif 758 759 #if 201710L < __STDC_VERSION__ 760 # define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] 761 #elif _GL_HAS_ATTRIBUTE (deprecated) 762 # define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) 763 #else 764 # define _GL_ATTRIBUTE_DEPRECATED 765 #endif 766 767 #if _GL_HAS_ATTRIBUTE (error) 768 # define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) 769 # define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) 770 #elif _GL_HAS_ATTRIBUTE (diagnose_if) 771 # define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error"))) 772 # define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning"))) 773 #else 774 # define _GL_ATTRIBUTE_ERROR(msg) 775 # define _GL_ATTRIBUTE_WARNING(msg) 776 #endif 777 778 #if _GL_HAS_ATTRIBUTE (externally_visible) 779 # define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) 780 #else 781 # define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE 782 #endif 783 784 /* FALLTHROUGH is special, because it always expands to something. */ 785 #if 201710L < __STDC_VERSION__ 786 # define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] 787 #elif _GL_HAS_ATTRIBUTE (fallthrough) 788 # define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) 789 #else 790 # define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) 791 #endif 792 793 #if _GL_HAS_ATTRIBUTE (format) 794 # define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) 795 #else 796 # define _GL_ATTRIBUTE_FORMAT(spec) 797 #endif 798 799 #if _GL_HAS_ATTRIBUTE (leaf) 800 # define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) 801 #else 802 # define _GL_ATTRIBUTE_LEAF 803 #endif 804 805 /* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */ 806 #if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C 807 # define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) 808 #else 809 # define _GL_ATTRIBUTE_MAY_ALIAS 810 #endif 811 812 #if 201710L < __STDC_VERSION__ 813 # define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] 814 #elif _GL_HAS_ATTRIBUTE (unused) 815 # define _GL_ATTRIBUTE_MAYBE_UNUSED __attribute__ ((__unused__)) 816 #else 817 # define _GL_ATTRIBUTE_MAYBE_UNUSED 818 #endif 819 /* Earlier spellings of this macro. */ 820 #define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED 821 #define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED 822 823 #if _GL_HAS_ATTRIBUTE (malloc) 824 # define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) 825 #else 826 # define _GL_ATTRIBUTE_MALLOC 827 #endif 828 829 #if 201710L < __STDC_VERSION__ 830 # define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] 831 #elif _GL_HAS_ATTRIBUTE (warn_unused_result) 832 # define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) 833 #else 834 # define _GL_ATTRIBUTE_NODISCARD 835 #endif 836 837 #if _GL_HAS_ATTRIBUTE (noinline) 838 # define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) 839 #else 840 # define _GL_ATTRIBUTE_NOINLINE 841 #endif 842 843 #if _GL_HAS_ATTRIBUTE (nonnull) 844 # define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) 845 #else 846 # define _GL_ATTRIBUTE_NONNULL(args) 847 #endif 848 849 #if _GL_HAS_ATTRIBUTE (nonstring) 850 # define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) 851 #else 852 # define _GL_ATTRIBUTE_NONSTRING 853 #endif 854 855 /* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ 856 857 #if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus 858 # define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) 859 #else 860 # define _GL_ATTRIBUTE_NOTHROW 861 #endif 862 863 #if _GL_HAS_ATTRIBUTE (packed) 864 # define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) 865 #else 866 # define _GL_ATTRIBUTE_PACKED 867 #endif 868 869 #if _GL_HAS_ATTRIBUTE (pure) 870 # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) 871 #else 872 # define _GL_ATTRIBUTE_PURE 873 #endif 874 875 #if _GL_HAS_ATTRIBUTE (returns_nonnull) 876 # define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) 877 #else 878 # define _GL_ATTRIBUTE_RETURNS_NONNULL 879 #endif 880 881 #if _GL_HAS_ATTRIBUTE (sentinel) 882 # define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) 883 #else 884 # define _GL_ATTRIBUTE_SENTINEL(pos) 885 #endif 886 887 888 /* To support C++ as well as C, use _GL_UNUSED_LABEL with trailing ';'. */ 889 #if !defined __cplusplus || _GL_GNUC_PREREQ (4, 5) 890 # define _GL_UNUSED_LABEL _GL_ATTRIBUTE_MAYBE_UNUSED 891 #else 892 # define _GL_UNUSED_LABEL 893 #endif 894 895 896 /* Define to a type to use for `error_t' if it is not otherwise available. */ 897 /* #undef error_t */ 898 899 /* Please see the Gnulib manual for how to use these macros. 900 901 Suppress extern inline with HP-UX cc, as it appears to be broken; see 902 <https://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>. 903 904 Suppress extern inline with Sun C in standards-conformance mode, as it 905 mishandles inline functions that call each other. E.g., for 'inline void f 906 (void) { } inline void g (void) { f (); }', c99 incorrectly complains 907 'reference to static identifier "f" in extern inline function'. 908 This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. 909 910 Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) 911 on configurations that mistakenly use 'static inline' to implement 912 functions or macros in standard C headers like <ctype.h>. For example, 913 if isdigit is mistakenly implemented via a static inline function, 914 a program containing an extern inline function that calls isdigit 915 may not work since the C standard prohibits extern inline functions 916 from calling static functions (ISO C 99 section 6.7.4.(3). 917 This bug is known to occur on: 918 919 OS X 10.8 and earlier; see: 920 https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html 921 922 DragonFly; see 923 http://muscles.dragonflybsd.org/bulk/clang-master-potential/20141111_102002/logs/ah-tty-0.3.12.log 924 925 FreeBSD; see: 926 https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html 927 928 OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and 929 for clang but remains for g++; see <https://trac.macports.org/ticket/41033>. 930 Assume DragonFly and FreeBSD will be similar. 931 932 GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 933 inline semantics, unless -fgnu89-inline is used. It defines a macro 934 __GNUC_STDC_INLINE__ to indicate this situation or a macro 935 __GNUC_GNU_INLINE__ to indicate the opposite situation. 936 GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline 937 semantics but warns, unless -fgnu89-inline is used: 938 warning: C99 inline functions are not supported; using GNU89 939 warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute 940 It defines a macro __GNUC_GNU_INLINE__ to indicate this situation. 941 */ 942 #if (((defined __APPLE__ && defined __MACH__) \ 943 || defined __DragonFly__ || defined __FreeBSD__) \ 944 && (defined __header_inline \ 945 ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ 946 && ! defined __clang__) \ 947 : ((! defined _DONT_USE_CTYPE_INLINE_ \ 948 && (defined __GNUC__ || defined __cplusplus)) \ 949 || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ 950 && defined __GNUC__ && ! defined __cplusplus)))) 951 # define _GL_EXTERN_INLINE_STDHEADER_BUG 952 #endif 953 #if ((__GNUC__ \ 954 ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ 955 : (199901L <= __STDC_VERSION__ \ 956 && !defined __HP_cc \ 957 && !defined __PGI \ 958 && !(defined __SUNPRO_C && __STDC__))) \ 959 && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) 960 # define _GL_INLINE inline 961 # define _GL_EXTERN_INLINE extern inline 962 # define _GL_EXTERN_INLINE_IN_USE 963 #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ 964 && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) 965 # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ 966 /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ 967 # define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) 968 # else 969 # define _GL_INLINE extern inline 970 # endif 971 # define _GL_EXTERN_INLINE extern 972 # define _GL_EXTERN_INLINE_IN_USE 973 #else 974 # define _GL_INLINE static _GL_UNUSED 975 # define _GL_EXTERN_INLINE static _GL_UNUSED 976 #endif 977 978 /* In GCC 4.6 (inclusive) to 5.1 (exclusive), 979 suppress bogus "no previous prototype for 'FOO'" 980 and "no previous declaration for 'FOO'" diagnostics, 981 when FOO is an inline function in the header; see 982 <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and 983 <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>. */ 984 #if __GNUC__ == 4 && 6 <= __GNUC_MINOR__ 985 # if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ 986 # define _GL_INLINE_HEADER_CONST_PRAGMA 987 # else 988 # define _GL_INLINE_HEADER_CONST_PRAGMA \ 989 _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") 990 # endif 991 # define _GL_INLINE_HEADER_BEGIN \ 992 _Pragma ("GCC diagnostic push") \ 993 _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ 994 _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ 995 _GL_INLINE_HEADER_CONST_PRAGMA 996 # define _GL_INLINE_HEADER_END \ 997 _Pragma ("GCC diagnostic pop") 998 #else 999 # define _GL_INLINE_HEADER_BEGIN 1000 # define _GL_INLINE_HEADER_END 1001 #endif 1002 1003 /* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports 1004 the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of 1005 earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. 1006 __APPLE__ && __MACH__ test for Mac OS X. 1007 __APPLE_CC__ tests for the Apple compiler and its version. 1008 __STDC_VERSION__ tests for the C99 mode. */ 1009 #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ 1010 # define __GNUC_STDC_INLINE__ 1 1011 #endif 1012 1013 /* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where 1014 n1 and n2 are expressions without side effects, that evaluate to real 1015 numbers (excluding NaN). 1016 It returns 1017 1 if n1 > n2 1018 0 if n1 == n2 1019 -1 if n1 < n2 1020 The naïve code (n1 > n2 ? 1 : n1 < n2 ? -1 : 0) produces a conditional 1021 jump with nearly all GCC versions up to GCC 10. 1022 This variant (n1 < n2 ? -1 : n1 > n2) produces a conditional with many 1023 GCC versions up to GCC 9. 1024 The better code (n1 > n2) - (n1 < n2) from Hacker's Delight § 2-9 1025 avoids conditional jumps in all GCC versions >= 3.4. */ 1026 #define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2))) 1027 1028 1029 /* Define to the equivalent of the C99 'restrict' keyword, or to 1030 nothing if this is not supported. Do not define if restrict is 1031 supported directly. */ 1032 #define restrict __restrict 1033 /* Work around a bug in older versions of Sun C++, which did not 1034 #define __restrict__ or support _Restrict or __restrict__ 1035 even though the corresponding Sun C compiler ended up with 1036 "#define restrict _Restrict" or "#define restrict __restrict__" 1037 in the previous line. This workaround can be removed once 1038 we assume Oracle Developer Studio 12.5 (2016) or later. */ 1039 #if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__ 1040 # define _Restrict 1041 # define __restrict__ 1042 #endif 1043 1044 /* Define to `unsigned int' if <sys/types.h> does not define. */ 1045 /* #undef size_t */