Pass local scope precision from compiler to vvp/etc.
[iverilog.git] / vvp / config.h.in
blobbc12239535c73e65ccd3b2bdc7c02974b79941fb
1 #ifndef __config_H
2 #define __config_H
3 /*
4 * Copyright (c) 2001 Stephen Williams (steve@icarus.com)
6 * This source code is free software; you can redistribute it
7 * and/or modify it in source code form under the terms of the GNU
8 * General Public License as published by the Free Software
9 * Foundation; either version 2 of the License, or (at your option)
10 * any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
21 #ifdef HAVE_CVS_IDENT
22 #ident "$Id: config.h.in,v 1.24 2007/06/13 01:03:57 steve Exp $"
23 #endif
25 #if defined(__cplusplus)
26 # if !defined(__GNUC__)
27 using namespace std;
28 # elif (__GNUC__ == 3)
29 using namespace std;
30 # endif
31 #endif
33 # define SIZEOF_UNSIGNED_LONG_LONG 0
34 #ifndef SIZEOF_UNSIGNED_LONG
35 # define SIZEOF_UNSIGNED_LONG 0
36 #endif
37 # define SIZEOF_UNSIGNED 0
39 # undef NEED_LU
40 # undef NEED_TU
41 # undef WLU
42 # undef WTU
43 # undef HAVE_IOSFWD
44 # undef HAVE_DLFCN_H
45 # undef HAVE_DL_H
46 # undef HAVE_GETOPT_H
47 # undef HAVE_MALLOC_H
48 # undef HAVE_LIBREADLINE
49 # undef HAVE_READLINE_READLINE_H
50 # undef HAVE_READLINE_HISTORY_H
51 # undef HAVE_INTTYPES_H
52 # undef HAVE_LROUND
53 # undef HAVE_NAN
55 /* Figure if I can use readline. */
56 #undef USE_READLINE
57 #ifdef HAVE_LIBREADLINE
58 #ifdef HAVE_READLINE_READLINE_H
59 # define USE_READLINE
60 #endif
61 #endif
63 #ifndef MODULE_DIR
64 # define MODULE_DIR "."
65 #endif
67 #ifdef HAVE_INTTYPES_H
68 # include <inttypes.h>
69 #endif
71 #if SIZEOF_UNSIGNED >= 8
72 typedef unsigned vvp_time64_t;
73 # define TIME_FMT ""
74 #else
75 # if SIZEOF_UNSIGNED_LONG >= 8
76 typedef unsigned long vvp_time64_t;
77 # define TIME_FMT "l"
78 # else
79 # if SIZEOF_UNSIGNED_LONG_LONG > SIZEOF_UNSIGNED_LONG
80 typedef unsigned long long vvp_time64_t;
81 # define TIME_FMT "ll"
82 # else
83 typedef unsigned long vvp_time64_t;
84 # define TIME_FMT "l"
85 # endif
86 # endif
87 #endif
89 # include <math.h>
91 /* getrusage, /proc/self/statm */
93 # undef HAVE_SYS_RESOURCE_H
94 # undef LINUX
96 #if !defined(HAVE_LROUND)
97 #if defined(__cplusplus)
98 extern "C" long lround(double x);
99 #else
100 extern long lround(double x);
101 #endif
102 #endif
104 #if !defined(HAVE_NAN)
105 # define nan(x) (NAN)
106 #endif
108 #if !defined(INFINITY)
109 # define INFINITY HUGE_VAL
110 #endif
113 * When doing dynamic linking, we need a uniform way to identify the
114 * symbol. Some compilers put leading _, some trailing _. The
115 * configure script figures out which is the local convention and
116 * defines NEED_LU and NEED_TU as required.
118 #ifdef NEED_LU
119 #define LU "_"
120 #else
121 #define LU ""
122 #endif
124 #ifdef NEED_TU
125 #define TU "_"
126 #else
127 #define TU ""
128 #endif
131 * $Log: config.h.in,v $
132 * Revision 1.24 2007/06/13 01:03:57 steve
133 * Detect and use the nan function.
135 * Revision 1.23 2007/02/02 04:33:01 steve
136 * Use inttypes.h instead of stdint.h for portability.
138 * Revision 1.22 2006/04/27 05:04:59 steve
139 * Detect missing lround function.
141 * Revision 1.21 2006/04/25 22:41:10 steve
142 * Detect the presence of stdint.h
144 * Revision 1.20 2005/09/14 02:50:07 steve
145 * Add word integer compares.
147 * Revision 1.19 2005/04/13 06:34:20 steve
148 * Add vvp driver functor for logic outputs,
149 * Add ostream output operators for debugging.
151 * Revision 1.18 2004/10/04 01:10:59 steve
152 * Clean up spurious trailing white space.
154 * Revision 1.17 2004/05/18 18:45:11 steve
155 * Handle explicit set of unsigned long width. For -m32
157 * Revision 1.16 2003/08/26 16:26:02 steve
158 * ifdef idents correctly.
160 * Revision 1.15 2003/05/20 03:48:23 steve
161 * Fix spelling of HAVE_LIBREADLINE
163 * Revision 1.14 2003/05/16 03:50:28 steve
164 * Fallback functionality if readline is not present.
166 * Revision 1.13 2003/03/13 20:31:40 steve
167 * Warnings about long long time.
169 * Revision 1.12 2003/03/13 04:36:57 steve
170 * Remove the obsolete functor delete functions.
172 * Revision 1.11 2002/05/24 00:43:16 steve
173 * Define SIZEOF_UNSIGNED_LONG_LONG
175 * Revision 1.10 2002/04/20 04:33:23 steve
176 * Support specified times in cbReadOnlySync, and
177 * add support for cbReadWriteSync.
178 * Keep simulation time in a 64bit number.
180 * Revision 1.9 2001/10/20 01:03:42 steve
181 * Print memory usage information if requested (Stephan Boettcher)
183 * Revision 1.8 2001/09/17 22:26:33 steve
184 * Detect C name mangling for dlsym.
186 * Revision 1.7 2001/09/15 18:27:05 steve
187 * Make configure detect malloc.h
189 * Revision 1.6 2001/07/16 18:40:19 steve
190 * Add a stdlog output for vvp, and vvp options
191 * to direct them around. (Stephan Boettcher.)
193 * Revision 1.5 2001/05/11 02:06:14 steve
194 * Add the --enable-vvp-debug option to the configure
195 * script of vvp, and detect getopt.h.
197 * Revision 1.4 2001/05/05 23:55:46 steve
198 * Add the beginnings of an interactive debugger.
200 * Revision 1.3 2001/03/22 21:26:53 steve
201 * Compile in a default VPI module dir.
203 * Revision 1.2 2001/03/16 01:44:34 steve
204 * Add structures for VPI support, and all the %vpi_call
205 * instruction. Get linking of VPI modules to work.
207 * Revision 1.1 2001/03/11 00:29:38 steve
208 * Add the vvp engine to cvs.
211 #endif