/* config.h.in.  Generated from configure.ac by autoheader.  */

/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD

/* Define to 1 for debugger partial task attach support. */
#undef DEBUGGER_PARTIAL_ATTACH

/* Define to 1 if using glib-2.32.0 or higher */
#undef GLIB_NEW_THREADS

/* Define to 1 if using gtk+-2.14.0 or higher */
#undef GTK2_USE_GET_FOCUS

/* Define to 1 if using gtk+-2.10.0 or higher */
#undef GTK2_USE_RADIO_SET

/* Define to 1 if using gtk+-2.12.0 or higher */
#undef GTK2_USE_TOOLTIP

/* Use the 1.8 HDF5 API */
#undef H5_NO_DEPRECATED_SYMBOLS

/* Make sure we get the 1.8 HDF5 API */
#undef H5_USE_18_API

/* Define if you are compiling with bpf. */
#undef HAVE_BPF

/* Define to 1 if you have the 'cfmakeraw' function. */
#undef HAVE_CFMAKERAW

/* Define to 1 if you have the declaration of 'hstrerror', and to 0 if you
   don't. */
#undef HAVE_DECL_HSTRERROR

/* Define to 1 if you have the declaration of 'strerror_r', and to 0 if you
   don't. */
#undef HAVE_DECL_STRERROR_R

/* Define to 1 if you have the declaration of 'strsignal', and to 0 if you
   don't. */
#undef HAVE_DECL_STRSIGNAL

/* Define to 1 if you have the declaration of 'sys_siglist', and to 0 if you
   don't. */
#undef HAVE_DECL_SYS_SIGLIST

/* Define to 1 if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H

/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H

/* Define to 1 if you have the 'eaccess' function. */
#undef HAVE_EACCESS

/* Define to 1 if we have epoll(7) support */
#undef HAVE_EPOLL

/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H

/* Define to 1 if you have the 'faccessat' function. */
#undef HAVE_FACCESSAT

/* Define to 1 if you have the 'fdatasync' function. */
#undef HAVE_FDATASYNC

/* Define to 1 if you have the <float.h> header file. */
#undef HAVE_FLOAT_H

/* Define to 1 if freeipmi library found */
#undef HAVE_FREEIPMI

/* Define to 1 if you have the 'getrandom' function. */
#undef HAVE_GETRANDOM

/* Define to 1 if you have the 'get_current_dir_name' function. */
#undef HAVE_GET_CURRENT_DIR_NAME

/* Defined if you have HDF5 support */
#undef HAVE_HDF5

/* Define to 1 if you have the 'hstrerror' function. */
#undef HAVE_HSTRERROR

/* Define if you are compiling with HTTP parser. */
#undef HAVE_HTTP_PARSER

/* Define to 1 if hwloc library found */
#undef HAVE_HWLOC

/* Define to 1 if you have the 'inet_aton' function. */
#undef HAVE_INET_ATON

/* Define to 1 if you have the 'inet_ntop' function. */
#undef HAVE_INET_NTOP

/* Define to 1 if you have the 'inet_pton' function. */
#undef HAVE_INET_PTON

/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H

/* Define if you are compiling with json. */
#undef HAVE_JSON

/* Define if headers in include/json-c. */
#undef HAVE_JSON_C_INC

/* Define if headers in include/json. */
#undef HAVE_JSON_INC

/* Define if you are compiling with jwt. */
#undef HAVE_JWT

/* Define to 1 if you have the <kstat.h> header file. */
#undef HAVE_KSTAT_H

/* Define to 1 if you have a functional curl library. */
#undef HAVE_LIBCURL

/* Define to 1 if you have the 'ucp' library (-lucp). */
#undef HAVE_LIBUCP

/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H

/* Define to 1 if you have the <linux/sched.h> header file. */
#undef HAVE_LINUX_SCHED_H

/* Define to 1 if we have the Lua library */
#undef HAVE_LUA

/* Define to 1 if you have 'lz4' library (-llz4) */
#undef HAVE_LZ4

/* Define to 1 if you have the <mcheck.h> header file. */
#undef HAVE_MCHECK_H

/* Define to 1 if you have the 'memfd_create' function. */
#undef HAVE_MEMFD_CREATE

