/* internal_config.h -- characteristics of the platform, as probed by Cmake */

/* Warning: The file internal_config.h is AUTOMATICALLY GENERATED by Cmake. 
 * Edit the template instead: tools/cmake/src/internal_config.h.in          */

/* Copyright (c) 2004-2016. The SimGrid Team. All rights reserved.          */

/* This program is free software; you can redistribute it and/or modify it
 * under the terms of the license (GNU LGPL) which comes with this package. */

#include "simgrid_config.h"       /* what was compiled in? */

/* Non-standard header files */
/* <execinfo.h> */
#cmakedefine01 HAVE_EXECINFO_H
/* <linux/futex.h> */
#cmakedefine01 HAVE_FUTEX_H
/* <signal.h> */
#cmakedefine01 HAVE_SIGNAL_H
/* <unistd.h> */
#cmakedefine01 HAVE_UNISTD_H
/* <ucontext.h> */
#cmakedefine01 HAVE_UCONTEXT_H
/* <valgrind/valgrind.h> */
#cmakedefine01 HAVE_VALGRIND_H

/* Time portability */
/* Function gettimeofday */
#cmakedefine01 HAVE_GETTIMEOFDAY
/* Function clock_gettime */
#cmakedefine01 HAVE_POSIX_GETTIME
/* Function nanosleep */
#cmakedefine01 HAVE_NANOSLEEP

/* The usable context factories */
#define HAVE_BOOST_CONTEXTS @HAVE_BOOST_CONTEXTS@
#cmakedefine01 HAVE_RAW_CONTEXTS
#cmakedefine01 HAVE_THREAD_CONTEXTS
#cmakedefine01 HAVE_UCONTEXT_CONTEXTS

/* Variables for the thread contexts (and parallel mode of raw contexts) */
/* Define to 1 if threads are usable . */
#cmakedefine01 HAVE_PTHREAD
/* Does not seems defined on Mac nor Windows */
#cmakedefine01 HAVE_PTHREAD_SETAFFINITY
/* If __thread is available */
#cmakedefine01 HAVE_THREAD_LOCAL_STORAGE

/* Variables for the raw contexts (to select the right assembly code) */
#cmakedefine01 SIMGRID_PROCESSOR_i686
#cmakedefine01 SIMGRID_PROCESSOR_x86_64

/* Variables for the SysV contexts */
@sg_makecontext_stack_addr@
@sg_makecontext_stack_size@

/* Variable for SysV, raw and Boost contexts */
/* Does the stack growth upward, or downward? */
#define PTH_STACKGROWTH @PTH_STACKGROWTH@

/* MC variables */
/* getdtablesize: get descriptor table size */
#cmakedefine01 HAVE_GETDTABLESIZE
/* Did we compile mmalloc in? */
#cmakedefine01 HAVE_MMALLOC
/* process_vm_readv: transfer data between process address spaces */
#cmakedefine01 HAVE_PROCESS_VM_READV
/* Set to true if enable_model-checking is true and the dependencies available */
#cmakedefine01 HAVE_MC

/* SMPI variables */
/* SMPI enabled */
#cmakedefine01 HAVE_SMPI
/* Fortran language is available for SMPI */
#cmakedefine01 SMPI_FORTRAN
/* We have mmap and objdump to handle privatization */
#cmakedefine01 HAVE_PRIVATIZATION
/* We have PAPI to fine-grain trace execution time */
#cmakedefine01 HAVE_PAPI

/* Other function checks */
/* Function backtrace */
#cmakedefine01 HAVE_BACKTRACE
/* Function dlfunc */
#cmakedefine01 HAVE_DLFUNC
/* Function mmap */
#cmakedefine01 HAVE_MMAP
/* Function mremap */
#cmakedefine01 HAVE_MREMAP
/* Function sem_init (part of XPG6 standard only) */
#cmakedefine01 HAVE_SEM_INIT
/* Function popen */
#cmakedefine01 HAVE_POPEN
/* Function sysconf */
#cmakedefine01 HAVE_SYSCONF
/* Function vasprintf */
#cmakedefine01 HAVE_VASPRINTF

/* Other checks */
/* Path to the addr2line tool */
#cmakedefine   ADDR2LINE "@ADDR2LINE@"
/* The graphviz library */
#cmakedefine01 HAVE_GRAPHVIZ
/* The lib unwind library (for MC and backtrace display) */
#cmakedefine01 HAVE_LIBUNWIND
