1/* A manual version of config.h fit for windows machines. */
2
3/* Sometimes we accidentally #include this config.h instead of the one
4   in .. -- this is particularly true for msys/mingw, which uses the
5   unix config.h but also runs code in the windows directory.
6   */
7#ifdef __MINGW32__
8#include "../config.h"
9#define GOOGLE_PERFTOOLS_WINDOWS_CONFIG_H_
10#endif
11
12#ifndef GOOGLE_PERFTOOLS_WINDOWS_CONFIG_H_
13#define GOOGLE_PERFTOOLS_WINDOWS_CONFIG_H_
14
15/* define this if you are linking tcmalloc statically and overriding the
16 * default allocators.
17 * For instructions on how to use this mode, see
18 * http://groups.google.com/group/google-perftools/browse_thread/thread/41cd3710af85e57b
19 */
20#undef WIN32_OVERRIDE_ALLOCATORS
21
22/* Define to 1 if your libc has a snprintf implementation */
23#undef HAVE_SNPRINTF
24
25/* Define to 1 if compiler supports __builtin_stack_pointer */
26#undef HAVE_BUILTIN_STACK_POINTER
27
28/* Define to 1 if you have the <conflict-signal.h> header file. */
29#undef HAVE_CONFLICT_SIGNAL_H
30
31/* Define to 1 if you have the <cygwin/signal.h> header file. */
32#undef HAVE_CYGWIN_SIGNAL_H
33
34/* Define to 1 if you have the declaration of `cfree', and to 0 if you don't.
35   */
36#undef HAVE_DECL_CFREE
37
38/* Define to 1 if you have the declaration of `memalign', and to 0 if you
39   don't. */
40#undef HAVE_DECL_MEMALIGN
41
42/* Define to 1 if you have the declaration of `posix_memalign', and to 0 if
43   you don't. */
44#undef HAVE_DECL_POSIX_MEMALIGN
45
46/* Define to 1 if you have the declaration of `pvalloc', and to 0 if you
47   don't. */
48#undef HAVE_DECL_PVALLOC
49
50/* Define to 1 if you have the declaration of `uname', and to 0 if you don't.
51   */
52#undef HAVE_DECL_UNAME
53
54/* Define to 1 if you have the declaration of `valloc', and to 0 if you don't.
55   */
56#undef HAVE_DECL_VALLOC
57
58/* Define to 1 if you have the <dlfcn.h> header file. */
59#undef HAVE_DLFCN_H
60
61/* Define to 1 if the system has the type `Elf32_Versym'. */
62#undef HAVE_ELF32_VERSYM
63
64/* Define to 1 if you have the <execinfo.h> header file. */
65#undef HAVE_EXECINFO_H
66
67/* Define to 1 if you have the <fcntl.h> header file. */
68#undef HAVE_FCNTL_H
69
70/* Define to 1 if you have the <features.h> header file. */
71#undef HAVE_FEATURES_H
72
73/* Define to 1 if you have the `geteuid' function. */
74#undef HAVE_GETEUID
75
76/* Define to 1 if you have the `getpagesize' function. */
77#define HAVE_GETPAGESIZE 1   /* we define it in windows/port.cc */
78
79/* Define to 1 if you have the <glob.h> header file. */
80#undef HAVE_GLOB_H
81
82/* Define to 1 if you have the <grp.h> header file. */
83#undef HAVE_GRP_H
84
85/* Define to 1 if you have the <inttypes.h> header file. */
86#undef HAVE_INTTYPES_H
87
88/* Define to 1 if you have the <libunwind.h> header file. */
89#undef HAVE_LIBUNWIND_H
90
91/* Define to 1 if you have the <linux/ptrace.h> header file. */
92#undef HAVE_LINUX_PTRACE_H
93
94/* Define to 1 if you have the <malloc.h> header file. */
95#define HAVE_MALLOC_H 1
96
97/* Define to 1 if you have the <malloc/malloc.h> header file. */
98#undef HAVE_MALLOC_MALLOC_H
99
100/* Define to 1 if you have the <memory.h> header file. */
101#undef HAVE_MEMORY_H
102
103/* Define to 1 if you have a working `mmap' system call. */
104#undef HAVE_MMAP
105
106/* define if the compiler implements namespaces */
107#define HAVE_NAMESPACES 1
108
109/* Define to 1 if you have the <poll.h> header file. */
110#undef HAVE_POLL_H
111
112/* define if libc has program_invocation_name */
113#undef HAVE_PROGRAM_INVOCATION_NAME
114
115/* Define if you have POSIX threads libraries and header files. */
116#undef HAVE_PTHREAD
117
118/* Define to 1 if you have the <pwd.h> header file. */
119#undef HAVE_PWD_H
120
121/* Define to 1 if you have the `sbrk' function. */
122#undef HAVE_SBRK
123
124/* Define to 1 if you have the <sched.h> header file. */
125#undef HAVE_SCHED_H
126
127/* Define to 1 if you have the <stdint.h> header file. */
128#undef HAVE_STDINT_H
129
130/* Define to 1 if you have the <stdlib.h> header file. */
131#define HAVE_STDLIB_H 1
132
133/* Define to 1 if you have the <strings.h> header file. */
134#undef HAVE_STRINGS_H
135
136/* Define to 1 if you have the <string.h> header file. */
137#define HAVE_STRING_H 1
138
139/* Define to 1 if the system has the type `struct mallinfo'. */
140#undef HAVE_STRUCT_MALLINFO
141
142/* Define to 1 if you have the <sys/cdefs.h> header file. */
143#undef HAVE_SYS_CDEFS_H
144
145/* Define to 1 if you have the <sys/malloc.h> header file. */
146#undef HAVE_SYS_MALLOC_H
147
148/* Define to 1 if you have the <sys/param.h> header file. */
149#undef HAVE_SYS_PARAM_H
150
151/* Define to 1 if you have the <sys/prctl.h> header file. */
152#undef HAVE_SYS_PRCTL_H
153
154/* Define to 1 if you have the <sys/resource.h> header file. */
155#undef HAVE_SYS_RESOURCE_H
156
157/* Define to 1 if you have the <sys/socket.h> header file. */
158#undef HAVE_SYS_SOCKET_H
159
160/* Define to 1 if you have the <sys/stat.h> header file. */
161#define HAVE_SYS_STAT_H 1
162
163/* Define to 1 if you have the <sys/syscall.h> header file. */
164#undef HAVE_SYS_SYSCALL_H
165
166/* Define to 1 if you have the <sys/types.h> header file. */
167#define HAVE_SYS_TYPES_H 1
168
169/* <sys/ucontext.h> is broken on redhat 7 */
170#undef HAVE_SYS_UCONTEXT_H
171
172/* Define to 1 if you have the <sys/wait.h> header file. */
173#undef HAVE_SYS_WAIT_H
174
175/* Define to 1 if compiler supports __thread */
176#define HAVE_TLS 1
177
178/* Define to 1 if you have the <ucontext.h> header file. */
179#undef HAVE_UCONTEXT_H
180
181/* Define to 1 if you have the <unistd.h> header file. */
182#undef HAVE_UNISTD_H
183
184/* Define to 1 if you have the <unwind.h> header file. */
185#undef HAVE_UNWIND_H
186
187/* Define to 1 if you have the <valgrind.h> header file. */
188#undef HAVE_VALGRIND_H
189
190/* define if your compiler has __attribute__ */
191#undef HAVE___ATTRIBUTE__
192
193/* Define to 1 if compiler supports __environ */
194#undef HAVE___ENVIRON
195
196/* Define to 1 if the system has the type `__int64'. */
197#define HAVE___INT64 1
198
199/* prefix where we look for installed files */
200#undef INSTALL_PREFIX
201
202/* Define to 1 if int32_t is equivalent to intptr_t */
203#undef INT32_EQUALS_INTPTR
204
205/* Define to the sub-directory in which libtool stores uninstalled libraries.
206   */
207#undef LT_OBJDIR
208
209/* Define to 'volatile' if __malloc_hook is declared volatile */
210#undef MALLOC_HOOK_MAYBE_VOLATILE
211
212/* Define to 1 if your C compiler doesn't accept -c and -o together. */
213#undef NO_MINUS_C_MINUS_O
214
215/* Name of package */
216#define PACKAGE "gperftools"
217
218/* Define to the address where bug reports for this package should be sent. */
219#define PACKAGE_BUGREPORT "opensource@google.com"
220
221/* Define to the full name of this package. */
222#define PACKAGE_NAME "gperftools"
223
224/* Define to the full name and version of this package. */
225#define PACKAGE_STRING "gperftools 2.0"
226
227/* Define to the one symbol short name of this package. */
228#define PACKAGE_TARNAME "gperftools"
229
230/* Define to the home page for this package. */
231#undef PACKAGE_URL
232
233/* Define to the version of this package. */
234#define PACKAGE_VERSION "2.0"
235
236/* How to access the PC from a struct ucontext */
237#undef PC_FROM_UCONTEXT
238
239/* Always the empty-string on non-windows systems. On windows, should be
240   "__declspec(dllexport)". This way, when we compile the dll, we export our
241   functions/classes. It's safe to define this here because config.h is only
242   used internally, to compile the DLL, and every DLL source file #includes
243   "config.h" before anything else. */
244#ifndef PERFTOOLS_DLL_DECL
245# define PERFTOOLS_IS_A_DLL  1   /* not set if you're statically linking */
246# define PERFTOOLS_DLL_DECL  __declspec(dllexport)
247# define PERFTOOLS_DLL_DECL_FOR_UNITTESTS  __declspec(dllimport)
248#endif
249
250/* printf format code for printing a size_t and ssize_t */
251#define PRIdS  "Id"
252
253/* printf format code for printing a size_t and ssize_t */
254#define PRIuS  "Iu"
255
256/* printf format code for printing a size_t and ssize_t */
257#define PRIxS  "Ix"
258
259/* Mark the systems where we know it's bad if pthreads runs too
260   early before main (before threads are initialized, presumably).  */
261#ifdef __FreeBSD__
262#define PTHREADS_CRASHES_IF_RUN_TOO_EARLY 1
263#endif
264
265/* Define to necessary symbol if this constant uses a non-standard name on
266   your system. */
267#undef PTHREAD_CREATE_JOINABLE
268
269/* Define to 1 if you have the ANSI C header files. */
270#define STDC_HEADERS 1
271
272/* the namespace where STL code like vector<> is defined */
273#define STL_NAMESPACE  std
274
275/* Version number of package */
276#undef VERSION
277
278/* C99 says: define this to get the PRI... macros from stdint.h */
279#ifndef __STDC_FORMAT_MACROS
280# define __STDC_FORMAT_MACROS 1
281#endif
282
283/* Define to `__inline__' or `__inline' if that's what the C compiler
284   calls it, or to nothing if 'inline' is not supported under any name.  */
285#ifndef __cplusplus
286#undef inline
287#endif
288
289// ---------------------------------------------------------------------
290// Extra stuff not found in config.h.in
291
292// This must be defined before the windows.h is included.  We need at
293// least 0x0400 for mutex.h to have access to TryLock, and at least
294// 0x0501 for patch_functions.cc to have access to GetModuleHandleEx.
295// (This latter is an optimization we could take out if need be.)
296#ifndef _WIN32_WINNT
297# define _WIN32_WINNT 0x0501
298#endif
299
300// We want to make sure not to ever try to #include heap-checker.h
301#define NO_HEAP_CHECK 1
302
303// TODO(csilvers): include windows/port.h in every relevant source file instead?
304#include "windows/port.h"
305
306#endif  /* GOOGLE_PERFTOOLS_WINDOWS_CONFIG_H_ */
307