/* Define to 1 if NVML library has MIG support */
#undef HAVE_MIG_SUPPORT

/* Define to 1 if you have the 'mtrace' function. */
#undef HAVE_MTRACE

/* Define to 1 if using MySQL libaries */
#undef HAVE_MYSQL

/* Define to 1 if you have the <netdb.h> header file. */
#undef HAVE_NETDB_H

/* define if numa library installed */
#undef HAVE_NUMA

/* Define to 1 if NVML library found */
#undef HAVE_NVML

/* Define to 1 if ofed library found */
#undef HAVE_OFED

/* Define to 1 if using code with pma_query_via */
#undef HAVE_OFED_PMA_QUERY_VIA

/* Define to 1 if oneAPI library found */
#undef HAVE_ONEAPI

/* define if you have the PAM library */
#undef HAVE_PAM

/* Define to 1 if you have the <pam/pam_appl.h> header file. */
#undef HAVE_PAM_PAM_APPL_H

/* Define to 1 if you have the <paths.h> header file. */
#undef HAVE_PATHS_H

/* Define to 1 if pmix library found */
#undef HAVE_PMIX

/* Define if libc sets program_invocation_name */
#undef HAVE_PROGRAM_INVOCATION_NAME

/* Define if you have POSIX threads libraries and header files. */
#undef HAVE_PTHREAD

/* Define to 1 if you have the <pthread.h> header file. */
#undef HAVE_PTHREAD_H

/* Have PTHREAD_PRIO_INHERIT. */
#undef HAVE_PTHREAD_PRIO_INHERIT

/* Define to 1 if you have the 'ptrace64' function. */
#undef HAVE_PTRACE64

/* Define to 1 if you have the <pty.h> header file. */
#undef HAVE_PTY_H

/* Define to 1 if librdkafka library found */
#undef HAVE_RDKAFKA

/* Define if you are compiling with readline. */
#undef HAVE_READLINE

/* Define to 1 if RSMI library found */
#undef HAVE_RSMI

/* Define to 1 if s2n library found. */
#undef HAVE_S2N

/* Define to 1 if you have the <security/pam_appl.h> header file. */
#undef HAVE_SECURITY_PAM_APPL_H

/* Define to 1 if you have the 'setproctitle' function. */
#undef HAVE_SETPROCTITLE

/* Define to 1 if you have the 'setresuid' function. */
#undef HAVE_SETRESUID

/* Define to 1 if you have the <socket.h> header file. */
#undef HAVE_SOCKET_H

/* Define to 1 if you have the 'statfs' function. */
#undef HAVE_STATFS

/* Define to 1 if you have the 'statvfs' function. */
#undef HAVE_STATVFS

/* Define to 1 if you have the <stdbool.h> header file. */
#undef HAVE_STDBOOL_H

/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H

/* Define to 1 if you have the <stdio.h> header file. */
#undef HAVE_STDIO_H

/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H

/* Define to 1 if you have the 'strerror' function. */
#undef HAVE_STRERROR

/* Define if you have 'strerror_r'. */
#undef HAVE_STRERROR_R

/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H

/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H

/* Define to 1 if you have the 'strlcpy' function. */
#undef HAVE_STRLCPY

/* Define to 1 if you have the 'strndup' function. */
#undef HAVE_STRNDUP

/* Define to 1 if you have the 'strsignal' function. */
#undef HAVE_STRSIGNAL

/* Define to 1 if the system has the type 'struct cxi_rsrc_use'. */
#undef HAVE_STRUCT_CXI_RSRC_USE

/* Define to 1 if you have the 'sysctlbyname' function. */
#undef HAVE_SYSCTLBYNAME

/* Define to 1 if you have the <sysint.h> header file. */
#undef HAVE_SYSINT_H

/* Define systemd presence */
#undef HAVE_SYSTEMD

/* Define to 1 if you have the <sys/dr.h> header file. */
#undef HAVE_SYS_DR_H

/* Define to 1 if you have the <sys/ipc.h> header file. */
#undef HAVE_SYS_IPC_H

/* Define to 1 if you have the <sys/prctl.h> header file. */
#undef HAVE_SYS_PRCTL_H

