55#include <Padico/Puk.h>
56#if defined(NMAD_PIOMAN)
71# error "nmad CFLAGS not defined; please compile with CFLAGS returned by 'pkg-config --cflags nmad'"
74#if defined(NMAD_PIOMAN) && !defined(PIOMAN)
75# error "nmad was configured with pioman support; cannot build without pioman flags."
78#if defined(PIOMAN) && !defined(NMAD_PIOMAN)
79# error "nmad was configured without pioman support; cannot build with pioman flags."
82#if defined(NMAD_PUKABI) && !defined(PUKABI)
83# error "nmad was configured with PukABI support; cannot build without PukABI flags."
86#if defined(PUKABI) && !defined(NMAD_PUKABI)
87# error "nmad was configured without PukABI support; cannot build with PukABI flags."
90#if defined(PIOMAN_TOPOLOGY_HWLOC) && !defined(NMAD_HWLOC)
91# error "pioman was configured with hwloc, but nmad was configured without hwloc."
94#if defined(NMAD_SIMGRID) && !defined(PUK_SIMGRID)
95# error "nmad was configured with simgrid, but Puk was configured without simgrid."
98#if defined(PUK_SIMGRID) && !defined(NMAD_SIMGRID)
99# error "Puk was configured with simgrid, but nmad was configured without simgrid."
102#if defined(NMAD_SIMGRID) && (defined(PIOMAN) && !defined(PIOMAN_SIMGRID))
103# error "nmad was configured with simgrid, but pioman was configured without simgrid."
110# define NMAD_CONFIG_PIOMAN 1
112# define NMAD_CONFIG_PIOMAN 0
116# define NMAD_CONFIG_HWLOC 1
118# define NMAD_CONFIG_HWLOC 0
122# define NMAD_CONFIG_PUKABI 1
124# define NMAD_CONFIG_PUKABI 0
128# define NMAD_CONFIG_DEBUG 1
130# define NMAD_CONFIG_DEBUG 0
134# define NMAD_CONFIG_NDEBUG 1
136# define NMAD_CONFIG_NDEBUG 0
140# define NMAD_CONFIG_SIMGRID 1
142# define NMAD_CONFIG_SIMGRID 0
146# define NMAD_CONFIG_CUDA 1
148# define NMAD_CONFIG_CUDA 0
152# define NMAD_CONFIG_HIP 1
154# define NMAD_CONFIG_HIP 0
157#define nm_tostring2(s) #s
158#define nm_tostring(s) nm_tostring2(s)
162#define NMAD_CONFIG_STRING \
163 " pioman = " nm_tostring(NMAD_CONFIG_PIOMAN) \
164 " hwloc = " nm_tostring(NMAD_CONFIG_HWLOC) \
165 " pukabi = " nm_tostring(NMAD_CONFIG_PUKABI) \
166 " debug = " nm_tostring(NMAD_CONFIG_DEBUG) \
167 " ndebug = " nm_tostring(NMAD_CONFIG_NDEBUG) \
168 " simgrid = " nm_tostring(NMAD_CONFIG_SIMGRID) \
169 " cuda = " nm_tostring(NMAD_CONFIG_CUDA) \
170 " hip = " nm_tostring(NMAD_CONFIG_HIP)
175#define NMAD_ABI_CONFIG_STRING \
176 " pioman = " nm_tostring(NMAD_CONFIG_PIOMAN) \
177 " hwloc = " nm_tostring(NMAD_CONFIG_HWLOC) \
178 " pukabi = " nm_tostring(NMAD_CONFIG_PUKABI) \
179 " debug = " nm_tostring(NMAD_CONFIG_DEBUG) \
180 " simgrid = " nm_tostring(NMAD_CONFIG_SIMGRID) \
181 " cuda = " nm_tostring(NMAD_CONFIG_CUDA) \
182 " hip = " nm_tostring(NMAD_CONFIG_HIP)
#define NMAD_ABI_CONFIG_STRING
config options that impact nmad ABI (content of structures exposed in API or used in inline code)
void nm_abi_config_check_internal(const char *p_config)
static void nm_abi_config_check(void)
Check consistency of ABI config between nmad and application.
High-level data manipulation through iterators.
This file contains error codes definitions.
Basic primitives to display info & warnings.
This file contains some types and constants used throughout NewMad core and interfaces.