Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(119)

Unified Diff: third_party/tcmalloc/chromium/src/config_win.h

Issue 9323026: [NOT TO COMMIT!] r109: Diff of the current tcmalloc from the original google-perftools r109. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/tcmalloc/chromium/src/config_linux.h ('k') | third_party/tcmalloc/chromium/src/free_list.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/tcmalloc/chromium/src/config_win.h
diff --git a/third_party/tcmalloc/chromium/src/config.h.in b/third_party/tcmalloc/chromium/src/config_win.h
similarity index 73%
copy from third_party/tcmalloc/chromium/src/config.h.in
copy to third_party/tcmalloc/chromium/src/config_win.h
index 9112951d8b41056a9be5e0f64a45792b78d35899..db4c51886c036691c73957fa3786293abd28c290 100644
--- a/third_party/tcmalloc/chromium/src/config.h.in
+++ b/third_party/tcmalloc/chromium/src/config_win.h
@@ -1,9 +1,35 @@
-/* src/config.h.in. Generated from configure.ac by autoheader. */
+/* A manual version of config.h fit for windows machines. */
+/* Sometimes we accidentally #include this config.h instead of the one
+ in .. -- this is particularly true for msys/mingw, which uses the
+ unix config.h but also runs code in the windows directory.
+ */
+#ifdef __MINGW32__
+#include "../config.h"
+#define GOOGLE_PERFTOOLS_WINDOWS_CONFIG_H_
+#endif
+
+#ifndef GOOGLE_PERFTOOLS_WINDOWS_CONFIG_H_
+#define GOOGLE_PERFTOOLS_WINDOWS_CONFIG_H_
-#ifndef GOOGLE_PERFTOOLS_CONFIG_H_
-#define GOOGLE_PERFTOOLS_CONFIG_H_
+/* define this if you are linking tcmalloc statically and overriding the
+ * default allocators.
+ * For instructions on how to use this mode, see
+ * http://groups.google.com/group/google-perftools/browse_thread/thread/41cd3710af85e57b
+ */
+#define WIN32_OVERRIDE_ALLOCATORS
+/* the location of <hash_map> */
+#define HASH_MAP_H <hash_map>
+
+/* the namespace of hash_map/hash_set */
+#define HASH_NAMESPACE stdext
+
+/* the location of <hash_set> */
+#define HASH_SET_H <hash_set>
+
+/* Define to 1 if your libc has a snprintf implementation */
+#undef HAVE_SNPRINTF
/* Define to 1 if compiler supports __builtin_stack_pointer */
#undef HAVE_BUILTIN_STACK_POINTER
@@ -57,7 +83,7 @@
#undef HAVE_GETEUID
/* Define to 1 if you have the `getpagesize' function. */
-#undef HAVE_GETPAGESIZE
+#define HAVE_GETPAGESIZE 1 /* we define it in windows/port.cc */
/* Define to 1 if you have the <glob.h> header file. */
#undef HAVE_GLOB_H
@@ -65,6 +91,12 @@
/* Define to 1 if you have the <grp.h> header file. */
#undef HAVE_GRP_H
+/* define if the compiler has hash_map */
+#define HAVE_HASH_MAP 1
+
+/* define if the compiler has hash_set */
+#define HAVE_HASH_SET 1
+
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
@@ -87,7 +119,7 @@
#undef HAVE_MMAP
/* define if the compiler implements namespaces */
-#undef HAVE_NAMESPACES
+#define HAVE_NAMESPACES 1
/* Define to 1 if you have the <poll.h> header file. */
#undef HAVE_POLL_H
@@ -103,7 +135,6 @@
/* Define to 1 if you have the `sbrk' function. */
#undef HAVE_SBRK
-
/* Define to 1 if you have the <sched.h> header file. */
#undef HAVE_SCHED_H
@@ -111,13 +142,13 @@
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
+#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
+#define HAVE_STRING_H 1
/* Define to 1 if the system has the type `struct mallinfo'. */
#undef HAVE_STRUCT_MALLINFO
@@ -141,13 +172,16 @@
#undef HAVE_SYS_SOCKET_H
/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
+#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/syscall.h> header file. */
#undef HAVE_SYS_SYSCALL_H
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
+#define HAVE_SYS_TYPES_H 1
/* <sys/ucontext.h> is broken on redhat 7 */
#undef HAVE_SYS_UCONTEXT_H
@@ -167,9 +201,6 @@
/* Define to 1 if you have the <unwind.h> header file. */
#undef HAVE_UNWIND_H
-/* Define to 1 if you have the <valgrind.h> header file. */
-#undef HAVE_VALGRIND_H
-
/* define if your compiler has __attribute__ */
#undef HAVE___ATTRIBUTE__
@@ -177,7 +208,7 @@
#undef HAVE___ENVIRON
/* Define to 1 if the system has the type `__int64'. */
-#undef HAVE___INT64
+#define HAVE___INT64 1
/* prefix where we look for installed files */
#undef INSTALL_PREFIX
@@ -221,26 +252,30 @@
functions/classes. It's safe to define this here because config.h is only
used internally, to compile the DLL, and every DLL source file #includes
"config.h" before anything else. */
-#undef PERFTOOLS_DLL_DECL
+#ifndef PERFTOOLS_DLL_DECL
+# define PERFTOOLS_IS_A_DLL 1 /* not set if you're statically linking */
+# define PERFTOOLS_DLL_DECL __declspec(dllexport)
+# define PERFTOOLS_DLL_DECL_FOR_UNITTESTS __declspec(dllimport)
+#endif
/* printf format code for printing a size_t and ssize_t */
-#undef PRIdS
+#define PRIdS "Id"
/* printf format code for printing a size_t and ssize_t */
-#undef PRIuS
+#define PRIuS "Iu"
/* printf format code for printing a size_t and ssize_t */
-#undef PRIxS
+#define PRIxS "Ix"
/* Define to necessary symbol if this constant uses a non-standard name on
your system. */
#undef PTHREAD_CREATE_JOINABLE
/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
+#define STDC_HEADERS 1
/* the namespace where STL code like vector<> is defined */
-#undef STL_NAMESPACE
+#define STL_NAMESPACE std
/* Version number of package */
#undef VERSION
@@ -256,10 +291,21 @@
#undef inline
#endif
+// ---------------------------------------------------------------------
+// Extra stuff not found in config.h.in
-#ifdef __MINGW32__
-#include "windows/mingw.h"
+// This must be defined before the windows.h is included. We need at
+// least 0x0400 for mutex.h to have access to TryLock, and at least
+// 0x0501 for patch_functions.cc to have access to GetModuleHandleEx.
+// (This latter is an optimization we could take out if need be.)
+#ifndef _WIN32_WINNT
+# define _WIN32_WINNT 0x0501
#endif
-#endif /* #ifndef GOOGLE_PERFTOOLS_CONFIG_H_ */
+// We want to make sure not to ever try to #include heap-checker.h
+#define NO_HEAP_CHECK 1
+
+// TODO(csilvers): include windows/port.h in every relevant source file instead?
+#include "windows/port.h"
+#endif /* GOOGLE_PERFTOOLS_WINDOWS_CONFIG_H_ */
« no previous file with comments | « third_party/tcmalloc/chromium/src/config_linux.h ('k') | third_party/tcmalloc/chromium/src/free_list.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698