/* Define to 1 if you have the <sys/ptrace.h> header file. */
#undef HAVE_SYS_PTRACE_H

/* Define to 1 if you have the <sys/sem.h> header file. */
#undef HAVE_SYS_SEM_H

/* Define to 1 if you have the <sys/shm.h> header file. */
#undef HAVE_SYS_SHM_H

/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H

/* Define to 1 if you have the <sys/statfs.h> header file. */
#undef HAVE_SYS_STATFS_H

/* Define to 1 if you have the <sys/statvfs.h> header file. */
#undef HAVE_SYS_STATVFS_H

/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H

/* Define to 1 if you have the <sys/sysctl.h> header file. */
#undef HAVE_SYS_SYSCTL_H

/* Define to 1 if you have the <sys/syslog.h> header file. */
#undef HAVE_SYS_SYSLOG_H

/* Define to 1 if you have the <sys/systemcfg.h> header file. */
#undef HAVE_SYS_SYSTEMCFG_H

/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H

/* Define to 1 if you have the <sys/vfs.h> header file. */
#undef HAVE_SYS_VFS_H

/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H

/* Define to 1 if you have the <termcap.h> header file. */
#undef HAVE_TERMCAP_H

/* Define to 1 if ucx library found */
#undef HAVE_UCX

/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H

/* Define to 1 if you have the <utmp.h> header file. */
#undef HAVE_UTMP_H

/* Define to 1 if you have the <values.h> header file. */
#undef HAVE_VALUES_H

/* Define if you are compiling with libyaml parser. */
#undef HAVE_YAML

/* Define if you have __progname. */
#undef HAVE__PROGNAME

/* Define to 1 if the system has the `__builtin_bswap64' built-in function */
#undef HAVE___BUILTIN_BSWAP64

/* Define to 1 if the system has the `__builtin_clzll' built-in function */
#undef HAVE___BUILTIN_CLZLL

/* Define to 1 if the system has the `__builtin_ctzll' built-in function */
#undef HAVE___BUILTIN_CTZLL

/* Define to 1 if the system has the `__builtin_popcountll' built-in function
   */
#undef HAVE___BUILTIN_POPCOUNTLL

/* Full path of libcxi.so */
#undef HPE_SLINGSHOT_LIB

/* Defined if libcurl supports AsynchDNS */
#undef LIBCURL_FEATURE_ASYNCHDNS

/* Defined if libcurl supports IDN */
#undef LIBCURL_FEATURE_IDN

/* Defined if libcurl supports IPv6 */
#undef LIBCURL_FEATURE_IPV6

/* Defined if libcurl supports KRB4 */
#undef LIBCURL_FEATURE_KRB4

/* Defined if libcurl supports libz */
#undef LIBCURL_FEATURE_LIBZ

/* Defined if libcurl supports NTLM */
#undef LIBCURL_FEATURE_NTLM

/* Defined if libcurl supports SSL */
#undef LIBCURL_FEATURE_SSL

/* Defined if libcurl supports SSPI */
#undef LIBCURL_FEATURE_SSPI

/* Defined if libcurl supports DICT */
#undef LIBCURL_PROTOCOL_DICT

/* Defined if libcurl supports FILE */
#undef LIBCURL_PROTOCOL_FILE

/* Defined if libcurl supports FTP */
#undef LIBCURL_PROTOCOL_FTP

/* Defined if libcurl supports FTPS */
#undef LIBCURL_PROTOCOL_FTPS

/* Defined if libcurl supports HTTP */
#undef LIBCURL_PROTOCOL_HTTP

/* Defined if libcurl supports HTTPS */
#undef LIBCURL_PROTOCOL_HTTPS

/* Defined if libcurl supports IMAP */
#undef LIBCURL_PROTOCOL_IMAP

/* Defined if libcurl supports LDAP */
#undef LIBCURL_PROTOCOL_LDAP

/* Defined if libcurl supports POP3 */
#undef LIBCURL_PROTOCOL_POP3

/* Defined if libcurl supports RTSP */
#undef LIBCURL_PROTOCOL_RTSP

/* Defined if libcurl supports SMTP */
#undef LIBCURL_PROTOCOL_SMTP

