1// -*-C-*-
2//
3//  Maurice LeBrun
4//  IFS, University of Texas at Austin
5//  18-Jul-1994
6//
7//  Copyright (C) 2004-2016  Alan W. Irwin
8//  Copyright (C) 2004  Rafael Laboissiere
9//  Copyright (C) 2004  Joao Cardoso
10//
11//  This file is part of PLplot.
12//
13//  PLplot is free software; you can redistribute it and/or modify
14//  it under the terms of the GNU Library General Public License as published
15//  by the Free Software Foundation; either version 2 of the License, or
16//  (at your option) any later version.
17//
18//  PLplot is distributed in the hope that it will be useful,
19//  but WITHOUT ANY WARRANTY; without even the implied warranty of
20//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21//  GNU Library General Public License for more details.
22//
23//  You should have received a copy of the GNU Library General Public License
24//  along with PLplot; if not, write to the Free Software
25//  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
26
27// Configured (by CMake) macros for PLplot that are required for the
28// core build and the build of the installed examples (and presumably
29// any user applications).  Therefore, the configured plConfig.h
30// should be installed.  In contrast, plplot_config.h.in (note,
31// plConfig.h #includes plplot_config.h for the core build because
32// PLPLOT_HAVE_CONFIG_H is #defined in that case) contains configured macros
33// that are only required for the core build.  Therefore, in contrast
34// to plConfig.h, plplot_config.h should not be installed.
35//
36// Maintenance issue: in makes no sense to configure duplicate macros
37// for both plplot_config.h and plConfig.h.  Therefore, when adding a macro
38// decide which file to put it in depending on whether the result is
39// needed for the installed examples build or not.  Furthermore, move
40// configured macros from one file to the other as needed depending on
41// that criterion, but do not copy them.
42
43#ifndef __PLCONFIG_H__
44#define __PLCONFIG_H__
45
46#ifdef PLPLOT_HAVE_CONFIG_H
47#  include <plplot_config.h>
48#endif
49
50// PLplot version information.
51#define PLPLOT_VERSION_MAJOR    @PLPLOT_VERSION_MAJOR@
52#define PLPLOT_VERSION_MINOR    @PLPLOT_VERSION_MINOR@
53#define PLPLOT_VERSION_PATCH    @PLPLOT_VERSION_PATCH@
54#define PLPLOT_VERSION          "@PLPLOT_VERSION@"
55
56// Define if you have c++ accessible stdint.h
57#cmakedefine PL_HAVE_CXX_STDINT_H
58
59// Define if snprintf is available
60#ifndef PL_HAVE_SNPRINTF
61#cmakedefine PL_HAVE_SNPRINTF
62#endif
63
64// Define if _snprintf is available
65#ifndef _PL_HAVE_SNPRINTF
66#cmakedefine _PL_HAVE_SNPRINTF
67#endif
68
69// Define if isfinite is available
70#cmakedefine PL_HAVE_ISFINITE
71
72// Define if finite is available
73#cmakedefine PL_HAVE_FINITE
74
75// Define if _finite is available
76#cmakedefine PL__HAVE_FINITE
77
78// Define if isinf is available
79#cmakedefine PL_HAVE_ISINF
80
81// Define if _isinf is available
82#cmakedefine PL__HAVE_ISINF
83
84// Define if isnan is available
85#cmakedefine PL_HAVE_ISNAN
86
87// Define if _isnan is available
88#cmakedefine PL__HAVE_ISNAN
89
90// Define to 1 if you have the <stdint.h> header file.
91#cmakedefine PL_HAVE_STDINT_H 1
92
93// Define to 1 if you have the <unistd.h> header file.
94#cmakedefine PL_HAVE_UNISTD_H 1
95
96// Define if nanosleep is available
97#cmakedefine PL_HAVE_NANOSLEEP
98
99// Define if you want PLplot's float type to be double
100#cmakedefine PL_DOUBLE
101
102// Define if C++ compiler accepts using namespace
103#cmakedefine PL_USE_NAMESPACE
104
105// Define if isnan is present in <math.h> but not in <cmath>
106// - broken Mac OSX systems
107#cmakedefine PL_BROKEN_ISNAN_CXX
108
109#endif  // __PLCONFIG_H__
110