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

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

/* Define the BG_BRIDGE_SO value */
#undef BG_BRIDGE_SO

/* Define the BG_DB2_SO value */
#undef BG_DB2_SO

/* Define the BG_SERIAL value */
#undef BG_SERIAL

/* Define BLCR installation home */
#undef BLCR_HOME

/* Define location of cpuset directory */
#undef CPUSET_DIR

/* 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 licensed under terms of the GNU General Public License. */
#undef GPL_LICENSED

/* 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

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

/* Define to 1 if 3-dimensional architecture */
#undef HAVE_3D

/* Define to 1 if 4-dimensional architecture */
#undef HAVE_4D

/* Define to 1 for AIX operating system */
#undef HAVE_AIX

/* Define to 1 for Cray XT/XE systems using ALPS */
#undef HAVE_ALPS_CRAY

/* Define to 1 for emulating a Cray XT/XE system using ALPS */
#undef HAVE_ALPS_CRAY_EMULATION

/* Define to 1 if running against an ALPS emulation */
#undef HAVE_ALPS_EMULATION

/* Define to 1 if emulating or running on Blue Gene system */
#undef HAVE_BG

/* Define to 1 if emulating or running on Blue Gene/L system */
#undef HAVE_BGL

/* Define to 1 if emulating or running on Blue Gene/P system */
#undef HAVE_BGP

/* Define to 1 if emulating or running on Blue Gene/Q system */
#undef HAVE_BGQ

/* Define to 1 if have Blue Gene files */
#undef HAVE_BG_FILES

/* Define to 1 if using code where blocks have actions */
#undef HAVE_BG_GET_ACTION

/* Define to 1 if emulating or running on Blue Gene/L or P system */
#undef HAVE_BG_L_P

/* Define to 1 if using code with new iocheck */
#undef HAVE_BG_NEW_IO_CHECK

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

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

/* 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 <errno.h> header file. */
#undef HAVE_ERRNO_H

/* Define to 1 if function EVP_MD_CTX_cleanup exists. */
#undef HAVE_EVP_MD_CTX_CLEANUP

/* 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 running slurmd on front-end only */
#undef HAVE_FRONT_END

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

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

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

/* Define to 1 if hwloc library supports PCI devices */
#undef HAVE_HWLOC_PCI

/* 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 to 1 if you have the <kstat.h> header file. */
#undef HAVE_KSTAT_H

/* Define to 1 if you have the `expat' library (-lexpat). */
#undef HAVE_LIBEXPAT

/* Define to 1 if you have the `job' library (-ljob). */
#undef HAVE_LIBJOB

/* 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 your system has a GNU libc compatible `malloc' function, and
   to 0 otherwise. */
#undef HAVE_MALLOC

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

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

/* 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 for running on a Cray in native mode without ALPS */
#undef HAVE_NATIVE_CRAY

/* Define to 1 if alpscomm functions new to CLE 5.2UP01 are defined */
#undef HAVE_NATIVE_CRAY_GA

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

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

/* define if you have nrt.h */
#undef HAVE_NRT_H

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

/* 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 if you have openssl. */
#undef HAVE_OPENSSL

/* 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 if you have permapi_h */
#undef HAVE_PERMAPI_H

/* Define if you have Posix semaphores. */
#undef HAVE_POSIX_SEMS

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

/* 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 if you are compiling with readline. */
#undef HAVE_READLINE

/* Define to 1 for running on a real Cray system */
#undef HAVE_REAL_CRAY

/* Define to 1 if you have the `sched_setaffinity' function. */
#undef HAVE_SCHED_SETAFFINITY

/* 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 <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 <stdlib.h> header file. */
#undef HAVE_STDLIB_H

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

/* Define to 1 if you have the `strerror_r' function. */
#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 if Sun Constellation system */
#undef HAVE_SUN_CONST

/* 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 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/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/termios.h> header file. */
#undef HAVE_SYS_TERMIOS_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 you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H

/* Define to 1 if you have the `unsetenv' function. */
#undef HAVE_UNSETENV

/* 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 to 1 if using XCPU for job launch */
#undef HAVE_XCPU

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

/* Define to 1 if you have the external variable, _system_configuration with a
   member named physmem. */
#undef HAVE__SYSTEM_CONFIGURATION

/* Define the libnrt.so location */
#undef LIBNRT_SO

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

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

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

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

/* Define to 1 if with non thread-safe code */
#undef MYSQL_NOT_THREAD_SAFE

/* 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 to 1 to require salloc execution in the foreground. */
#undef SALLOC_RUN_FOREGROUND

/* Define to 1 if sched_getaffinity takes three arguments. */
#undef SCHED_GETAFFINITY_THREE_ARGS

/* Define to 1 if sched_getaffinity takes two arguments. */
#undef SCHED_GETAFFINITY_TWO_ARGS

/* Define to 1 if setpgrp takes two arguments. */
#undef SETPGRP_TWO_ARGS

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

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

/* 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

/* 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

/* Define to 1 if running slurm simulator */
#undef SLURM_SIMULATOR

/* SLURM Version Number */
#undef SLURM_VERSION_NUMBER

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

/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS

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

/* 3-dimensional architecture */
#undef SYSTEM_DIMENSIONS

/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME

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

/* define if using ISO 8601 time format */
#undef USE_ISO_8601

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

/* Define if you have pthreads. */
#undef WITH_PTHREADS

/* 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 location of XCPU directory */
#undef XCPU_DIR

/* Enable large inode numbers on Mac OS X 10.5.  */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
#endif

/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS

/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES

/* Define to rpl_malloc if the replacement function should be used. */
#undef malloc