/* Defined if libcurl supports TELNET */
#undef LIBCURL_PROTOCOL_TELNET

/* Defined if libcurl supports TFTP */
#undef LIBCURL_PROTOCOL_TFTP

/* Define to 1 for --get-user-env to load user environment without .login */
#undef LOAD_ENV_NO_LOGIN

/* Define to the sub-directory where libtool stores uninstalled libraries. */
#undef LT_OBJDIR

/* Define to 1 if 'major', 'minor', and 'makedev' are declared in <mkdev.h>.
   */
#undef MAJOR_IN_MKDEV

/* Define to 1 if 'major', 'minor', and 'makedev' are declared in
   <sysmacros.h>. */
#undef MAJOR_IN_SYSMACROS

/* Define to 1 for memory leak debugging. */
#undef MEMORY_LEAK_DEBUG

/* Enable multiple slurmd on one node */
#undef MULTIPLE_SLURMD

/* Define to 1 if you are building a production release. */
#undef NDEBUG

/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT

/* Define to the full name of this package. */
#undef PACKAGE_NAME

/* Define to the full name and version of this package. */
#undef PACKAGE_STRING

/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME

/* Define to the home page for this package. */
#undef PACKAGE_URL

/* Define to the version of this package. */
#undef PACKAGE_VERSION

/* Define PAM module installation directory. */
#undef PAM_DIR

/* Define the project's name. */
#undef PROJECT

/* Define to necessary symbol if this constant uses a non-standard name on
   your system. */
#undef PTHREAD_CREATE_JOINABLE

/* Define to 1 if ptrace takes five arguments. */
#undef PTRACE_FIVE_ARGS

/* Define the project's release. */
#undef RELEASE

/* Define to 1 for salloc to kill child processes at job termination */
#undef SALLOC_KILL_CMD

/* Define if you need setproctitle padding */
#undef SETPROCTITLE_PS_PADDING

/* Define to the setproctitle() emulation type */
#undef SETPROCTITLE_STRATEGY

/* The size of 'void *', as computed by sizeof. */
#undef SIZEOF_VOID_P

/* Define path to sleep command */
#undef SLEEP_CMD

/* Define the default port number for slurmctld */
#undef SLURMCTLD_PORT

/* Define the default port count for slurmctld */
#undef SLURMCTLD_PORT_COUNT

/* Define the default port number for slurmdbd */
#undef SLURMDBD_PORT

/* Define the default port number for slurmd */
#undef SLURMD_PORT

/* Define the default port number for slurmrestd */
#undef SLURMRESTD_PORT

/* API current age */
#undef SLURM_API_AGE

/* API current version */
#undef SLURM_API_CURRENT

/* API current major */
#undef SLURM_API_MAJOR

/* API current rev */
#undef SLURM_API_REVISION

/* Define the API's version */
#undef SLURM_API_VERSION

/* Define if your architecture's byteorder is big endian. */
#undef SLURM_BIGENDIAN

/* Define the project's major version. */
#undef SLURM_MAJOR

/* Define the project's micro version. */
#undef SLURM_MICRO

/* Define the project's minor version. */
#undef SLURM_MINOR

/* Define Slurm installation prefix */
#undef SLURM_PREFIX

/* Slurm Version Number */
#undef SLURM_VERSION_NUMBER

/* Define the project's version string. */
#undef SLURM_VERSION_STRING

/* Define to 1 if all of the C89 standard headers exist (not just the ones
   required in a freestanding environment). This macro is provided for
   backward compatibility; new code need not use it. */
#undef STDC_HEADERS

/* Define to 1 if strerror_r returns char *. */
#undef STRERROR_R_CHAR_P

/* Define path to su command */
#undef SUCMD

/* Define slurm_ prefix function aliases for plugins */
#undef USE_ALIAS

/* Define the project's version. */
#undef VERSION

/* Building with Linux cgroup support */
#undef WITH_CGROUP

/* Using internal Slurm SELinux support */
#undef WITH_SELINUX

/* Using internal Slurm X11 support */
#undef WITH_SLURM_X11

/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
   significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
#  define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
#  undef WORDS_BIGENDIAN
# endif
#endif

/* Define curl_free() as free() if our version of curl lacks curl_free. */
#undef curl_free
