cloudy trunk
Loading...
Searching...
No Matches
cdstd.h
Go to the documentation of this file.
1/* This file is part of Cloudy and is copyright (C)1978-2013 by Gary J. Ferland and
2 * others. For conditions of distribution and use see copyright notice in license.txt */
3
4#ifndef CDSTD_H_
5#define CDSTD_H_
6
7// cdstd.h: define macros to select library API version.
8
9// This must be included before all library #includes.
10// Typically this done as part of cddefines.h, only required
11// independently when cddefines.h is not first include.
12
13// We *require* only POSIX1990.
14// See e.g. Rochkind, Advanced UNIX Programming for more details.
15
16// There appears to be a bug in the POSIX implementation in FreeBSD that was
17// imported into Apple Darwin (at least version 11.4.2) where defining _POSIX_SOURCE
18// will cause compilation errors as a result of missing type definitions (e.g., u_int)
19// when including certain system header files. See e.g. this report:
20// http://lists.freebsd.org/pipermail/freebsd-bugs/2011-April/044049.html
21#if !defined(__APPLE__) && !defined(__FreeBSD__)
22#define _POSIX_SOURCE
23#endif
24
25#ifdef MPI_GRID_RUN
26#define MPI_ENABLED
27#endif
28
29// the Intel MPI implementation wants this file included before cstdio...
30// http://www.saii.ull.es/files/doc_intel/doc/HelpMe_FAQ.htm
31// so we include it here to make really sure that it is in front of
32// the system includes that may be done before cddefines.h is included
33#ifdef MPI_ENABLED
34#include <mpi.h>
35#endif
36
37#endif // CDSTD_H_