/* Input file cmake/config.h.in. */

/* Define of package information */
#define MADNESS_PACKAGE_NAME "@PROJECT_NAME@"
#define MADNESS_PACKAGE_URL "https://github.com/m-a-d-n-e-s-s/madness"
#define MADNESS_PACKAGE_VERSION "@MADNESS_VERSION@"
#define MADNESS_VERSION "@MADNESS_VERSION@"
#define MADNESS_MAJOR_VERSION @MADNESS_MAJOR_VERSION@
#define MADNESS_MINOR_VERSION @MADNESS_MAJOR_VERSION@
#define MADNESS_MICRO_VERSION @MADNESS_MAJOR_VERSION@

/* Configured information */
#define MADNESS_CONFIGURATION_CXX "@CMAKE_CXX_COMPILER@"
#define MADNESS_CONFIGURATION_CXXFLAGS "@CMAKE_CXX_FLAGS@"
#define HOST_SYSTEM "@CMAKE_HOST_SYSTEM_NAME@"
#define MADNESS_CONFIGURATION_DATE "@MADNESS_CONFIGURATION_DATE@"
#define MADNESS_CONFIGURATION_HOST "@MADNESS_CONFIGURATION_HOST@"
#define MADNESS_CONFIGURATION_USER "@MADNESS_CONFIGURATION_USER@"

/* Target for tuning mtxmq kernels */
#cmakedefine AMD_QUADCORE_TUNE 1

/* Fortran-C linking convention type and integer size */
#cmakedefine FORTRAN_LINKAGE_LC 1
#cmakedefine FORTRAN_LINKAGE_LCU 1
#cmakedefine FORTRAN_LINKAGE_LCUU 1
#cmakedefine FORTRAN_LINKAGE_UC 1
#cmakedefine FORTRAN_LINKAGE_UCU 1
#define MADNESS_FORTRAN_DEFAULT_INTEGER_SIZE @FORTRAN_INTEGER_SIZE@

/* Defined system specific macros */
#cmakedefine HAVE_CRAYXE 1
#cmakedefine HAVE_CRAYXT 1
#cmakedefine HAVE_IBMBGP 1
#cmakedefine HAVE_IBMBGQ 1
#cmakedefine ON_A_MAC 1
#define MADNESS_CXX_ABI_GenericItanium @MADNESS_CXX_ABI_GenericItanium@
#define MADNESS_CXX_ABI_GenericARM @MADNESS_CXX_ABI_GenericARM@
#define MADNESS_CXX_ABI_Microsoft @MADNESS_CXX_ABI_Microsoft@
#define MADNESS_CXX_ABI @MADNESS_CXX_ABI@

/* Define type macros. */
#cmakedefine HAVE_INT64_T 1
#cmakedefine HAVE_LONG_LONG 1
/* Define to `int' if <sys/types.h> does not define. */
#cmakedefine SYS_TYPES_H_HAS_PID_T 1
#if !defined(SYS_TYPES_H_HAS_PID_T)
# define pid_t int
#endif

/* Define MADNESS has access to the library. */
#cmakedefine HAVE_ACML 1
#cmakedefine HAVE_INTEL_TBB 1
#cmakedefine MADNESS_CAN_USE_TBB_PRIORITY 1
#cmakedefine HAVE_PARSEC 1
#cmakedefine HAVE_INTEL_MKL 1
#cmakedefine HAVE_PAPI 1
#cmakedefine MADNESS_HAS_PCM 1
#cmakedefine MADNESS_HAS_LIBXC 1
#cmakedefine MADNESS_HAS_BOOST 1
#cmakedefine MADNESS_HAS_ELEMENTAL 1
#cmakedefine MADNESS_HAS_ELEMENTAL_EMBEDDED 1
#cmakedefine MADNESS_HAS_GOOGLE_PERF 1
#cmakedefine MADNESS_HAS_GOOGLE_PERF_PROFILER 1
#cmakedefine MADNESS_HAS_GOOGLE_PERF_TCMALLOC 1
#cmakedefine MADNESS_HAS_GOOGLE_PERF_TCMALLOC_MINIMAL 1
#cmakedefine MADNESS_HAS_GOOGLE_TEST 1
#cmakedefine MADNESS_HAS_LIBUNWIND 1

/* Define has access to function. */
#cmakedefine HAVE_FORK 1
#cmakedefine HAVE_MEMSET 1
#cmakedefine HAVE_POSIX_MEMALIGN 1
#cmakedefine MISSING_POSIX_MEMALIGN_PROTO 1
#cmakedefine HAVE_POW 1
#cmakedefine HAVE_RANDOM 1
#cmakedefine HAVE_SLEEP 1
#cmakedefine HAVE_STD_ABS_LONG 1
#cmakedefine HAVE_STRCHR 1

/* Define if header files are available. */
#ifndef HAVE_SYS_STAT_H
#cmakedefine HAVE_SYS_STAT_H 1
#endif
#ifndef HAVE_SYS_TYPES_H
#cmakedefine HAVE_SYS_TYPES_H
#endif
#ifndef HAVE_UNISTD_H
#cmakedefine HAVE_UNISTD_H 1
#endif
#cmakedefine HAVE_ELEMENTAL_H 1
#cmakedefine HAVE_EL_H 1

/* Set if compiler will instantiate static templates */
#cmakedefine HAVE_UNQUALIFIED_STATIC_DECL 1

/* Set MADNESS assertions behavior */
#cmakedefine MADNESS_ASSERTIONS_ABORT 1
#cmakedefine MADNESS_ASSERTIONS_ASSERT 1
#cmakedefine MADNESS_ASSERTIONS_DISABLE 1
#cmakedefine MADNESS_ASSERTIONS_THROW 1

/* Thread-safety level requested from MPI by MADNESS */
#define MADNESS_MPI_THREAD_LEVEL @MADNESS_MPI_THREAD_LEVEL@
#cmakedefine STUBOUTMPI 1
#ifndef MADNESS_MPI_HEADER
# cmakedefine MADNESS_MPI_HEADER "@MADNESS_MPI_HEADER@"
#endif

/* The default binding for threads */
#define MAD_BIND_DEFAULT "@MAD_BIND_DEFAULT@"

/* Define to enable MADNESS features */
#cmakedefine MADNESS_TASK_PROFILING 1
#cmakedefine MADNESS_USE_BSEND_ACKS 1
#cmakedefine NEVER_SPIN 1
#cmakedefine TENSOR_BOUNDS_CHECKING 1
#cmakedefine TENSOR_INSTANCE_COUNT 1
#cmakedefine USE_SPINLOCKS 1
#cmakedefine WORLD_GATHER_MEM_STATS 1
#cmakedefine WORLD_MEM_PROFILE_ENABLE 1
#cmakedefine WORLD_PROFILE_ENABLE 1
#cmakedefine MADNESS_TASK_DEBUG_TRACE 1
#cmakedefine MADNESS_LINALG_USE_LAPACKE 1
#cmakedefine MADNESS_DQ_USE_PREBUF 1
#cmakedefine MADNESS_DQ_PREBUF_SIZE @MADNESS_DQ_PREBUF_SIZE@
#cmakedefine MADNESS_ASSUMES_ASLR_DISABLED 1

/* Define to the equivalent of the C99 'restrict' keyword, or to
   nothing if this is not supported.  Do not define if restrict is
   supported directly.  */
#define MADNESS_RESTRICT @RESTRICT_KEYWORD@
/* Work around a bug in Sun C++: it does not support _Restrict or
   __restrict__, even though the corresponding Sun C compiler ends up with
   "#define restrict _Restrict" or "#define restrict __restrict__" in the
   previous line.  Perhaps some future version of Sun C++ will work with
   restrict; if so, hopefully it defines __RESTRICT like Sun C does.  */
#if defined __SUNPRO_CC && !defined __RESTRICT
# define _Restrict
# define __restrict__
#endif


/* Define the thread_local key word. */
#cmakedefine THREAD_LOCAL_KEYWORD @THREAD_LOCAL_KEYWORD@
#if defined(THREAD_LOCAL_KEYWORD)
# define thread_local THREAD_LOCAL_KEYWORD
#endif

/* Define to the application path if available */
#cmakedefine HAVE_XTERM 1
#cmakedefine XTERM_EXECUTABLE "@XTERM_EXECUTABLE@"
#cmakedefine HAVE_GDB 1
#cmakedefine GDB_EXECUTABLE "@GDB_EXECUTABLE@"
#cmakedefine HAVE_LLDB 1
#cmakedefine LLDB_EXECUTABLE "@LLDB_EXECUTABLE@"
